버전이 달라져서 그런지 저 영상에서의 Get Player Character 랑 Cast To My Character가 없어서 한동안 해맸습니다. 카페에서도 딱히 묻기도 그렇고 하다가 유튜브 동영상에 댓글단것 보고 해결을 하였습니다. 그 중에서 http://www.cnblogs.com/Baesky/p/WarningInConstructBP.html 여기에 보면 따로 함수를 만들어서 사용하는 것이 있어서 해보니 되더군요. 하지만 Cast To MyCharacter의 경우 아래처럼 ThirdPersonCharacter에 형변환을 해서 사용을 합니다. 최종적으로는 이런식으로 위에서 만든 함수 녀석이랑 연결하면 됩니다. 위에 함수를 만들면서아래 이미지 처럼 Get Power Up Timeline이 아래에서 처럼 나..
abstract class Animal { public abstract void cry(); }; class Dog : Animal { public override void cry() { Console.WriteLine("멍멍"); } }; C#에서는 추상 클래스로 만들기위해서 위의 코드와 같이 class 키워드 앞에 abstract 키워드를 붙여주어야 합니다. 그리고 public abstract void cry()와 같이 abstract를 함수에 붙여주면 그것으로 추상 함수가 됩니다. C++에서의 순수가상함수 이죠. 그리고 C++에서와 마찬가지로 이 클래스를 상속받는 파생클래스는 이 함수를 오버라이드해야 합니다. 또 C++에서와 같이 추상클래스는 객체를 생성할 수가 없습니다.
class aa { private int v; public int vg { set { v = value; } get { return v; } } }; class Program { static void Main(string[] args) { aa ss = new aa(); ss.vg = 2; Console.WriteLine(ss.vg); } } 클래스 aa의 멤버변수 int형 v는 private로 접근권한이 설정되어 있습니다. 그래서 외부에서 사용시 컴파일 에러가 나게되는데 c++에선 그럴떄 따로 set함수를 만들어 줌니다. 하지만 c#에선 set과 더불어 get도 따로 키워드가 존재합니다. 그 속성정의의 이름은 vg이며 set을 정의하지 않으면 외부에서 해당 vg의 int형 v에 값을 줄 수가 없고 반대..
동일한 목적의 알고리즘 선택을 적용하고자 할때 전략패턴을 사용하고자 합니다. 가령 스타크래프트에서 저글링을 선택 후 공격하고자 하때나 히드라 리스크를 선택하여 공격할때 해당 유닛의 공격방식도 달라집니다. 그리고 전략패턴의 경우 상태패턴과 거의 같습니다. 책을 봐도 구현방식같은 경우 거의 같은 것 같습니다. 단지 차이점이라면 상태패턴은 내부 상태에 의해 상태가 변경이 가능하다는 점입니다. 그렇지만 디자인패턴을 꼭 이 상황에 이렇게 넣겠다는 것보다는 적절하게 상황에 맞게 쓰는 게 좋을 듯 합니다. 아래는 간단한 다이어 그램입니다. cBubbleSort와 cQuickSort는 cSortAlgoritm 인터페이스를 상속하여 각각의 Sort함수를 오버라이딩 합니다. 그리고 cIntegerArray클래스에서 해당 ..