sdman.log
로그인
sdman.log
로그인
UI 버튼 Event 자동 맵핑화
이재형
·
2025년 6월 18일
팔로우
0
C#
UI
Unity
button
mapping
MinerFergus 개발 정리
목록 보기
2/10
개발 목적
UI의 버튼에 메서드를 자동으로 맵핑해주는 기능을 생성
구조 진행 순서
1. UI의 버튼의 Event를 추가하는 CS를 생성
2. UI의 클래스에 버튼 오브젝트 이름과 같은 이름으로 메서드 생성
3. 생성한 이름과 메서드를 딕셔너리에 저장
4. UI가 동적 생성하고 맵핑 실행
1. UI의 Event를 관리하는 클래스 생성
UI_Function.CS를 만들어 버튼의 맵핑하기 위한 컴포넌트 세팅하고
FuctionMapping을 추상화하여 강제성을 부여 UI의 CS에서 맵핑을 하는 메서드를 생성
UI의 CS생성 후 UI_Fuction, UIInit을 상속
배열 buttons에 GetComponentsInChildren<Button>컴포넌트를 저장
이후 버튼 Event에 Foreach로 메서드를 추가하는 기능 생성
2. UI의 클래스에 버튼 오브젝트 이름으로 메서드 생성
예시: Intro UI
하이라키뷰에서 버튼의 오브젝트 이름을 정의
버튼 오브젝트와 같은 이름으로 메서드 생성 후 관련 기능 추가
3. 생성한 이름(키)과 메서드(값)를 딕셔너리에 저장
<String, UnityAction>형식으로 딕셔너리로 저장
4. UI가 동적 생성하고 맵핑 실행
UIManager에서 UIInit(인터페이스)를 실행
동적 생성한 UI(탈출)
동적 생성한 UI를 한번에 인터페이스(UIInit으로 실행)
씬에 생성한 UI(인트로)
씬에서 시작하므로 Start에서 실행
실제 인게임 이미지
CS 이미지
버튼 컴포넌트에 이벤트가 없는 상황
버튼을 클릭 후 로그에 뜨는 것을 볼 수 있음
마무리하면서...
현재 UI가 생성된 이후에 처음에만 자동 맵핑을 하도록 설계가 되어있는데
나아가 게임 도중에서 이벤트를 추가해주는 기능을 추가하는 방식도 고려해야 할 것
이재형
한국사람
팔로우
이전 포스트
딕셔너리로 UI 관리
다음 포스트
Resources에서 Addressable로 생성 로직 변경
0개의 댓글
댓글 작성