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(); }
public static void RemoveAllSpawners(Level lvl, bool save) { if (!spawnersAtLevel.Remove(lvl)) { return; } if (save) { SpawnersFile.Save(lvl); } }
public static void RemoveSpawner(EffectSpawner spawner, Level lvl, bool save) { if (!spawnersAtLevel.ContainsKey(lvl)) { return; } spawnersAtLevel[lvl].Remove(spawner); if (save) { SpawnersFile.Save(lvl); } }
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); } }
static void OnLevelRenamed(string srcMap, string dstMap) { SpawnersFile.Rename(srcMap, dstMap); }
static void OnLevelCopied(string srcMap, string dstMap) { SpawnersFile.Copy(srcMap, dstMap); }
static void OnLevelDeleted(string map) { SpawnersFile.Delete(map); }
static void OnLevelLoaded(Level lvl) { SpawnersFile.Load(lvl); }