void HandleJoinPartyRes(SFMessage message) { //variableBuilder.SetVariable("Result", parser.GetResult()); //variableBuilder.SetVariable("PartyUID", parser.GetPartyUID()); //variableBuilder.SetVariable("PartyLeaderID", parser.GetPartyLeaderID()); //variableBuilder.SetVariable("ChatHistoryData", (int)parser.GetChatHistoryData().size(), parser.GetChatHistoryData().data()); var Result = message.GetValue <Result>("Result"); if (Result.IsFailed) { PrintStatus(1, "JoinParty failed {0} ID = {1}", Result, m_LoginID); mGamePartyJoinedAction(this, false); return; } m_PartyUID = message.GetValue <UInt64>("PartyUID"); // mPartyGameJoinedCount PrintStatus(1, "HandleJoinPartyRes PartyUID = {0} {1} ", m_PartyUID, m_LoginID); m_PartyInfo = new PartyMatchedInfo(m_PartyUID); if (mGamePartyJoinedAction != null) { mGamePartyJoinedAction(this, true); } }
public void CloseAllConnections() { if (m_ConnectionGame != null) { if (m_ConnectionGame.State != SFConnection.ConnectionState.DISCONNECTED) { if (mGameSvrDisConnectedAction != null) { mGameSvrDisConnectedAction(this, m_Game); } } } if (m_ConnectionLogin != null) { if (m_ConnectionLogin.State != SFConnection.ConnectionState.DISCONNECTED) { if (mLoginDisConnectedAction != null) { mLoginDisConnectedAction(this, m_Login); } } } if (m_Login != null) { m_Login = null; } if (m_Game != null) { m_Game = null; } if (m_ConnectionLogin != null) { m_ConnectionLogin.Disconnect(); m_ConnectionLogin.Dispose(); } m_ConnectionLogin = null; if (m_ConnectionGame != null) { m_ConnectionGame.Disconnect(); m_ConnectionGame.Dispose(); } m_ConnectionGame = null; if (m_PartyInfo != null) { m_PartyInfo.Dispose(); } m_PartyInfo = null; mRecvChatHistorys.Clear(); }
public void RunConnect(NetAddress serverAddress, System.Action <StressTest_Matched_Chat> OnLoginConnected, System.Action <StressTest_Matched_Chat, SF.Net.SendMessageLogin> OnLoginDisConnected, System.Action <StressTest_Matched_Chat, int> OnLoginFailed, System.Action <StressTest_Matched_Chat> OnGameSvrConnected, System.Action <StressTest_Matched_Chat, SF.Net.SendMessageGame> OnGameSvrDisConnected, System.Action <StressTest_Matched_Chat> OnGameSvrFailedConnect, System.Action <StressTest_Matched_Chat, bool> OnGameJoinResAction, System.Action <StressTest_Matched_Chat> OnPartyCreateAction, System.Action <StressTest_Matched_Chat, bool> OnGamePartyJoinedAction, System.Action <StressTest_Matched_Chat, bool> OnPartyChatSendResAction, System.Action <StressTest_Matched_Chat, UInt64> OnPartyChatOneKBRecivedTen, System.Action <StressTest_Matched_Chat, int, UInt64> OnPartyChatOneKBRecivedSingle) { mLoginConnectedAction = OnLoginConnected; mLoginDisConnectedAction = OnLoginDisConnected; mLoginFailedAction = OnLoginFailed; // Game Sever mGameSvrConnectedAction = OnGameSvrConnected; mGameSvrDisConnectedAction = OnGameSvrDisConnected; mGameSvrFailedConnectAction = OnGameSvrFailedConnect; //--- mGameJoinResAction = OnGameJoinResAction; mPartyCreateAction = OnPartyCreateAction; mGamePartyJoinedAction = OnGamePartyJoinedAction; mPartyChatSendResAction = OnPartyChatSendResAction; mPartyChatOneKBRecivedTen = OnPartyChatOneKBRecivedTen; mPartyChatOneKBRecivedSingle = OnPartyChatOneKBRecivedSingle; mTotalRecvedPartyChatMessageCount = 0; m_PartyInfo = new PartyMatchedInfo(0); NextState = eTesterState.LOGINING; m_ConnectionLogin = new SFConnection(m_MessageRouter); m_ConnectionLogin.Connect(0, serverAddress.Address, (int)serverAddress.Port); mHeartBitTime = 0; }
void HandleCreatePartyRes(SFMessage message) { //variableBuilder.SetVariable("Result", parser.GetResult()); //variableBuilder.SetVariable("PartyUID", parser.GetPartyUID()); var Result = message.GetValue <Result>("Result"); if (Result.IsFailed) { PrintStatus(1, "CreateParty failed {0} ID = {1}", Result, m_LoginID); return; } m_PartyUID = message.GetValue <UInt64>("PartyUID"); PrintStatus(1, "HandleCreatePartyRes PartyUID ={0} ID ={1}", m_PartyUID, m_LoginID); m_PartyInfo = new PartyMatchedInfo(m_PartyUID); if (mPartyCreateAction != null) { mPartyCreateAction(this); } }
void HandleJoinGameServerRes(SFMessage message) { if (m_Game == null || m_ConnectionGame == null) { return; } if (m_ConnectionGame.State != SFConnection.ConnectionState.CONNECTED) { return; } var joinResult = message.GetValue <Result>("Result"); if (joinResult.IsFailed) { if (mGameJoinResAction != null) { mGameJoinResAction(this, false); } PrintStatus(1, "Join game server failed {0} ID = {1}", joinResult, m_LoginID); CloseAllConnections(); return; } else { if (mGameJoinResAction != null) { mGameJoinResAction(this, true); } } m_PartyUID = message.GetValue <UInt64>("PartyUID"); if (m_PartyUID == 0) { if (IsPartyBoss) { NextState = eTesterState.PARTY_MATCING; if (m_Game.CreatePartyCmd(0) != 0) { return; } PrintStatus(1, "Create PartyCmd ID = {0}", m_LoginID); } else { NextState = eTesterState.PARTY_WAIT_INVITE; } } else { NextState = eTesterState.PARTY_MATCING; // already has party m_PartyInfo = new PartyMatchedInfo(m_PartyUID); if (IsPartyBoss) { PrintStatus(1, "Already has partyID = {0} ID = {1} IsBoss = {2} ", m_PartyUID, m_LoginID, IsPartyBoss); if (mPartyCreateAction != null) { mPartyCreateAction(this); } } else { PrintStatus(1, "Already has PartyJoined!! = {0} ID = {1} And LeavePartyCmd!!", m_PartyUID, m_LoginID); m_Game.LeavePartyCmd(0, m_PartyUID, m_AccountID); } } }