public ExplosionComponent CreateExplosion(GameEntityComponent owner) { if (explosion == null) return null; var clone = Instantiate(explosion); var retVal = clone.RequireComponent<ExplosionComponent>(); retVal.transform.SetParent(Scene2D.main.transform); retVal.isEnemy = owner is EnemyComponent; retVal.Initialize(); return retVal; }
public override void Initialize() { base.Initialize(); switch (enemyType) { case EnemyType.Missile: // select target var index = Random.Range(0, CityComponent.Cities.Count); target = CityComponent.Cities[index]; break; } }
public ExplosionComponent CreateExplosion(GameEntityComponent owner) { if (explosion == null) { return(null); } var clone = Instantiate(explosion); var retVal = clone.RequireComponent <ExplosionComponent>(); retVal.transform.SetParent(Scene2D.main.transform); retVal.isEnemy = owner is EnemyComponent; retVal.Initialize(); return(retVal); }
protected override void Start() { sensing = GetComponent <EC_Sensing>(); movement = GetComponent <EC_Movement>(); playerController = GetComponent <EC_PlayerController>(); fishieAI = GetComponent <EC_FishieAI>(); ressources = GetComponent <EC_Ressources>(); actions = GetComponent <EC_Actions>(); //setup all attached components if (playerController != null) { components = new GameEntityComponent[] { sensing, movement, actions, ressources, playerController } } ; else if (fishieAI != null) { components = new GameEntityComponent[] { sensing, movement, actions, ressources, fishieAI } } ; base.Start(); } }