public static Tuple <Connect, _System, LobbyHandler, ToArenaHandler, GamingHandler, PacketHandler, PacketHandler> Rudp(Uri gamingServerIp) { Connect connect = new Connect(gamingServerIp.Host, gamingServerIp.Port, NetworkProtocol.RUDP); var system = new _System(); connect.AddCallBackHandler(_System.OperatorCode, system); var gaming = new GamingHandler(); connect.AddCallBackHandler(GamingHandler.OperationCode, gaming); var lobby = new LobbyHandler(); connect.AddCallBackHandler(LobbyHandler.OperationCode, lobby); var toArena = new ToArenaHandler(); connect.AddCallBackHandler((byte)EOperationCode.ToArena, toArena); var gamePacketHandler = new PacketHandler(PacketHandler.GamePacketOperationCode); connect.AddCallBackHandler(PacketHandler.GamePacketOperationCode, gamePacketHandler); var gameRoomHandler = new PacketHandler(PacketHandler.GameRoomOperationCode); connect.AddCallBackHandler(PacketHandler.GameRoomOperationCode, gameRoomHandler); //establish connection system.Connect += () => { Console.WriteLine("Connect to server."); }; return(Tuple.Create(connect, system, lobby, toArena, gaming, gamePacketHandler, gameRoomHandler)); }
public async Task JoinLobby(string lobbyId, string player) { var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }; var hPlayer = JsonConvert.DeserializeObject <HumanPlayer>(player); // logic var lobby = LobbyHandler.AddPlayerToLobby(lobbyId, hPlayer); /* * if (lobby == null) * { * await Clients.Caller.SendAsync("ReceiveLobbyExisting", false); * } */ // prepare json-strings var jsLobby = JsonConvert.SerializeObject(lobby, Formatting.Indented, settings); var jsPlayers = JsonConvert.SerializeObject(lobby.Players, Formatting.Indented, settings); // add to group and send await Clients.Caller.SendAsync("GetLobby", jsLobby, hPlayer.Index); await Clients.Group(lobbyId).SendAsync("PlayerListChanged", jsPlayers); await Groups.AddToGroupAsync(Context.ConnectionId, Game.UniquePlayerGroup(new Base64(lobbyId), Server.Instance.Lobbies[lobbyId].Players.FindIndex(p => p.InGameName == hPlayer.InGameName))); await Groups.AddToGroupAsync(Context.ConnectionId, lobbyId); }
public LobbyController(LobbyHandler lobbyHandler, PlayerService playerService, IMapper mapper) { _lobbyHandler = lobbyHandler; _playerService = playerService; _mapper = mapper; }
/** * 返回游戏彩金 * @param gameType 游戏类型 百家乐 1 德州扑克 2 老虎机 classic:3 老虎机 四大美人:4 老虎机 水果:5 * @param gameId 游戏的id * @param gamejackpot 游戏彩金 */ public void GC_GAMETYPE_JACKPOT(InputMessage data) { int gameType = data.GetInt(); int gameId = data.GetInt(); long gamejackpot = data.GetLong(); LobbyHandler.Instance().GC_GAMETYPE_JACKPOT(gameType, gameId, gamejackpot); }
/** * 适合自己等级游戏的彩金 * @param jackpotfitLevelData 适合自己等级游戏彩金 */ public void GC_JACKPOT_LEVEL_DATA(InputMessage data) { int i, size; ArrayList jackpotfitLevelData = new ArrayList(); size = data.GetShort(); for (i = 0; i < size; i++) { JackpotfitLevelData jackpotfitLevelData_Datas = new JackpotfitLevelData(); jackpotfitLevelData_Datas.gameType = data.GetInt(); //游戏类型 百家乐 1 德州扑克 2 老虎机 classic:3 老虎机 四大美人:4 老虎机 水果:5 jackpotfitLevelData_Datas.jackpot = data.GetLong(); jackpotfitLevelData.Add(jackpotfitLevelData_Datas); } LobbyHandler.Instance().GC_JACKPOT_LEVEL_DATA(jackpotfitLevelData); }
public async Task RemovePlayerFromLobby(string lobbyId, byte index) { var settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All }; // logic var(playerList, removedPlayer) = LobbyHandler.RemovePlayerFromLobby(lobbyId, index); // notify removed player await Clients.Group(Game.UniquePlayerGroup(lobbyId, index)).SendAsync("LeaveLobby"); //await Groups.RemoveFromGroupAsync(Context.ConnectionId, lobbyId); await Clients.Group(lobbyId).SendAsync("ReceiveMessage", removedPlayer.InGameName, "I left the Lobby"); await Clients.Group(lobbyId).SendAsync("PlayerListChanged", JsonConvert.SerializeObject(playerList, Formatting.Indented, settings)); }
/** * 最高彩金获得者前20位 * @param jackpotList 彩金获得者数据 */ public void GC_JACKPOT_LIST_DATA(InputMessage data) { int i, size; ArrayList jackpotList = new ArrayList(); size = data.GetShort(); for (i = 0; i < size; i++) { JackpotList jackpotList_Datas = new JackpotList(); jackpotList_Datas.userId = data.GetLong(); jackpotList_Datas.img = data.GetString(); //头像图片 jackpotList_Datas.name = data.GetString(); //名字 jackpotList_Datas.jackpot = data.GetLong(); jackpotList_Datas.gameType = data.GetInt(); //游戏类型 百家乐 1 德州扑克 2 老虎机 classic:3 老虎机 四大美人:4 老虎机 水果:5 jackpotList.Add(jackpotList_Datas); } LobbyHandler.Instance().GC_JACKPOT_LIST_DATA(jackpotList); }
/** * 进入老虎机后的第一个页面展示的 四个阶段的 彩金数 * @param jackpotNum 《第几个》--不同的等级对应的最大彩金数,有几个传几个,(配置中可以关闭不同等级的彩金,然以就不显示) * @param jackpot 不同的等级对应的最大彩金数,有几个传几个,(配置中可以关闭不同等级的彩金,然以就不显示) */ public void GC_SLOT_NEW_JACKPOTS(InputMessage data) { int i, size; ArrayList jackpotNum = new ArrayList(); size = data.GetShort(); for (i = 0; i < size; i++) { int jackpotNum_Datas = data.GetInt(); jackpotNum.Add(jackpotNum_Datas); } ArrayList jackpot = new ArrayList(); size = data.GetShort(); for (i = 0; i < size; i++) { long jackpot_Datas = data.GetLong(); jackpot.Add(jackpot_Datas); } LobbyHandler.Instance().GC_SLOT_NEW_JACKPOTS(jackpotNum, jackpot); }
// Disregard Frame Skips for now public void Update() { // Update Vars game = GameManager.Instance; lobby = game.LobbyHandlerRef; level = game.LevelManagerRef; // Update Locals Interface.Toggle ^= keys[KeyManager.Interface]; keys.Update(); UpdateLocal(); BypassPasswords(); // Update Game Settings ForceValue(game.SteamDLCManagerRef, "hasSupernaturalDLCPurchased", true); PhotonNetwork.playerName = "Lauren"; game.playFabId = "cats2"; // testing //GameManager.IsServerCheckRequired = false; //game.PlayFabRef.playFabStatus = ConnectionManager.EStatus.ONLINE; // Meh //var exiles = PrivateField<Dictionary<int, bool>>(level.ExileManagerRef, "isExiled"); // exiles[PhotonNetwork.player.ID] = false; //level.ExileManagerRef.ForceGlobalExile(false); // F**k Niggers }
void Start() { handler = GameObject.Find("Networker").GetComponent <LobbyHandler>(); }
public async Task CreateLobby(HumanPlayer hp) { var lobby = LobbyHandler.CreateLobby(hp); await Clients.Caller.SendAsync("ReceiveLobbyId", lobby.Id.ToString()); }
/** * 游戏彩金数 * @param jackpot 根据bet数 获取的相应的彩金值 */ public void GC_NEW_JACKPOT(InputMessage data) { long jackpot = data.GetLong(); LobbyHandler.Instance().GC_NEW_JACKPOT(jackpot); }
public LobbyHub(LobbyHandler lobbyHandler) { _lobbyHandler = lobbyHandler; }