[디자인패턴 with Unity] 전략 패턴
·
CS/디자인패턴 with Unity
전략 패턴의 미적용 사례 게임 내에서 플레이가 멈춰 있는 경우는 거의 없다. 따라서 런타임에 게임 오브젝트는 변하는 상황에 따라 업데이트되어야 한다. 전투 시스템에서 플레이어블 캐릭터가 근접 공격, 원거리 공격 등 다양한 공격 모드로 전환하는 경우를 예시로 들 수 있다. 이때, switch 문장을 이용해서 플레이어의 공격 모드를 관리한다면 어떻게 될까? 공격 모드의 경우가 적다면 별 상관이 없을 것이라 생각할 수 있지만, 공격 모드가 점점 추가된다면 switch 구문에 추가되는 공격 모드에 대응하는 코드를 매번 작성해야만 한다. 이것은 굉장히 비효율적이고 개방-폐쇄 원칙에 위배된다. 123456789101112131415161718void Ability(Ability ability){ switch ..