示例#1
0
    public void Initialize()
    {
        _onStartNewWaveSignal += OnStartNewWave;
        _onZombieDiedSignal   += OnZombieDied;

        Deserialize();
    }
示例#2
0
    public ZombieCollection(ZombiePool pool, ZombieDiedSignal onZombieDiedSignal, UpdateZombieObjectsCountSignal updateZombieObjectsCountSignal,
                            LanguageChangedSignal languageChangedSignal)
    {
        _pool = pool;

        _onZombieDiedSignal = onZombieDiedSignal;
        _onUpdateZombieObjectsCountSignal = updateZombieObjectsCountSignal;
        _onLanguageChangedSignal          = languageChangedSignal;

        _zombieGameObjects       = new List <ZombieController>();
        _aliveCount              = 0;
        _zombiePhysicsForceTimer = null;
    }
示例#3
0
    public ZombieManager(ZombieDiedSignal zombieDiedSignal, ZombiePool zombiePool,
                         ZombieFactory goFactory, GameConfig gameConfig, StartNewWaveSignal startNewWave,
                         WaveStartedSignal waveStarted, UpdateZombiesCountSignal onUpdateZombiesCountSignal,
                         NightManager nightManager, WindowsManager windowsManager, ZombieConfig zombieConfig,
                         TutorialManager tutorialManager, AnalyticsManager analyticsManager) : base("zombies.json")
    {
        _onZombieDiedSignal            = zombieDiedSignal;
        _onStartNewWaveSignal          = startNewWave;
        _onWaveStartedSignal           = waveStarted;
        _onUpdateZombiesCountSignal    = onUpdateZombiesCountSignal;
        _windowsManager                = windowsManager;
        _tutorialManager               = tutorialManager;
        _tutorialManager.ZombieManager = this;
        _analyticsManager              = analyticsManager;

        _zombiePool   = zombiePool;
        _GOfactory    = goFactory;
        _gameConfig   = gameConfig;
        _nightManager = nightManager;
        _zombieConfig = zombieConfig;

        _zombies = new List <Zombie>();
        _zombieCountBeforeBoss    = _gameConfig.waveSettings.startZombieCount;
        _currentZombieCount       = _zombieCountBeforeBoss;
        _currentDecadeZombieCount = _gameConfig.waveSettings.startZombieCount;
        WaveNumber             = _gameConfig.waveSettings.startWave;
        _currentMainZombieType = ZombieType.Basic;
        _otherMainTypes        = new List <ZombieType>();
        _otherMainTypes.Add(ZombieType.Acid);
        _otherMainTypes.Add(ZombieType.Fire);
        _otherMainTypes.Add(ZombieType.Armor);
        _otherMainTypes.Add(ZombieType.Electro);

        _otherAddTypes = new List <ZombieType>();

        _hpPerZombie          = new InfInt();
        _currentDecadeStartHP = new InfInt(_gameConfig.waveSettings.firstWaveHP);
        _currentWaveHP        = new InfInt(_currentDecadeStartHP);

        _tempBigNumber = new InfInt();
        _tmpBigNumber  = new InfInt();

        _autoStartNewWave    = false;
        _waveStarted         = false;
        _timeTravelStartLock = false;
        _lastBossAlive       = false;
    }
示例#4
0
 public void Dispose()
 {
     _onStartNewWaveSignal -= OnStartNewWave;
     _onZombieDiedSignal   -= OnZombieDied;
 }