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); }
private void StartGame(ISession session, uint roomId) { var userId = session.uid; Room room = GetRoom(roomId); if (room != null) { if (room.data.owner == userId) { if (room.CanStartGame()) { List <uint> listPlayerId = new List <uint>(); var list = room.data.players; for (int i = 0; i < list.Count; i++) { listPlayerId.Add(list[i].id); } int authId = SGFRandom.Default.Seed; GamesServerStartParam param = new GamesServerStartParam(); param.roomId = roomId; param.authId = authId; param.listPlayerId = listPlayerId; m_context.ipc.Invoke(ServerID.GameServer, "StartGame", param); } else { m_context.net.ReturnError("还有玩家未准备", roomId); } } else { m_context.net.ReturnError("你不是房主,只有房主可以启动游戏", roomId); } } else { m_context.net.ReturnError("房间不存在", roomId); } }
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); } }