Indicator에 조작 가이드 UI를 추가했습니다.
좌(WASD)는 붉은 색으로,
우(상하좌우)는 초록색으로 보여주도록 디자인했습니다.
특별히 새로 만든 스크립트는 없었으며
public partial interface IUIIndicatorPresenter
{
public enum LeftGuideType
{
Movable,
Clamped,
}
public void SetLeftGuide(Direction direction, LeftGuideType guideType);
public void SetLeftGuide(Dictionary<Direction, LeftGuideType> guideSets);
public void SetLeftGuide(Navigation navigation);
}
//좌,우별로 새로 파일 만들어서 partial로 interface 확장
public partial interface IUIIndicatorPresenter
{
public void SetRightGuide(params Direction[] directions);
}
구현 메소드는 약간 복잡한지라 굳이 올리지는 않았으나
Direction을 받아서 Image의 Alpha를 수정한다던가 UniTask로 깜빡이게 하는 등 원시적인 로직입니다.
그나저나 해당 기능을 만들면서 하도 오류가 자주 발생해서 골머리를 썩였는데,
씬을 A->B로 변경하는 동안 라이프사이클이 생각했던 거랑 약간 다르게 돌아가더라구요.
제가 알기로는 A->B 씬 전환 호출 -> A 씬의 오브젝트들 OnDestroy -> A의 오브젝트들 파괴 -> B 씬 전환 및 B 오브젝트들의 Awake 실행
이렇게 흘러가야 할텐데 로그를 찍어보니
A->B 씬 전환 호출 -> B 오브젝트들 Awake 호출 -> A 신의 오브젝트들 OnDestroy -> A의 오브젝트들 파괴(추정)
로그가 요래 나오더랍니다.
씬 모드도 Single로 설정했는데 어째 요래 되는지가 참 의문스러웠습니다.
'무제_LR' 카테고리의 다른 글
| 게임 컨셉 결정, 에너지 시스템 추가 (1) | 2025.12.16 |
|---|---|
| 스테이지 별 카메라 설정 (0) | 2025.12.08 |
| Progress UI - Stage UI에 적용 (0) | 2025.12.04 |
| 마우스 없이 키보드로만 조작하는 Progress 기반 UI 제작 (0) | 2025.12.03 |
| UI Indicator 만들기 만들기(Selctable, Navigation) (0) | 2025.11.26 |