public CGameRoom(CGameRoomManager room_manager) { this.room_manager = room_manager; this.players = new List <CPlayer>(); this.received_protocol = new Dictionary <byte, PROTOCOL>(); this.current_turn_player = 0; this.state_manager = new CStateManager <CPlayer, CPacket>(); this.state_manager.add(STATE.READY, new CGameRoomReadyState(this)); this.state_manager.add(STATE.PLAY, new CGameRoomPlayState(this)); this.state_manager.change_state(STATE.READY); }
void Awake() { this.players = new List <CPlayer>(); this.players_gameinfo = new List <CPlayerGameInfoUI>(); // 방의 각 상태를 담당하는 인스턴스 생성. this.state_manager = gameObject.AddComponent <CStateManager>(); this.state_manager.initialize(STATE_OBJECT_TYPE.ATTACH_TO_SINGLE_OBJECT); this.state_manager.add <CBattleRoomReadyState>(STATE.READY); this.state_manager.add <CBattleRoomWaitState>(STATE.WAIT); this.state_manager.add <CBattleRoomTurnPlayingState>(STATE.TURN_PLAYING); this.state_manager.add <CBattleRoomGameOverState>(STATE.GAMEOVER); // 초기 상태 설정. this.state_manager.change_state(STATE.READY); }