/// <summary> /// 敌人使用某种战术 /// </summary> /// <param name="tactic"></param> public static void ForceEnemyTactic(ENEMYTACTIC tactic) { GetActiveEnemies(); if (activeEnemies.Count > 0) { for (int i = 0; i < activeEnemies.Count; i++) { activeEnemies[i].GetComponent <EnemyAI>().SetEnemyTactic(tactic); } } }
public void Attack() { if (target == null) { SetTargetToPlayers(); } if (target.GetComponent <Player>().curHealth <= 0) { enemyTactic = ENEMYTACTIC.KEEPMEDIUMDISTANCE; } if (Time.time - lastAttackTime > attackInterval) { enemyState = ENEMYSTATE.ATTACK; Move(Vector3.zero, 0); LookAtTarget(); enemyAnimator.SetTrigger("Punch"); lastAttackTime = Time.time; } enemyAnimator.SetBool("Walk", false); }
public override void Reset() { gameObject = null; tactic = ENEMYTACTIC.ENGAGE; everyFrame = false; }
public void SetEnemyTactic(ENEMYTACTIC tactic) { enemyTactic = tactic; }
public void IdleOff() { SetTargetToPlayers(); enemyTactic = ENEMYTACTIC.ENGAGE; }
public void IdleOn() { enemyTactic = ENEMYTACTIC.STANDSTILL; target = null; }