示例#1
0
        public void Start(FSPParam param, uint playerid)
        {
            fspParam = param;
            playerID = playerid;
            LOGTAG   = "FSPManager[" + playerid + "]";

            if (param.useLocal)
            {
                serverLockedFrameIndex = fspParam.maxFrameID;
            }
            else
            {
                fspClient = new FSPClient();
                fspClient.Init(fspParam.sessionID);
                fspClient.SetFSPAuthID(fspParam.authID);
                fspClient.SetFSPListener(OnFSPListener);
                fspClient.Connect(fspParam.host, fspParam.port);
                fspClient.VerifyAuth();
                serverLockedFrameIndex = fspParam.clientFrameRateMultiple - 1;
            }
            isRunning               = true;
            fspGameState            = FSPGameState.Create;
            frameDatas              = new Dictionary <int, FSPFrameData>();
            clientCurrentFrameIndex = 0;
            fspFrameController      = new FSPFrameController();
            fspFrameController.Start(param);
        }
示例#2
0
        public void Start(FSPParam param, uint playerId)
        {
            mParam        = param;
            mMinePlayerId = playerId;
            LOG_TAG       = "FSPManager[" + playerId + "]";

            if (!mParam.useLocal)
            {
                mClientLockedFrame = mParam.clientFrameRateMultiple - 1;

                mClient = new FSPClient();
                mClient.SetSessionId((ushort)param.sid);
                mClient.SetFSPAuthInfo(param.authId);
                mClient.Connect(param.host, param.port);
                mClient.SetFSPListener(OnFSPListener);
                mClient.VerifyAuth();
            }
            else
            {
                mClientLockedFrame = param.maxFrameId;
            }

            mFrameCtrl = new FSPFrameController();
            mFrameCtrl.Start(param);

            mFrameBuffer = new DictionaryExt <int, FSPFrame>();

            mIsRunning         = true;
            mGameState         = FSPGameState.Create;
            mCurrentFrameIndex = 0;
        }
示例#3
0
        public void Stop()
        {
            m_GameState = FSPGameState.None;

            if (m_Controller != null)
            {
                m_Controller.Stop();
                m_Controller = null;
            }

            if (m_Client != null)
            {
                m_Client.Stop();
                m_Client = null;
            }

            m_FrameBuffer.Clear();
            m_CurrentFrameIndex = 0;
            m_FrameListener     = null;

            m_NextLocalFrame = null;

            _mainPlayerId       = 0;
            m_Param             = null;
            m_GameStateListener = null;

            m_IsRunning = false;
        }
示例#4
0
        public void Start(FSPParam param, uint playerId)
        {
            m_Param        = param;
            m_MinePlayerId = playerId;
            LOG_TAG        = "FSPManager[" + playerId + "]";

            if (!m_Param.UseLocal)
            {
                m_ClientLockedFrame = m_Param.ClientFrameRateMultiple - 1;

                m_Client = new FSPClient();
                m_Client.SetSessionId(param.Sid);
                m_Client.SetFSPAuthInfo(param.AuthId);
                m_Client.Connect();
                m_Client.SetFSPListener(OnFSPListener);
                m_Client.VerifyAuth();
            }
            else
            {
                m_ClientLockedFrame = param.MaxFrameId;
            }

            m_FrameCtrl = new FSPFrameController();
            m_FrameCtrl.Start(param);

            m_FrameBuffer = new Dictionary <int, FSPFrame>();

            m_IsRunning         = true;
            m_GameState         = FSPGameState.Create;
            m_CurrentFrameIndex = 0;
        }
示例#5
0
        public void Stop()
        {
            m_GameState = FSPGameState.None;

            if (m_Client != null)
            {
                m_Client.Close();
                m_Client = null;
            }

            if (m_FrameCtrl != null)
            {
                m_FrameCtrl.Close();
                m_FrameCtrl = null;
            }

            m_FrameListener = null;
            m_FrameBuffer.Clear();
            m_IsRunning = false;

            onGameBegin    = null;
            onRoundBegin   = null;
            onControlStart = null;
            onGameEnd      = null;
            onRoundEnd     = null;
        }
