언3에서 치트키를 관리하는 방식에 대해 알아본다.
보통 개발을 좀 더 편하게 진행하기 위해 캐릭터의 능력치를 올리거나 아이템을 바꿔 차는 등의 행위를 필요로 한다. 이러한 프로그래머의 요구를 반영하기 위해 언리얼엔진3 에서는 CheatManager 가 존재한다. 그리고 이 CheatManager 는 다음과 같은 사항이 고려되어 있다.
이제 초기화 되는 곳을 살펴보자.
simulated event PostBeginPlay(0 { ... if ( WorldInfo.NetMode == NM_Client ) { SpawnDefaultHUD(); } else { AddCheats(); // CheatManager 초기화 } ... }
위 코드를 보면 알겠지만 client 는 CheatManager 를 초기화 하지 않는다.
명시적으로 CheatManager 를 초기화해주는 방법이 존재한다. 이 명시적 초기화는 네트워크 플레이를 할 때나 client 에게도 CheatManager 를 제공해 준다.
아래의 코드를 보자.
exec function EnableCheats() { `if(`notdefined(FINAL_RELEASE)) AddCheats( true ); // 강제로 CheatManager 를 초기화 `else AddCheats(); `endif }
FINAL_RELEASE 가 아닌 한 client 라도 CheatManager 를 초기화할 수 있도록 해준다.