public void Disconnect(SkirmishSlot slot) { var peer = _manager.ConnectedPeerList.FirstOrDefault(p => p.EndPoint == slot.EndPoint); if (peer != null) { _manager.DisconnectPeer(peer); } }
public SkirmishGameSettings(bool isHost) { IsHost = isHost; Slots = new SkirmishSlot[MaxNumberOfPlayers]; for (var i = 0; i < Slots.Length; i++) { Slots[i] = new SkirmishSlot(i); } Status = SkirmishGameStatus.Configuring; }
public SkirmishManager(Game game) { _game = game; for (var a = 0; a < 8; a++) { var slot = new SkirmishSlot(); slot.Type = SkirmishSlot.SlotType.Closed; slot.id = a; _slots.Add(slot); } }
public static void Serialize(NetDataWriter writer, SkirmishSlot slot) { writer.Put(slot.Index); writer.Put((byte)slot.State); writer.Put(slot.PlayerName); writer.Put(slot.ColorIndex); writer.Put(slot.FactionIndex); writer.Put(slot.Team); writer.Put(slot.Ready); if (slot.State == SkirmishSlotState.Human) { writer.Put(slot.EndPoint); writer.Put(slot.ProcessId); } }
public static SkirmishSlot Deserialize(NetDataReader reader) { var slot = new SkirmishSlot(reader.GetInt()) { State = (SkirmishSlotState)reader.GetByte(), ColorIndex = reader.GetSByte(), FactionIndex = reader.GetByte(), Team = reader.GetSByte(), StartPosition = reader.GetByte(), }; if (slot.State == SkirmishSlotState.Human) { slot.ClientId = reader.GetString(); slot.PlayerName = reader.GetString(); slot.EndPoint = reader.GetNetEndPoint(); } return(slot); }
public static SkirmishSlot Deserialize(NetDataReader reader) { var slot = new SkirmishSlot() { Index = reader.GetInt(), State = (SkirmishSlotState)reader.GetByte(), PlayerName = reader.GetString(), ColorIndex = reader.GetByte(), FactionIndex = reader.GetByte(), Team = reader.GetByte(), Ready = reader.GetBool() }; if (slot.State == SkirmishSlotState.Human) { slot.EndPoint = reader.GetNetEndPoint(); slot.ProcessId = reader.GetInt(); } return(slot); }
private void SkirmishClientConnectPacketReceived(SkirmishClientConnectPacket packet, SkirmishSlot slot) { slot.ClientId = packet.ClientId; slot.PlayerName = packet.PlayerName; }
private void SkirmishClientUpdatePacketReceived(SkirmishClientUpdatePacket packet, SkirmishSlot slot) { if (slot != null) { slot.PlayerName = packet.PlayerName; slot.Team = packet.Team; slot.FactionIndex = packet.FactionIndex; slot.ColorIndex = packet.ColorIndex; if (packet.StartPosition == 0 || packet.StartPosition == slot.StartPosition || !Settings.Slots.Any(s => s.StartPosition == packet.StartPosition)) { slot.StartPosition = packet.StartPosition; } } }
private void SkirmishClientUpdatePacketReceived(SkirmishClientUpdatePacket packet, SkirmishSlot slot) { if (slot != null) { slot.PlayerName = packet.PlayerName; slot.Ready = packet.Ready; slot.Team = packet.Team; slot.FactionIndex = packet.FactionIndex; slot.ColorIndex = packet.ColorIndex; } }