| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public enum AssassinState
- {
- Normal = 0, //Õý³£×´Ì¬
- FindPlayer = 1, //ѰÕÒÖ÷½ÇλÖÃ
- }
- public class ESpirits_Assassin : MonoBehaviour
- {
- [HideInInspector]
- public float time;
- public float CD;
- public float hateDistance;
- public AssassinState state;
- public Enemy enemy;
- private void Update()
- {
- switch (state)
- {
- case AssassinState.Normal:
- time += Time.deltaTime;
- if (time > CD)
- {
- enemy.isSpiritsAttack = true;
- state = AssassinState.FindPlayer;
- }
- break;
- case AssassinState.FindPlayer:
- float distance0 = Mathf.Abs(PlayersInput.instance[0].transform.position.x
- - transform.position.x);
- float distance1 = Mathf.Abs(PlayersInput.instance[1].transform.position.x
- - transform.position.x);
- if (distance0<=distance1)
- {
- enemy.targetCharacter = PlayersInput.instance[0];
- }
- else
- {
- enemy.targetCharacter = PlayersInput.instance[1];
- }
- enemy.ChangeState(CharacterState.Run);
- break;
- }
-
- }
- }
|