public DefaultChallenge(Trigger startTrigger, SpawnOverTime spawnOverTime) { notNullReference.Check(startTrigger, "startTrigger"); notNullReference.Check(spawnOverTime, "spawnOverTime"); this.startTrigger = startTrigger; this.spawnOverTime = spawnOverTime; }
private SpawnOverTime CreateSpawnOverTime(SpawnConfig spawnConfig) { SpawnOverTime sot = new SpawnOverTime(); sot.SetEnv(defaultEnvironment); sot.SetHeroAndMonsterConfig(heroAndMonsterConfig); sot.SetCookies(spawnConfig.CookiesList()); return(sot); }
private Challenge CreateChallenge(ChallengeConfig challengeConfig, List <IAction> actions, DungeonLogic dungeonLogic) { Trigger startTrigger = CreateTrigger(challengeConfig.StartTrigger()); SpawnOverTime sot = CreateSpawnOverTime(challengeConfig.SpawnConfig()); List <TrackerConfig> trackerConfigs = challengeConfig.SpawnConfig().TrackerConfigs(); foreach (TrackerConfig trackerConfig in trackerConfigs) { if (!trackerConfig.IsActive()) { continue; } Tracker tracker = CreateTracker(trackerConfig); sot.AddTracker(tracker); } // List<ActionConfig> actionConfigs = challengeConfig.SpawnConfig().ActionConfigs(); // foreach (ActionConfig actionConfig in actionConfigs) // { // if (actionConfig.IsDisabled()) continue; // // IAction action = CreateAction(actionConfig, dungeonLogic); // sot.AddAction(action); // } foreach (IAction action in actions) { sot.AddAction(action); } DefaultChallenge challenge = new DefaultChallenge(startTrigger, sot); return(challenge); }