示例#6
0
        public void Start(FSPParam param, uint playerId)
        {
            m_Param        = param;
            m_MinePlayerId = playerId;
            Log_Tag        = "FSPManager[" + playerId + "]";

            if (m_Param.useLocal)
            {
                m_LockedFrameIndex = param.maxFrameId;
            }
            else
            {
                m_Client = new FSPClient();
                m_Client.Init(m_Param.sid);
                m_Client.SetFSPAuthInfo(param.authId);
                m_Client.SetFSPListener(OnFSPListener);

                m_Client.Connect(param.host, param.port);
                m_Client.VerifyAuth();

                m_LockedFrameIndex = m_Param.clientFrameRateMultiple - 1;
            }

            m_IsRunning = true;
            m_GameState = FSPGameState.Create;

            m_FrameBuffer       = new DictionarySafe <int, FSPFrame>();
            m_CurrentFrameIndex = 0;

            m_FrameCtrl = new FSPFrameController();
            m_FrameCtrl.Start(param);
        }
示例#7
0
 private void Handle_GameBegin(int arg)
 {
     m_GameState = FSPGameState.GameBegin;
     if (onGameBegin != null)
     {
         onGameBegin(arg);
     }
 }
示例#8
0
 private void Handle_GameEnd(int arg)
 {
     m_GameState = FSPGameState.GameEnd;
     if (onGameEnd != null)
     {
         onGameEnd(arg);
     }
 }
示例#9
0
 void Handle_GameEnd(FSPVKey cmd)
 {
     m_GameState = FSPGameState.GameEnd;
     if (m_GameStateListener != null)
     {
         m_GameStateListener.OnGameEnd(cmd);
     }
 }
示例#10
0
 void Handle_RoundEnd(FSPVKey cmd)
 {
     m_GameState = FSPGameState.RoundEnd;
     if (m_GameStateListener != null)
     {
         m_GameStateListener.OnRoundEnd(cmd);
     }
 }
示例#11
0
 void Handle_ControlStart(FSPVKey cmd)
 {
     m_GameState = FSPGameState.ControlStart;
     if (m_GameStateListener != null)
     {
         m_GameStateListener.OnControlStart(cmd);
     }
 }
示例#12
0
 void Handle_GameBegin(FSPVKey cmd)
 {
     m_GameState = FSPGameState.GameBegin;
     if (m_GameStateListener != null)
     {
         m_GameStateListener.OnGameBegin(cmd);
     }
 }
示例#13
0
 private void Handle_RoundEnd(int arg)
 {
     m_GameState = FSPGameState.RoundEnd;
     if (onRoundEnd != null)
     {
         onRoundEnd(arg);
     }
 }
示例#14
0
 private void Handle_ControlStart(int arg)
 {
     m_GameState = FSPGameState.ControlStart;
     if (onControlStart != null)
     {
         onControlStart(arg);
     }
 }
示例#15
0
 private void Handle_ControlStart(int arg)
 {
     Debuger.Log(arg.ToString());
     m_GameState = FSPGameState.ControlStart;
     if (onControlStart != null)
     {
         onControlStart(arg);
     }
 }
