public void OnRangeExit(AttackRangeController rangeController, GameObject gO) { EnemyController enemy = gO.GetComponent <EnemyController>(); if (enemy != null) { RemoveEnemy(enemy); } }
public void OnRangeEnter(AttackRangeController rangeController, GameObject gO) { EnemyController enemy = gO.GetComponent <EnemyController>(); if (enemy != null) { AddEnemy(enemy); CheckAndShoot(); } }
protected virtual void OnRangeEnter(AttackRangeController attackRange, GameObject gameObject) { if (gameObject.transform == target) { targetReached = true; Hittable hittable = gameObject.GetComponent <Hittable>(); if (hittable != null) { Attack(hittable); } } }
// Start is called before the first frame update /// <summary> /// Start is called on the frame when a script is enabled just before /// any of the Update methods is called the first time. /// </summary> void Start() { intialstats = stats; intialPos = transform.position * 1; enemyDictionary = new SortedDictionary <long, EnemyController>(); rigidBody = GetComponent <Rigidbody2D>(); rangeController = GetComponentInChildren <AttackRangeController>(); _lifeShapeController = GetComponentInChildren <LifeShapeController>(); _lifeShapeController.Init(); _lifeShapeController.UpdateShadow(stats.maxLifes, stats.currentLifes); rangeController.SetOnEnterAction(OnRangeEnter); rangeController.SetOnExitAction(OnRangeExit); _gun = GetComponent <GunController>(); _alive = true; }
protected virtual void OnRangeExit(AttackRangeController attackRange, GameObject gameObject) { targetReached = false; }