기능기능을 완성완성하고 넘어가는 것이 아니라, 다음에 이용할 의미있는 무언가를 발견해서 남겨두는 게 필요하구만!

visual studio가 제공하는 변경 서명을 이용하면 같은 이름의 함수도 검색해서 뭔가 적용을 하는 것 같다. EnigneNew의 메소드를 변경한건데, Engine도 파일이 edited 되었지만 Engine의 내용을 보면 실제로 변경된 건 없다.

새로운 class 추가하고 regacy 삭제하는 방법

  1. 상속관계는 가장 구체적인 class부터 상위로 올라가며 class 정리하자.
  2. regacy class/header 파일을 삭제한다.
  3. 신규 class의 이름을 변경 서명으로 regacy와 동일한 것으로 변경한다.
  4. 신규 class/header 파일의 이름을 regacy와 동일한 것으로 변경한다.

느낀점

architecture의 변경은 너무 큰일이다. 함께 개발한다고 치면 어딘가서 feature는 만들어야 하니 architecture 변경 때문에 멈출 순 없는 일이다. component는 계속 변하는 것이라 했다. 의존성 주입을 쓴다면 주입하는 멤버를 New class에서 받아서 새롭게 만드는 것으로 부분만 변경하는 것도 가능해보인다.

Level을 새롭게 만들며 ReplicationManager를 singleton이 아닌 형태로 변경이 필요했다. Level로 WorldServer를 대체해놓고 WorldServer가 사용하는 것들의 참조를 지워가며 없앴더라면 XYZNew class를 중간에 만들지 않아도 되었을까?

BadmintonNet/Bottom을 구현했다. dynamic한 object는 주기적으로 replication 해야하지만, static한 object는 그러지 않아야 하기에 StaticGameObject를 만들어 분리했다.

ReplicationUpdate를 이용해 client로 넘겨주는 코드를 짠다. client에서는 받아서 Net, Bottom을 생성해주도록 한다. 그러려면 사이즈도 함께 넘겨줘야 한다.