Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
 public bool IsBlocked(ArenaDefinition def)
 {
     return(BlockedArenas != null && BlockedArenas.Contains(def.Name));
 }