김김김의 게임개발
  • 유니티 게임개발 - 최종 프로젝트 #19
    2023년 11월 23일 20시 43분 20초에 업로드 된 글입니다.
    작성자: noun06

    오브젝트 풀링을 활용하여 적 투사체를 발사하는 방식으로 성능을 향상시켰다.

    다음으로 옵저버 패턴을 사용하여 체력 상태 전환을 하였다.

    열거형으로 세가지 상태를 표현하고 체력 상태 옵저빙에 사용되는 인터페이스를 제작하였다.

    이 인터페이스를 구현하는 클래스는 OnHealthStateChanged 메서드를 통해 변화에 대한 알림을 받는다.

    체력 상태의 옵저버들을 관리하는 클래스를 만들고 내부에서 옵저버를 추가하거나 제거한다.

    기존의 HealthSystem 클래스에서는 상태 프로퍼티를 통해 일정 값 이하일때 특정 열거형을 반환한다.

    데미지가 들어올때 마다 옵저버를 통해 알림을 받아 상태를 체크한다.

    이를 통해 체력 시스템과 체력 상태 관찰을 분리하여 캡슐화하였고 확장성을 높혔다.

    이벤트 기반 데미지 및 죽음 등 동작을 정의하여 느슨한 결합을 유지하려고 노력하였다.

    댓글