public override void Deserialize(GenericReader reader) { base.Deserialize(reader); SystemInitialized = true; int version = reader.ReadInt(); if (version < 2) { InitializeArenas(); } switch (version) { case 2: case 1: int c = reader.ReadInt(); for (int i = 0; i < c; i++) { if (BlockedArenas == null) { BlockedArenas = new List <string>(); } BlockedArenas.Add(reader.ReadString()); } goto case 0; case 0: int count = reader.ReadInt(); for (int i = 0; i < count; i++) { if (Arenas == null) { Arenas = new List <PVPArena>(); } if (version >= 2) { PVPArena arena = new PVPArena(GetDefinition(reader.ReadString())); Register(arena); arena.Deserialize(reader); } else { Arenas[i].Deserialize(reader); } } break; } }
public void AddBlockedArena(PVPArena arena) { if (BlockedArenas == null) { BlockedArenas = new List <string>(); } if (!IsBlocked(arena.Definition)) { Utility.WriteConsoleColor(ConsoleColor.Green, "Adding blocked EA PVP Arena: {0}", arena.Definition.Name); BlockedArenas.Add(arena.Definition.Name); Unregister(arena); } }
public void RemoveBlockedArena(ArenaDefinition def) { if (BlockedArenas == null) { return; } BlockedArenas.Remove(def.Name); if (Arenas == null || Arenas.Count == 0) { Timer.DelayCall(TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), () => Instance.OnTick()); } PVPArena arena = new PVPArena(def); Instance.Register(arena); Utility.WriteConsoleColor(ConsoleColor.Green, "Removing blocked EA PVP Arena: {0}", arena.Definition.Name); arena.ConfigureArena(); }
public bool IsBlocked(ArenaDefinition def) { return(BlockedArenas != null && BlockedArenas.Contains(def.Name)); }