Ejemplo n.º 1
0
        public override void Load(bool startup)
        {
            Command.Register(new CmdReloadEffects());
            Command.Register(new CmdEffect());
            Command.Register(new CmdSpawner());

            rnd = new Random();
            LoadEffects();
            DefineEffectsAll();

            playerEffects = PlayerExtList.Load("extra/playereffects.txt");

            OnPlayerMoveEvent.Register(OnPlayerMove, Priority.Low);
            OnPlayerFinishConnectingEvent.Register(OnPlayerFinishConnecting, Priority.Low);
            OnLevelLoadedEvent.Register(OnLevelLoaded, Priority.Low);
            OnLevelUnloadEvent.Register(OnLevelUnload, Priority.Low);
            OnLevelDeletedEvent.Register(OnLevelDeleted, Priority.Low);
            OnLevelCopiedEvent.Register(OnLevelCopied, Priority.Low);
            OnLevelRenamedEvent.Register(OnLevelRenamed, Priority.Low);

            SpawnersFile.cache = new ThreadSafeCache();
            if (!Directory.Exists(SpawnersFile.spawnerDirectory))
            {
                Directory.CreateDirectory(SpawnersFile.spawnerDirectory);
            }
            Level[] levels = LevelInfo.Loaded.Items;
            foreach (Level level in levels)
            {
                SpawnersFile.Load(level);
            }
            spawnerAccum = 0;
            ActivateSpawners();
        }
Ejemplo n.º 2
0
 public static void RemoveAllSpawners(Level lvl, bool save)
 {
     if (!spawnersAtLevel.Remove(lvl))
     {
         return;
     }
     if (save)
     {
         SpawnersFile.Save(lvl);
     }
 }
Ejemplo n.º 3
0
 public static void RemoveSpawner(EffectSpawner spawner, Level lvl, bool save)
 {
     if (!spawnersAtLevel.ContainsKey(lvl))
     {
         return;
     }
     spawnersAtLevel[lvl].Remove(spawner);
     if (save)
     {
         SpawnersFile.Save(lvl);
     }
 }
Ejemplo n.º 4
0
 public static void AddSpawner(EffectSpawner spawner, Level lvl, bool save)
 {
     if (!spawnersAtLevel.ContainsKey(lvl))
     {
         //Logger.Log(LogType.Debug, "We are adding key {0} for the first time.", lvl.MapName);
         List <EffectSpawner> spawnerList = new List <EffectSpawner>();
         spawnerList.Add(spawner);
         spawnersAtLevel.Add(lvl, spawnerList);
     }
     else
     {
         spawnersAtLevel[lvl].Add(spawner);
     }
     if (save)
     {
         SpawnersFile.Save(lvl);
     }
 }
Ejemplo n.º 5
0
 static void OnLevelRenamed(string srcMap, string dstMap)
 {
     SpawnersFile.Rename(srcMap, dstMap);
 }
Ejemplo n.º 6
0
 static void OnLevelCopied(string srcMap, string dstMap)
 {
     SpawnersFile.Copy(srcMap, dstMap);
 }
Ejemplo n.º 7
0
 static void OnLevelDeleted(string map)
 {
     SpawnersFile.Delete(map);
 }
Ejemplo n.º 8
0
 static void OnLevelLoaded(Level lvl)
 {
     SpawnersFile.Load(lvl);
 }