Пример #1
0
    //게임오버 프로토콜 체크 연산(게임씬으로 이동전에 게임오버 프로토콜을 받을수 있기때문에, 게임오버 프로토콜은 버퍼에 담아 놓고 게임플레이 상태에서 처리 해준다.)
    void Recv_GameOver_Operation()
    {
        if (Recv_TimerOver_State == RECV_GAMEOVER_SATAE.GET_PROTOCOL)
        {
            Game_Script.Recv_TimerOver(Recv_TimerOver_Data);

            Recv_TimerOver_State = RECV_GAMEOVER_SATAE.SET_INIT_END;
        }

        if (Recv_RewardEnd_State == RECV_GAMEOVER_SATAE.GET_PROTOCOL && Recv_TimerOver_State == RECV_GAMEOVER_SATAE.SET_INIT_END)
        {
            Game_Script.Recv_RewardEnd();

            Recv_RewardEnd_State = RECV_GAMEOVER_SATAE.SET_INIT_END;
        }
    }
Пример #2
0
    //팀플 조인 답변
    void Recv_TeamPlay_Join(ByteData _Receive_data)
    {
        //플레이어 기본 정보 셋팅
        Link_Script.i.User_Data_Init();

        Game_Script = null;

        Recv_TimerOver_State = RECV_GAMEOVER_SATAE.IDLE;
        Recv_RewardEnd_State = RECV_GAMEOVER_SATAE.IDLE;
        Recv_TimerOver_Data  = null;

        Network_State = NETWORK_STATE.QUICKJOINING;

        //1인 퀵조인 답변
        Recv_Quick_Join(Receive_Buffer);
    }
Пример #3
0
 //서버에서 게임 보상 셋팅 완료했다 게임 완전히 끝낸다.
 void Recv_RewardEnd()
 {
     Recv_RewardEnd_State = RECV_GAMEOVER_SATAE.GET_PROTOCOL;
 }
Пример #4
0
    //================================================================================================================================================================================

    //게임 시간이 끝났다, 보상 결과 올때까지 대기
    void Recv_TimerOver(ByteData _Receive_data)
    {
        Recv_TimerOver_State = RECV_GAMEOVER_SATAE.GET_PROTOCOL;
        Recv_TimerOver_Data  = _Receive_data;
    }
Пример #5
0
    void Network_Operation()
    {
        if (!Link_Script.i.IsConnected())
        {
            return;
        }

        switch (Network_State)
        {
        case NETWORK_STATE.IDEL:

            break;

        //case NETWORK_STATE.CONNECT_INIT:
        //    break;
        //case NETWORK_STATE.CONNECT_START:
        //    break;
        //case NETWORK_STATE.CONNECTING:
        //    break;
        //case NETWORK_STATE.CONNECTING_OK:
        //    break;
        //case NETWORK_STATE.LOGIN_START:
        //    break;
        //case NETWORK_STATE.LOGGING:
        //    break;
        //case NETWORK_STATE.LOGIN_OK:
        //    break;
        case NETWORK_STATE.QUICKJOIN_START:

            //플레이어 기본 정보 셋팅
            Link_Script.i.User_Data_Init();

            Game_Script = null;

            Recv_TimerOver_State = RECV_GAMEOVER_SATAE.IDLE;
            Recv_RewardEnd_State = RECV_GAMEOVER_SATAE.IDLE;
            Recv_TimerOver_Data  = null;

            Network_State = NETWORK_STATE.QUICKJOINING;

            Send_Quick_Join();

            //Debug.Log("퀵조인 시도");

            break;

        case NETWORK_STATE.QUICKJOINING:
            break;

        case NETWORK_STATE.QUICKJOIN_OK:

            if (!SendManager.Instance.Get_currentScene().Equals("Main"))
            {
                //Debug.Log("씬전환 완료!!!!!!!!!!!!!!!!!");

                Game_Script = GameObject.Find("Script_Object").GetComponent <GamePlay_Script>();

                Network_State = NETWORK_STATE.GAMEPLAY_START;
            }

            break;

        case NETWORK_STATE.GAMEPLAY_START:

            Send_GamePlay_Start();

            Send_HeartBeat_Time = 0.0f;
            Recv_HeartBeat_Time = 0.0f;

            Network_Delay_Check = false;

            Network_State = NETWORK_STATE.GAMEPLAYING;

            //Debug.Log("게임 시작 들어간다");

            break;

        case NETWORK_STATE.GAMEPLAYING:

            //하트비트 체크하기
            HeartBeat_Oeration();

            //게임오버 프로토콜 체크 연산
            Recv_GameOver_Operation();

            break;

        case NETWORK_STATE.GAMEPLAY_END:
            break;

        case NETWORK_STATE.ERROR:
            break;

        case NETWORK_STATE.ERROR_WAIT:
            break;
        }
    }