Esempio n. 1
0
        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);
        }
Esempio n. 2
0
    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);
    }