public void Boot() { Rooms = new List <Room>(); Room mainRoom = new Room(new PointF(0, 0), new PointF(750, 450)); mainRoom.isMainRoom = true; mainRoom.AddDoor(Room.DoorPosition.Right, 50); Room room1 = new Room(new PointF(0, 0), new PointF(150, 150)); room1.AddDoor(Room.DoorPosition.Down, 50); Room room2 = new Room(new PointF(150, 0), new PointF(300, 150)); room2.AddDoor(Room.DoorPosition.Down, 50); Room room3 = new Room(new PointF(500, 0), new PointF(750, 150)); room3.AddDoor(Room.DoorPosition.Down, 50); Room room4 = new Room(new PointF(0, 300), new PointF(150, 450)); room4.AddDoor(Room.DoorPosition.Right, 50); Room room5 = new Room(new PointF(300, 300), new PointF(550, 450)); room5.AddDoor(Room.DoorPosition.Left, 50); Room room6 = new Room(new PointF(550, 300), new PointF(750, 450)); room6.AddDoor(Room.DoorPosition.Up, 50); Rooms.Add(mainRoom); Rooms.Add(room1); Rooms.Add(room2); Rooms.Add(room3); Rooms.Add(room4); Rooms.Add(room5); Rooms.Add(room6); EmergencyCheckpoint ec6 = new EmergencyCheckpoint(new PointF(750, 225), null); EmergencyCheckpoint ec5 = new EmergencyCheckpoint(new PointF(640, 225), ec6); EmergencyCheckpoint ec4 = new EmergencyCheckpoint(new PointF(400, 215), ec5); EmergencyCheckpoint ec3 = new EmergencyCheckpoint(new PointF(225, 225), ec4); EmergencyCheckpoint ec2 = new EmergencyCheckpoint(new PointF(75, 225), ec3); EmergencyCheckpoint ec1 = new EmergencyCheckpoint(new PointF(225, 350), ec3); EmergencyRoute.Add(ec6); EmergencyRoute.Add(ec5); EmergencyRoute.Add(ec4); EmergencyRoute.Add(ec3); EmergencyRoute.Add(ec2); EmergencyRoute.Add(ec1); Rooms.ForEach(room => { Doors.AddRange(room.Doors); Walls.AddRange(room.Walls); }); }
public IOContext( ICollection <Door> doors, Notifier engineUp, Notifier engineDown ) { Doors.AddRange(doors); EngineUP = engineUp; EngineDown = engineDown; }
public virtual void Deserialize(GenericReader reader) { var version = reader.GetVersion(); if (version > 5) { reader.ReadBlock( r => { if (version > 6) { Serial = new PvPSerial(r); } else { Serial = r.ReadTypeCreate <PvPSerial>(r) ?? new PvPSerial(r); } }); } switch (version) { case 7: case 6: case 5: Hidden = reader.ReadBool(); goto case 4; case 4: _FloorItemDelete = reader.ReadBool(); goto case 3; case 3: case 2: { Gate = reader.ReadItem <PvPSpectatorGate>(); if (Gate != null) { Gate.Battle = this; } } goto case 1; case 1: { Category = reader.ReadString(); Ranked = reader.ReadBool(); InviteWhileRunning = reader.ReadBool(); } goto case 0; case 0: { if (version < 6) { reader.ReadBlock(r => Serial = r.ReadTypeCreate <PvPSerial>(r) ?? new PvPSerial(r)); } DebugMode = reader.ReadBool(); _State = reader.ReadFlag <PvPBattleState>(); _Name = reader.ReadString(); Description = reader.ReadString(); AutoAssign = reader.ReadBool(); UseTeamColors = reader.ReadBool(); IgnoreCapacity = reader.ReadBool(); _SubCommandPrefix = reader.ReadChar(); QueueAllowed = reader.ReadBool(); SpectateAllowed = reader.ReadBool(); KillPoints = version < 3 ? (reader.ReadBool() ? 1 : 0) : reader.ReadInt(); PointsBase = reader.ReadInt(); PointsRankFactor = reader.ReadDouble(); IdleKick = reader.ReadBool(); IdleThreshold = reader.ReadTimeSpan(); LastState = reader.ReadFlag <PvPBattleState>(); LastStateChange = reader.ReadDateTime(); _LightLevel = reader.ReadInt(); LogoutDelay = reader.ReadTimeSpan(); Doors.AddRange(reader.ReadStrongItemList <BaseDoor>()); reader.ReadBlock(r => Options = r.ReadTypeCreate <PvPBattleOptions>(r) ?? new PvPBattleOptions()); if (Schedule != null && Schedule.Running) { Schedule.Stop(); } reader.ReadBlock(r => Schedule = r.ReadTypeCreate <Schedule>(r) ?? new Schedule("Battle " + Serial.Value, false)); reader.ReadBlock(r => _BattleRegion = r.ReadTypeCreate <PvPBattleRegion>(this, r) ?? new PvPBattleRegion(this)); reader.ReadBlock( r => _SpectateRegion = r.ReadTypeCreate <PvPSpectateRegion>(this, r) ?? new PvPSpectateRegion(this)); reader.ReadBlockList(r => r.ReadTypeCreate <PvPTeam>(this, r) ?? new PvPTeam(this), Teams); } break; } }