- 개요
기존의 서바이버 게임에 팀 게임 모드를 추가하여 팀전으로 게임을 진행할 수 있도록 설정한다
팀은 레드 팀과 블루 팀으로 나뉘어 시간안에 많은 킬 카운트를 쌓은 팀이 승리한다
- 스크립트 작업
1) LobbyManager 클래스

서바이버 게임이 진행될 Lobby와 팀 게임이 진행될 Lobby의 이름을 설정한다
2) UI_NickName 클래스

teamMode 불리언 변수를 추가하여 해당 게임이 팀 게임인지 아닌지 설정한다
3) DisplayColor 클래스

위 2개의 변수를 추가하여 팀 게임인지 판단하고, 플레이어 메쉬에 적용할 머티리얼을 설정한다

Start 함수에서 팀 게임인지 판단하여 변수의 값을 설정한다

ApplyColor 함수를 위와 같이 수정하여 게임 모드에 따라 다른 색상을 플레이어의 메쉬에 적용한다
4) UIManager 클래스


UIManager에서 팀전 게임 모드에서 사용할 점수판 UI를 등록 + 등록해제 + 탐색하기 위한 코드를 추가한다
5) UI_TeamKillCountPanel 클래스

팀전 게임 모드에서 사용할 점수판 UI의 멤버변수를 추가한다
기본적인 구성은 서바이버 게임 모드의 점수판 UI와 동일하다
- RedTeamKills 멤버변수 : 레드팀 멤버들의 점수 총합
- BlueTeamKills 멤버변수 : 블루팀 멤버들의 점수 총합

UpdateTeamScoreBoard 함수를 추가하고 해당 함수를 호출하여 점수판을 갱신한다
플레이어들의 점수를 저장한뒤에, 절반으로 잘라 레드 팀과 블루 팀의 점수 총합을 각각 계산한다

TimerOver 함수를 추가하고 호출하여 게임이 종료되면 최종 점수를 띄운다
최종 점수에 따라 각각 다른 메세지를 띄운다
6) UI_Timer 클래스

팀전 전용 점수판 UI를 멤버변수로 추가한다

OnTimerEnd 함수를 위와 같이 수정하여 게임이 종료되면 게임 모드에 따라 다르게 동작한다
7) PlayerOpenScoreMenu 클래스

점수판 UI를 여는 키를 입력하면 동작하는 PlayerOpenScoreMenu 클래스에
팀전 전용 점수판 UI를 멤버변수로 추가하고 Start 함수에서 설정한다

HandleOpenScoreMenu 함수를 위와 같이 수정하여 게임 모드에 따라 다른 점수판 UI를 동작시킨다
- 최종 실행 결과

'유니티 엔진 - 게임 프로젝트 > Photon을 사용한 멀티 플레이어 게임' 카테고리의 다른 글
| 게임 모드 - 최종) 배포를 위한 준비 (0) | 2026.05.12 |
|---|---|
| 게임 모드 - 2) 배틀로얄 구현 (0) | 2026.05.12 |
| 게임플레이 - 최종) 탄창의 추가와 리스폰, 게임 종료 구현 (0) | 2026.05.05 |
| 게임플레이 - 3) 플레이어 점수 갱신 + 문제 수정 (0) | 2026.05.05 |
| 게임플레이 - 2) 피격과 데미지 처리 (0) | 2026.05.04 |