public static void HandleUpload(NetConnection connection, Packet packet) { var upload = (Upload)packet; var session = SessionManager.Get(connection.RemoteUniqueIdentifier); string message = null; if (session.Account == null) message = "You need to login to do that."; if (message == null) { var ship = new Ship(session.Account.Username, upload.Program); message = Game.SpawnQueue.Enqueue(ship); } var messagePacket = new Message() { Title = "Upload", Content = message }; Send(messagePacket, session); }
public static void HandleAuth(NetConnection connection, Packet packet) { var auth = (Auth)packet; var session = SessionManager.Get(connection.RemoteUniqueIdentifier); if (session.Account != null) return; Account account; var error = ""; switch (auth.Type) { case AuthType.Login: account = Account.Login(auth.Username, auth.Password, out error); break; case AuthType.Register: account = Account.Register(auth.Username, auth.Password, out error); break; default: return; } if (account != null) SessionManager.Kick(account.Username); session.Account = account; var response = new AuthResponse { Type = auth.Type, Success = account != null, Message = error }; Send(response, session); }
public static void Send(Packet packet, NetDeliveryMethod method = NetDeliveryMethod.ReliableOrdered, int sequenceChannel = 0) { var message = client.CreateMessage(); Packet.WriteToMessage(packet, message); client.SendMessage(message, method, sequenceChannel); }
private static void HandleScene(NetConnection connection, Packet packet) { var scene = (Scene)packet; Width = scene.Width; Height = scene.Height; StaticObjects = scene.Items.OfType<DrawableNetObject>().OrderByDescending(o => o.Type).ToList(); }
private static void HandleObjects(NetConnection connection, Packet packet) { var objects = (Objects)packet; Objects = objects.Items.OfType<DrawableNetObject>().OrderByDescending(o => o.Type).ToList(); Interface.MainForm.UpdateShips(); }
private static void HandleMessage(NetConnection connection, Packet packet) { var message = (Message)packet; Interface.ShowMessage(message.Title, message.Content); }
private static void HandleAuthResponse(NetConnection connection, Packet packet) { var resp = (AuthResponse)packet; if (resp.Success) LoggedIn = true; Interface.ShowMessage(resp.Type.ToString(), resp.Message); }
public static void Send(Packet packet, Session session, NetDeliveryMethod method = NetDeliveryMethod.ReliableOrdered, int sequenceChannel = 0) { var message = server.CreateMessage(); Packet.WriteToMessage(packet, message); session.Connection.SendMessage(message, method, sequenceChannel); }
public static void Broadcast(Packet packet, NetDeliveryMethod method = NetDeliveryMethod.ReliableOrdered, int sequenceChannel = 0) { var message = server.CreateMessage(); Packet.WriteToMessage(packet, message); server.SendToAll(message, null, method, sequenceChannel); }
public static void WriteToMessage(Packet packet, NetOutgoingMessage message) { message.Write((byte)packet.Id); packet.Write(message); }