[TIL] 2025-06-17 구체 클래스 설계 문제, 나이아가라 적용, 경고창 UI 구현
2025-06-17 TIL
최종 프로젝트
구체 클래스 설계 문제
특정 게임모드에서 Get
해야하는 값이 있을 때, 거점과 던전 두 게임모드를 모두 호출해보아야하는 문제가 있었습니다.
이 문제는 특정 게임모드들이 가지고있는 스폰 매니저를 가져와야했기 때문에 발생했습니다.
이 문제를 해결하기 위해, 공통 부모 클래스를 도입할지 또는 인터페이스를 사용할지에 대한 구조적인 고민이 있었습니다.
이 고민은 코드의 중복을 제거하고, 구조를 명확하게 해주고, 결합도를 낮추는 설계에 있었습니다.
최종적으로는 스폰 매니저의 사용 방식이나 내부 로직이 게임모드마다 달라질 가능성이 있다고 판단하여, 인터페이스를 도입하기로 결정했습니다.
각 게임모드에서 해당 인터페이스를 상속하여 함수를 구현하므로, 구체 클래스에 의존하지 않고 스폰 매니저에 접근 할 수 있었습니다.
이로써, 문제는 해결됐고, 유지보수와 확장에도 유리한 방향으로 설계가 되었습니다.
나이아가라 적용
레벨을 이동시켜주는 액터에 나이아가라를 사용해서 포탈 모양의 VFX를 적용해주었습니다.
이번에 적용한 나이아가라는 별도의 기능이 필요하지 않고, 단순하게 재생만 시키면 됐기 때문에 별다른 어려움이 없이 구현해낼 수 있었습니다.
경고창 UI 구현
현재 진행 중인 프로젝트에서 던전에서 획득한 재료를 다른 곳으로 옮길 수 있습니다.
만약 이 시스템에서 옮길 수 있는 수량보다 적은 수량을 선택하면 경고창을 띄워주어 유저의 선택을 다시 확인하는 기능을 구현했습니다.
해당 UI를 구현하는 것이 크게 어렵지는 않았는데, UI에 대한 부분도 어느정도 적응되어 구현에 익숙해진 것 같습니다.
댓글남기기