본문 바로가기

PubSub 기반의 게임 프로그래밍 * 오브젝트끼리의 디커플링* 메세지(이벤트)를 보낸사람이 누구인가는 중요하지 않다. * 네트워크에서오던, 로컬에서오던 똑같은 프로토콜로 통신하고 그냥 받아서 처리만 한다.* 쓸데없는 게임 매니저 잔뜩 만들어놓지 않아도 됨* 온라인/싱글간에 전환이 쉽다.* 목업 만들기 쉽다.* 이벤트를 시간순대로 출력하면 그 자체로 액티비티 로그가 완성됨* 이벤트의 순서와 값들을 살펴보면 어디부터 잘못 흘러가는지 알 수 있어 디버깅이 용이* 리플레이 제작이 용이, 그냥 이벤트 시간순대로 로컬에서 다시쏘면 코드 변경 없이 리플레이 됨* 내부적으로만 사용되지만, 외부에서 불르기는 해야하기때문에 무조건 public 으로 만들어야만 했던 메소드들을 완벽하게 숨길 수 있음.* 잘못된 씬 또는, 없는 오브젝트에 패킷을 배달할일이 없.. 더보기
C++의 Nested Namespace http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html C++17 예상 목록에 포함된 중첩 네임스페이스, 이미 죽을대로 다 죽은 망겜에서 진작에 했어야됬는데 안한거 이제서야 패치하는느낌 더보기
[C#] Activator.CreateInstance 가 생성자를 못 찾을 때 Activator.CreateInstance 메소드가 가끔 생성자를 찾지 못하고 MissingMethodException 을 발생시킬때가 있습니다. 이는 해당 메소드가 조금 멍청해서, 주어진 정보로 알맞은 생성자를 찾아내지 못해서 발생하는 문제인데, 이 경우에는 Activator.CreateInstance 메소드를 사용하는것이 아닌 직접 생성자 메소드를 찾아서 Invoke로 호출해줘야 합니다. 코드는 아래와 같습니다. var instance = new TypeToConstruct(1234, "hello"); Type[] argTypes = new Type[] { /* TYPES */ typeof(int), typeof(string) }; object[] argValues = new object[] { /.. 더보기