public Transform FindEnemyInDesperationAttackInRange() { List <EnemyStatusManager> nullEnemies = new List <EnemyStatusManager>(); EnemyStatusManager firstEnemy = null; foreach (EnemyStatusManager enemy in EnemiesInRange) { if (enemy == null) { nullEnemies.Add(enemy); continue; } else { if (firstEnemy == null && enemy.IsExecutable()) { firstEnemy = enemy; } } continue; } RemoveNullEnemies(nullEnemies); if (firstEnemy == null) { return(null); } return(firstEnemy.transform); }
public void OnCollisionEnter2D(Collision2D other) { if (other.gameObject.tag == Constants.Tags.Enemy) { EnemyStatusManager enemy = other.gameObject.GetComponent <EnemyStatusManager>(); if (enemy.IsExecutable() && IsDashing) { animator.SetTrigger("Execute"); initialPosition = transform.position; DisableRigidbodyEffects(); enemy.Executed(); airDashed = false; playerStatus.RegenerateOnExecute(enemy); playerStatus.playerState = EPlayerState.Executing; } else { enemy.CollideWithPlayer(); } } }
public void RegenerateOnExecute(EnemyStatusManager enemy) { RegenHealth(enemy.executeHealthDrop); RegenEnergy(enemy.executeEnergyDrop); }