728x90
반응형
- 개요
현재 플레이어가 누구인지 판단하여 플레이어의 턴을 표시할 수 있도록 설정한다
- 서버 + 클라이언트 공용
1) MarkType 클래스

MarkType 클래스를 추가하여 첫 번째 플레이어인지, 두 번째 플레이어인지 설정한다
- 클라이언트 사이드
1) GameManager 클래스

위와 같이 5개의 프로퍼티를 추가한다
- MyUserName 프로퍼티 : 플레이어 자기자신의 이름
- MyType 프로퍼티 : 플레이어 자기자신의 MarkType
- OpponentUserName 프로퍼티 : 상대 플레이어의 이름
- OpponentType 프로퍼티 : 상대 플레이어의 MarkType
- IsMyTurn 프로퍼티 : 현재 게임의 턴이 나의 턴인지 판단

RegisterGame 함수에 위와 같이 로직을 추가한다
플레이어 자기자신이 첫 번째 플레이어인지, 두 번째 플레이어인지 판단하여 값을 설정한다
2) UI_Login 클래스

CoLogin 코루틴 함수에 위의 로직을 추가하여 플레이어 로그인한 사용자 정보를 이용하여 플레이어 자기자신을 설정한다
3) UI_Turn 클래스

인게임 UI에서 게임의 턴을 표시하는 UI에 사용하는 클래스를 생성한다
멤버변수의 구성은 위와 같다
- _xUserNameColor 멤버변수 : 첫 번째 플레이어 이름 색깔
- _yUserNameColor 멤버변수 : 두 번째 플레이어 이름 색깔
- _playerText 멤버변수 : 자기자신 또는 상대방을 표현하는 텍스트

Awakw 함수는 위와 같이 구성하여 _playerText 멤버변수의 값을 계층구조에서 찾아와 설정한다

OnEnable 함수를 위와 같이 구성한다
플레이어 자기자신의 텍스트 색깔과 상대 플레이어의 텍스트 색깔을 설정하고
누구의 턴인지에 따라서 UI에 텍스트를 적용한다
이후 LeanTween 패키지를 사용하여 해당 UI를 강조한다
- 최종 실행 결과
728x90
반응형
'유니티 엔진 - 게임 프로젝트 > 데디케이트 기반 모바일 게임' 카테고리의 다른 글
| 인게임 구현 - 4) 보드판에 놓여진 마커 검증 + 승패 판단 (0) | 2026.01.06 |
|---|---|
| 인게임 구현 - 3) 보드판의 구성과 네트워크 통신 (0) | 2026.01.05 |
| 인게임 구현 - 1) 클라이언트의 GameManager 클래스 (0) | 2025.12.29 |
| 로비 구현 - 최종) 다른 상대 탐색 (0) | 2025.12.23 |
| 로비 구현 - 5) 다른 상대 탐색 준비 (0) | 2025.12.22 |