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); }
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); }