유니티 버전 - 6000.0.40f1
목차
- OnValueChaned 이벤트
- SetValueWithoutNotify()
OnValueChaned 이벤트
세팅 설정 팝업에서 변경사항이 있지만 저장하지않고 다음 탭으로 넘어갈때, 이것을 체크하여 저장or캔슬 팝업을 띄우고자하였지만 변경사항이 없는데도 팝업이 뜨는 문제가 발생하였습니다
그 이유는 팝업을 활성화 할때마다 드롭다운의 값을 사용자 지정값으로 불러오는 로직이 존재하였는데
Dropdown.value = 로직이 드롭다운의 값을 설정함과 동시에 OnValueChaned 호출하고 내부 로직에 의해 변경 사항을 추적하는 변수가 true로 변경되어, 팝업을 활성화하였을뿐이지만 변경사항이 있는것처럼 동작하였습니다
SetValueWithoutNotify()
위 메서드를 이용하여 드롭다운의 값을 초기화할 때, On Value Changed 이벤트를 발생시키지 않고 값을 설정할 수 있었습니다
resolutionsDropdown.SetValueWithoutNotify(Managers.Data.systemData.resolutionsIndex);
graphicsSettingDropdown.SetValueWithoutNotify(Managers.Data.systemData.graphicsQualityIndex);
이제 팝업을 활성화(OnEnable) 할때 사용자 지정 값으로 드롭다운을 초기화해주면서도 On Value Changed 이벤트로부터 영향을 받지않게 되었습니다
'코드 및 공부 > UI' 카테고리의 다른 글
버튼 OnClick에 async 메서드가 등록되지 않는 문제 (0) | 2025.03.04 |
---|