public void ConnectToRoom(IRoomInformations RoomToConnect) { if (RoomToConnect.OwnerServerIP != Host.IP) { ChangeHost(IPAddress.Parse(RoomToConnect.OwnerServerIP), RoomToConnect.OwnerServerPort); } }
protected internal override void Execute(IOnlineConnection Sender) { IRoomInformations CreatedRoom = Owner.Database.GenerateNewRoom(RoomName, "", Owner.IP, Owner.Port); CreatedGroup = new ClientGroup(CreatedRoom); CreatedGroup.Room.AddPlayer(Sender); Owner.DicLocalRoom.Add(CreatedRoom.RoomID, CreatedGroup); Owner.DicAllRoom.Add(CreatedRoom.RoomID, CreatedRoom); Owner.ListPlayerToRemove.Add(Sender); Owner.SharedWriteBuffer.ClearWriteBuffer(); Owner.SharedWriteBuffer.WriteScript(new RoomListScriptServer(Owner, new List <IRoomInformations>() { CreatedRoom })); foreach (IOnlineConnection ActivePlayer in Owner.ListPlayer) { if (ActivePlayer == Sender) { continue; } ActivePlayer.SendWriteBuffer(); } Sender.Send(new SendRoomIDScriptServer(CreatedRoom.RoomID)); }
public void RemoveRoom(string RoomID) { IList <DateTimeOffset> RoomKeys = ListRoom.Keys; for (int R = 0; R < RoomKeys.Count; ++R) { for (int i = 0; i < ListRoom[RoomKeys[R]].Count; i++) { IRoomInformations ActiveRoom = ListRoom[RoomKeys[R]][i]; if (ActiveRoom.RoomID == RoomID) { ListRoom[RoomKeys[R]].RemoveAt(i); break; } } if (ListRoom[RoomKeys[R]].Count == 0) { ListRoom.Remove(RoomKeys[R]); } } }
public JoinRoomFailedScriptServer(string RoomID, IRoomInformations RoomToJoin) : base("Join Room Failed") { this.RoomID = RoomID; this.RoomToJoin = RoomToJoin; }
public ClientGroup(IRoomInformations Room) { this.Room = Room; }
public AskChangeRoomSubtypeScriptServer(IRoomInformations Owner) : base(ScriptName) { this.Owner = Owner; }
public GameClientGroup CreateFromTemplate(IRoomInformations Room) { return(new BattleMapClientGroup(Room)); }
private BattleMapClientGroup(IRoomInformations Room) { this._Room = Room; }
public AskChangeMapScriptServer(IRoomInformations Owner, Server OnlineServer) : base(ScriptName) { this.Owner = Owner; this.OnlineServer = OnlineServer; }
public GameClientGroup CreateFromTemplate(IRoomInformations Room) { return(new TripleThunderClientGroup(Room)); }
private TripleThunderClientGroup(IRoomInformations Room) { this._Room = Room; }
public LeaveRoomScriptServer(IRoomInformations Owner, Server OnlineServer) : base(ScriptName) { this.Owner = Owner; this.OnlineServer = OnlineServer; }
public ClientGroup TransferRoom(string RoomID) { IRoomInformations UpdatedRoom = Database.TransferRoom(RoomID, IP); return(new ClientGroup(UpdatedRoom)); }