static public void LeaveRoomHandler(NetConnection connection, object data) { if (!PlayerCaches.AuthDone(connection)) { return; } if (PlayerCaches.InLobby(connection)) { return; } int roomid = PlayerCaches.GetRoomID(connection); if (Lobby.GetRoomState(roomid) == 1) { return; } Lobby.LeaveRoom(connection, roomid); Lobby.SendRoomStateToAll(roomid); Lobby.CheckBattleStart(roomid); GSrv.Send(MessageType.ReplySuccessLeaveRoom, connection, NetDeliveryMethod.ReliableOrdered); LobbyState state = Lobby.GetLobbyState(); GSrv.Send(MessageType.ReplyLobbyState, GSrv.Serialize <LobbyState>(state), connection, NetDeliveryMethod.ReliableOrdered); }
static public void SendFireHandler(NetConnection connection, object data) { FireData fire = null; try { fire = GSrv.Deserialize <FireData>((byte[])data); } catch { return; } if (!PlayerCaches.AuthDone(connection)) { return; } if (PlayerCaches.InLobby(connection)) { return; } int roomid = PlayerCaches.GetRoomID(connection); if (Lobby.GetRoomState(roomid) == 0) { return; } Lobby.ReplyFire(connection, roomid, fire); }
static public void EnterRoomHandler(NetConnection connection, object data) { int roomid = (int)data; if (roomid < 0 || Env.RoomNum <= roomid) { return; } if (!PlayerCaches.AuthDone(connection)) { return; } if (!PlayerCaches.InLobby(connection)) { return; } if (Lobby.GetRoomState(roomid) == 1) { return; } Lobby.EnterRoom(connection, roomid); GSrv.Send(MessageType.ReplySuccessEnterRoom, connection, NetDeliveryMethod.ReliableOrdered); Lobby.SendRoomStateToAll(roomid); }
static public void PushHandler(NetConnection connection, object data) { PushData push = null; try { push = GSrv.Deserialize <PushData>((byte[])data); } catch { return; } if (!PlayerCaches.AuthDone(connection)) { return; } if (PlayerCaches.InLobby(connection)) { return; } int roomid = PlayerCaches.GetRoomID(connection); if (Lobby.GetRoomState(roomid) == 0) { return; } Lobby.Push(connection, roomid, push); }
static public void DisconnectHandler(NetConnection connection, object data) { if (!PlayerCaches.AuthDone(connection)) { return; } Lobby.Disconnect(connection); }
static public void SetBlockHandler(NetConnection connection, object data) { BlockData block = null; try { block = GSrv.Deserialize <BlockData>((byte[])data); } catch { return; } if (!PlayerCaches.AuthDone(connection)) { return; } if (PlayerCaches.InLobby(connection)) { return; } int roomid = PlayerCaches.GetRoomID(connection); if (Lobby.GetRoomState(roomid) == 0) { return; } if (!Env.IsInsideWorld(block.x, block.y, block.z)) { return; } if (Env.IsCorePos(block.x, block.y, block.z)) { return; } Lobby.ReplySetBlock(roomid, block); }
static public void TouchCoreHandler(NetConnection connection, object data) { if (!PlayerCaches.AuthDone(connection)) { return; } if (PlayerCaches.InLobby(connection)) { return; } int roomid = PlayerCaches.GetRoomID(connection); if (Lobby.GetRoomState(roomid) == 0) { return; } Lobby.TouchCore(connection, roomid); }
static public void ChangeFactionHandler(NetConnection connection, object data) { if (!PlayerCaches.AuthDone(connection)) { return; } if (PlayerCaches.InLobby(connection)) { return; } int roomid = PlayerCaches.GetRoomID(connection); if (Lobby.GetRoomState(roomid) == 1) { return; } Lobby.ChangeFaction(connection, roomid); Lobby.SendRoomStateToAll(roomid); }
static public void SendUserNameHandler(NetConnection connection, object data) { string username = (string)data; if (username == "") { username = "******"; } if (PlayerCaches.AuthDone(connection)) { return; } Console.WriteLine("Enter:" + username); int userid = Lobby.AddPlayer(connection, username); GSrv.Send(MessageType.ReplyUserID, userid, connection, NetDeliveryMethod.ReliableOrdered); LobbyState state = Lobby.GetLobbyState(); GSrv.Send(MessageType.ReplyLobbyState, GSrv.Serialize <LobbyState>(state), connection, NetDeliveryMethod.ReliableOrdered); }