예제 #1
0
        public void StartLevel(LevelData levelData)
        {
            _blocks    = new List <Block>();
            _levelData = levelData;
            _setLevelNameSignal.Fire(levelData.LevelName);
            _headQuarter = _hqPool.Spawn();
            _headQuarter.transform.position = levelData.HqPosition;
            _playerSpewnPoint = levelData.PlayerSpawnVector3;
            GetMapFromTexture(_levelData.LevelGeometry);
            _mapData = new MapData(_levelData.LevelGeometry);
            _collidedWithBlockSignal += onCollidedWithBlock;
            _enemySpawnController     = new EnemySpawnController();
            _enemySpawnController.Init(15, levelData.EnemySpawnPoints, _enemyPool, _mapData);

            _player = _playerPool.Spawn();
            _player.Player.Position   = _playerSpewnPoint;
            _player.Player.LifesCount = 3;

            _enemySpawnController.InitialSpawnAtStart();

            EnemyTankCount tankCount = new EnemyTankCount();

            tankCount.AllTanksCount    = _enemySpawnController.UnitsCount;
            tankCount.InGameTanksCount = _killedTankCount;
            _setPlayerLifesSignal.Fire(_player.Player.LifesCount);
            _setEnemyTankCountSignal.Fire(tankCount);
            SendTankCountInfo();
        }
예제 #2
0
        private void SendTankCountInfo()
        {
            EnemyTankCount tankCount = new EnemyTankCount();

            tankCount.AllTanksCount    = _enemySpawnController.UnitsCount;
            tankCount.InGameTanksCount = _killedTankCount;
            _setEnemyTankCountSignal.Fire(tankCount);
        }
예제 #3
0
 private void OnTankCountSet(EnemyTankCount tankCount)
 {
     if (_iconList.Count == 0)
     {
         for (int i = 0; i < tankCount.AllTanksCount; i++)
         {
             var image = _tankIconPool.Spawn();
             image.SetBlankIcon();
             image.transform.SetParent(_enemyTnaksWidgetView.IconHolder.transform);
             _iconList.Add(image);
         }
     }
     else
     {
         for (int i = 0; i < tankCount.InGameTanksCount; i++)
         {
             _iconList[i].ChangeIconToFill();
         }
     }
 }