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); }
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; }
/// <summary> /// 用于本地测试 /// </summary> public void StartLocalTest() { //战斗参数 GameParam gameParam = new GameParam(); gameParam.mapData.id = 0; gameParam.mode = GameMode.EndlessPVP; //帧同步参数 FSPParam fspParam = new FSPParam(); fspParam.useLocal = true; fspParam.sid = 1; //玩家参数 PlayerData playerData = new PlayerData(); playerData.userId = UserManager.Instance.MainUserData.id; playerData.id = 1; PVPStartParam param = new PVPStartParam(); param.fspParam = fspParam; param.gameParam = gameParam; param.players.Add(playerData); StartGame(param); }
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; }
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; }
/// <summary> /// for local test /// </summary> public void StartLocalTest() { //game params GameParam gameParam = new GameParam(); gameParam.mapData.id = 0; gameParam.mode = GameMode.UnlimitedPVP; //FSP params FSPParam fspParam = new FSPParam(); fspParam.useLocal = true; fspParam.sid = 1; //player params PlayerData playerData = new PlayerData(); playerData.userId = UserManager.Instance.MainUserData.id; playerData.id = 1; PVPStartParam param = new PVPStartParam(); param.fspParam = fspParam; param.gameParam = gameParam; param.players.Add(playerData); StartGame(param); }
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); }
public void Start(FSPParam param) { this.Log("Start()"); param.sid = m_playerId; m_mgrFSP = new FSPManager(); m_mgrFSP.Start(param, m_playerId); m_mgrFSP.SetFrameListener(OnEnterFrame); m_mgrFSP.onGameEnd += (arg) => { this.Log("OnGameEnd() " + arg); DelayInvoker.DelayInvoke(0.01f, Close); //Close(); }; m_mgrFSP.onGameExit += (playerId) => { this.Log("onGameExit() " + playerId); if (playerId == m_playerId) { DelayInvoker.DelayInvoke(0.01f, Close); //Close(); } }; m_mgrFSP.SendGameBegin(); }
public void Create(FSPParam param) { m_aFSPParam = param; m_CurRoundId = 0; ClearRound(); SetGameState(FSPGameState.Create); }
private void SetParam(FSPParam param) { clientFrameRateMultiple = param.clientFrameRateMultiple; JitterBufferSize = param.jitterBufferSize; enableSpeedUp = param.enableSpeedUp; defaultSpeed = param.defaultSpeed; enableAutoBuff = param.enableAutoBuffer; }
public void SetParam(FSPParam param) { m_ClientFrameRateMultiple = param.clientFrameRateMultiple; m_BuffSize = param.frameBufferSize; m_EnableSpeedUp = param.enableSpeedUp; m_DefaultSpeed = param.defaultSpeed; m_EnableAutoBuff = param.enableAutoBuffer; }
//--------------------------------------------------------- public void Create(FSPParam param) { Debuger.Log(LOG_TAG, "Create()"); m_FSPParam = param; m_CurRoundId = 0; ClearRound(); SetGameState(FSPGameState.Create); }
private void StartGame(int src, GamesServerStartParam param) { m_context.fsp.CreateGame(param.roomId, param.authId); param.listPlayerFSPSessionId = m_context.fsp.AddPlayer(param.roomId, param.listPlayerId); FSPParam fspParam = m_context.fsp.GetParam(); fspParam.authId = param.authId; m_context.ipc.Return(fspParam, param); }
public bool Start(FSPParam param) { m_mgrFSP = new FSPManager(); m_mgrFSP.Start(param, m_playerId); m_mgrFSP.SetFrameListener(OnEnterFrame); m_mgrFSP.SetGameStateListener(this); return(true); }
public void Stop() { m_Param = null; Disconnect(); m_WaitForReconnect = false; m_WaitForSendAuth = false; m_TempSendData.vkeys.Clear(); m_RecvListener = null; m_IsRunning = false; }
// 游戏正式开始 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; }
private void OnStartGame(int src, FSPParam fspParam, GamesServerStartParam gameStartParam) { PVPStartParam param = new PVPStartParam(); param.fspParam = fspParam; Room room = GetRoom(gameStartParam.roomId); param.gameParam = room.GetGameParam(); param.players = room.data.players; for (int i = 0; i < gameStartParam.listPlayerId.Count; i++) { var player = param.players[i]; //因为每一个玩家的FSPParam中,Sid都不一样,所以这里分别赋值 param.fspParam.sid = gameStartParam.listPlayerFSPSessionId[i]; var session = room.GetSession(player.userId); m_context.net.Invoke(session, "NotifyGameStart", param); } }
private void StartGame(ISession session, uint userId, uint roomId) { Room room = GetRoom(roomId); if (room != null) { if (room.data.owner == userId) { if (room.CanStartGame()) { FSPParam param = room.GetGameStartParam(); ISession[] listSession = room.GetSessionList(); m_net.Invoke(listSession, "NotifyGameStart", param); } } } else { m_net.ReturnError("房间不存在", (int)roomId); } }
void OnGUI() { if (GUILayout.Button("StartServer")) { FSPServer.Instance.Start(0); FSPServer.Instance.SetFrameInterval(66, 2); FSPServer.Instance.SetServerTimeout(0); FSPServer.Instance.StartGame(); FSPServer.Instance.Game.AddPlayer(1, 1); FSPServer.Instance.Game.AddPlayer(2, 2); m_fspParam = FSPServer.Instance.GetParam(); } if (FSPServer.Instance.IsRunning) { GUILayout.Label("Server IP :" + m_fspParam.host); GUILayout.Label("Server Port:" + m_fspParam.port); } if (GUILayout.Button("CloseServer")) { FSPServer.Instance.Close(); } GUILayout.BeginHorizontal(); { GUILayout.BeginVertical(); { m_client1.OnGUI(); } GUILayout.EndVertical(); GUILayout.BeginVertical(); { m_client2.OnGUI(); } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); }
public bool Start(FSPParam param) { if (m_IsRunning) { return(true); } m_Param = param; SetSessionId(param.sid); SetFSPAuthInfo(param.authId); if (Connect(param.host, param.port)) { // 必须要在发包之前设置为true m_IsRunning = true; VerifyAuth(); return(true); } return(false); }
public void OnGUI() { if (m_mgrFSP != null) { GUILayout.Label("Client[" + m_playerId + "]: " + m_mgrFSP.GameState); GUILayout.Label("Port: " + m_mgrFSP.Port); } else { GUILayout.Label("Client[" + m_playerId + "]"); } GUILayout.Label("VKey:" + m_lastVKey); // 没开的话只能先开 if (m_mgrFSP == null) { if (GUILayout.Button("Start")) { // 这些变量不能共用 FSPParam param = FSPServer.Instance.GetParam(); param.sid = sid; param.authId = (int)playerId; Start(param); } return; } if (GUILayout.Button("SendGameBegin")) { m_mgrFSP.SendGameBegin(); } if (GUILayout.Button("SendRoundBegin")) { m_mgrFSP.SendRoundBegin(); } if (GUILayout.Button("SendControlStart")) { m_mgrFSP.SendControlStart(); } if (GUILayout.Button("SendPing")) { m_mgrFSP.SendFSP(FSPVKeyBase.PING, UnityEngine.Random.Range(1, 1000)); } if (GUILayout.Button("SendRoundEnd")) { m_mgrFSP.SendRoundEnd(); } if (GUILayout.Button("SendGameEnd")) { m_mgrFSP.SendGameEnd(); } if (GUILayout.Button("SendPlayerExit")) { m_mgrFSP.SendPlayerExit(); } }
private void NotifyGameStart(FSPParam param) { Debuger.LogWarning(param.ToString()); }
public void Start(FSPParam param) { SetParam(param); }
static FSPParam CloneParam(FSPParam param) { byte[] bytes = PBSerializer.Serialize(param); return PBSerializer.Deserialize<FSPParam>(bytes); }
public bool Start(FSPParam param) { SetParam(param); return(true); }
void OnGUI() { // main menu if (!FSPServer.Instance.IsRunning) { if (GUILayout.Button("StartServer")) { FSPServer.Instance.Start(0); FSPServer.Instance.SetFrameInterval(66, 2); FSPServer.Instance.SetServerTimeout(0); FSPServer.Instance.StartGame(); m_client1.sid = m_client1.playerId; m_client2.sid = m_client2.playerId; FSPServer.Instance.Game.AddPlayer(m_client1.playerId, m_client1.sid); FSPServer.Instance.Game.AddPlayer(m_client2.playerId, m_client2.sid); m_fspParam = FSPServer.Instance.GetParam(); } } else { if (GUILayout.Button("CloseServer")) { FSPServer.Instance.Close(); } } if (!FSPServer.Instance.IsRunning) { return; } GUILayout.Label("Server IP : " + m_fspParam.host); GUILayout.Label("Server Port: " + m_fspParam.port); if (FSPServer.Instance.Game != null) { GUILayout.Label("GameState: " + FSPServer.Instance.Game.State.ToString()); } var game = FSPServer.Instance.Game; if (game != null) { GUILayout.Label("Frame: " + game.CurrentFrameId); } GUILayout.Space(10); // client gui GUILayout.BeginHorizontal(); { GUILayout.BeginVertical(); { m_client1.OnGUI(); } GUILayout.EndVertical(); GUILayout.BeginVertical(); { m_client2.OnGUI(); } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); }
public FSPParam GetGameStartParam() { FSPParam param = new FSPParam(); return(param); }