Пример #1
0
 private void ManipulationWithEnemy(EnemyShipView enemy, Health health)
 {
     enemy.SetHealth(health);
     enemy.KillPoint = _dataEnemies.EnemyShipKillPoint;
     health.OnDeath += enemy.Death;
     _listenerShowMessageDeathEnemy.Add(enemy);
     new EnemiesSpawn(_dataPlayer).RandomSpawnLocation(enemy);
 }
Пример #2
0
        public static T GetEnemy <T>(Data data) where T : IEnemy
        {
            _data = data;
            var type = typeof(T).Name;
            var list = GetListEnemy(type);

            var enemy = list.FirstOrDefault(x => !(x as MonoBehaviour).gameObject.activeSelf);

            if (enemy == null)
            {
                enemy = CreateEnemy(type);
                list.Add(enemy);
            }
            else
            {
                _listenerHitShowDamage.Add(enemy);
                enemy.Recreate();
            }
            (enemy as MonoBehaviour).gameObject.SetActive(true);
            return((T)enemy);
        }