유니티 엔진 - 게임 프로젝트/데디케이트 기반 모바일 게임

인게임 구현 - 2) 플레이어의 턴 표시

monstro 2025. 12. 29. 17:34
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
반응형