void Update() { distanceToPlayer = Vector3.Distance(player.transform.position, transform.position); WeaponSystem weaponSystem = GetComponent <WeaponSystem>(); currentWeaponRange = weaponSystem.GetCurrentWeapon().GetMaxAttackRange(); if (distanceToPlayer > chaseRadius && state != State.patrolling) { StopAllCoroutines(); weaponSystem.StopAttacking(); StartCoroutine(Patrol()); } if (distanceToPlayer <= chaseRadius && state != State.chasing) { StopAllCoroutines(); weaponSystem.StopAttacking(); StartCoroutine(ChasePlayer()); } if (distanceToPlayer <= currentWeaponRange && state != State.attacking) { StopAllCoroutines(); weaponSystem.AttackTarget(player.gameObject); } }
void Start() { myCharacter = GetComponent <Character>(); abilities = GetComponent <SpecialAbilities>(); RegisterforMouseEvent(); weaponSystem = GetComponent <WeaponSystem>(); }
void Update() { distanceToPlayer = Vector3.Distance(player.transform.position, transform.position); WeaponSystem weaponSystem = GetComponent <WeaponSystem>(); currentWeaponRange = weaponSystem.GetCurrentWeapon().GetMaxAttackRange(); if (distanceToPlayer > talkingRadius && state != State.patrolling) { StopAllCoroutines(); StartCoroutine(Patrol()); } if (distanceToPlayer <= talkingRadius && state != State.talking) { StopAllCoroutines(); StartCoroutine(TalkingToPlayer()); } }