Example #1
0
    public MonsterState(MonsterGenerator generator, LevelConfig.LevelDef levelDef, HUDController hudController) : base(generator, levelDef)
    {
        _currentWaveIndex = 0;
        _hudController    = hudController;

        _waveQueue = new Queue <LevelConfig.WaveDef>();
        _maxWaves  = levelDef.waves.Length;
        for (int i = 0; i < _maxWaves; i++)
        {
            LevelConfig.WaveDef def = levelDef.waves[i];
            def.waveIndex = i;
            _waveQueue.Enqueue(def);
        }
    }
Example #2
0
    public MonsterGenerator(GameConfig gameConfig, EnemySystem enemySystem)
    {
        _dispatcher = Singleton.instance.notificationDispatcher;
        // TODO: Klean it up!
        _dispatcher.AddListener(GameplayEventType.ENEMY_KILLED, onEnemyKilled);
        _dispatcher.AddListener(GameplayEventType.GAME_COMPLETE, OnGameComplete);

        _levelConfig = gameConfig.levelConfig;
        _enemySystem = enemySystem;

        if (_levelConfig.levels.Count == 0)
        {
            Debug.LogError("NO LEVELS LOADED IN LEVEL CONFIG!");
        }
        else
        {
            _levelDef = _levelConfig.levels[0];
        }
    }
 public EndState(MonsterGenerator generator, LevelConfig.LevelDef levelDef) : base(generator, levelDef)
 {
 }
 public FlowState(MonsterGenerator generator, LevelConfig.LevelDef levelDef)
 {
     _generator = generator;
     _levelDef  = levelDef;
 }
 public BetweenWaveState(MonsterGenerator generator, LevelConfig.LevelDef levelDef) : base(generator, levelDef)
 {
 }