示例#16
0
 protected void SetGameState(FSPGameState state, int param1 = 0, int param2 = 0)
 {
     Debuger.Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
     Debuger.Log("{0} -> {1}, param1 = {2}, param2 = {3}", state, state, param1, param2);
     Debuger.Log("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
     this.state  = state;
     stateParam1 = param1;
     stateParam2 = param2;
 }
示例#17
0
 private void Handle_GameEnd(int arg)
 {
     Debuger.Log(arg.ToString());
     m_GameState = FSPGameState.GameEnd;
     if (onGameEnd != null)
     {
         onGameEnd(arg);
     }
 }
示例#18
0
        //set game state machine
        protected void SetGameState(FSPGameState state, int param1 = 0, int param2 = 0)
        {
            MyLogger.Log(LOG_TAG, "SetGameState() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
            MyLogger.Log(LOG_TAG, "SetGameState() {0} -> {1}, param1 = {2}, param2 = {3}", mState.ToString(), state, param1, param2);
            MyLogger.Log(LOG_TAG, "SetGameState() <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");

            mState       = state;
            mStateParam1 = param1;
            mStateParam2 = param2;
        }
示例#19
0
        //设置状态机
        protected void SetGameState(FSPGameState state, int param1 = 0, int param2 = 0)
        {
            //Debuger.Log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
            //Debuger.Log("{0} -> {1}, param1 = {2}, param2 = {3}", m_State, state, param1, param2);
            //Debuger.Log("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");

            m_State       = state;
            m_StateParam1 = param1;
            m_StateParam2 = param2;
        }
示例#20
0
        protected void SetGameState(FSPGameState state, int param1 = 0, int param2 = 0)
        {
            Debuger.Log(LOG_TAG, "SetGameState() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
            Debuger.Log(LOG_TAG, "SetGameState() {0} -> {1}, param1 = {2}, param2 = {3}", m_State, state, param1, param2);
            Debuger.Log(LOG_TAG, "SetGameState() <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");

            m_State       = state;
            m_StateParam1 = param1;
            m_StateParam2 = param2;
        }
示例#21
0
        void Handle_RoundBegin(FSPVKey cmd)
        {
            m_GameState = FSPGameState.RoundBegin;

            // 这里需要重置一些数据
            ResetRound();

            if (m_GameStateListener != null)
            {
                m_GameStateListener.OnRoundBegin(cmd);
            }
        }
示例#22
0
 public void Stop()
 {
     fspGameState = FSPGameState.None;
     fspClient?.Clean();
     fspClient     = null;
     frameListener = null;
     frameDatas.Clear();
     frameDatas     = null;
     isRunning      = false;
     onGameBegin    = null;
     onRoundBegin   = null;
     onControlStart = null;
     onGameEnd      = null;
     onRoundEnd     = null;
 }
示例#23
0
        private void HandleRoundBegin(int arg)
        {
            fspGameState            = FSPGameState.RoundBegin;
            clientCurrentFrameIndex = 0;

            if (fspParam.useLocal)
            {
                serverLockedFrameIndex = fspParam.maxFrameID;
            }
            else
            {
                serverLockedFrameIndex = fspParam.clientFrameRateMultiple - 1;
            }

            frameDatas.Clear();

            onRoundBegin?.Invoke(arg);
        }
示例#24
0
        private void Handle_RoundBegin(int arg)
        {
            mGameState         = FSPGameState.RoundBegin;
            mCurrentFrameIndex = 0;

            if (!mParam.useLocal)
            {
                mClientLockedFrame = mParam.clientFrameRateMultiple - 1;
            }
            else
            {
                mClientLockedFrame = mParam.maxFrameId;
            }

            mFrameBuffer.Clear();

            if (onRoundBegin != null)
            {
                onRoundBegin(arg);
            }
        }
示例#25
0
        // 游戏正式开始
        public void Start(FSPParam param, uint playerId)
        {
            m_Param       = param;
            _mainPlayerId = playerId;
            LOG_TAG       = "FSPManager[" + playerId + "]";

            // 开房间形式
            if (!param.useLocal)
            {
                m_Client = new FSPClient(OnFSPListener);
                m_Client.Start(param);
            }

            m_Controller = new FSPController();
            m_Controller.Start(param);

            m_GameState = FSPGameState.Create;
            ResetRound();

            m_IsRunning = true;
        }
示例#26
0
        private void Handle_RoundBegin(int arg)
        {
            m_GameState         = FSPGameState.RoundBegin;
            m_CurrentFrameIndex = 0;

            if (!m_Param.UseLocal)
            {
                m_ClientLockedFrame = m_Param.ClientFrameRateMultiple - 1;
            }
            else
            {
                m_ClientLockedFrame = m_Param.MaxFrameId;
            }

            m_FrameBuffer.Clear();

            if (onRoundBegin != null)
            {
                onRoundBegin(arg);
            }
        }
示例#27
0
        private void Handle_RoundBegin(int arg)
        {
            Debuger.Log(arg.ToString());
            m_GameState         = FSPGameState.RoundBegin;
            m_CurrentFrameIndex = 0;

            if (!m_Param.useLocal)
            {
                m_LockedFrameIndex = m_Param.clientFrameRateMultiple - 1;
            }
            else
            {
                m_LockedFrameIndex = m_Param.maxFrameId;
            }

            m_FrameBuffer.Clear();

            if (onRoundBegin != null)
            {
                onRoundBegin(arg);
            }
        }
示例#28
0
 private void HandleControlStart(int arg)
 {
     fspGameState = FSPGameState.ControlStart;
     onControlStart?.Invoke(arg);
 }
示例#29
0
 private void HandleRoundEnd(int arg)
 {
     fspGameState = FSPGameState.RoundEnd;
     onRoundEnd?.Invoke(arg);
 }
示例#30
0
 private void HandleGameEnd(int arg)
 {
     fspGameState = FSPGameState.GameEnd;
     onGameEnd?.Invoke(arg);
 }