using System.Collections; using System.Collections.Generic; using UnityEngine; public class Bandit : Fighter { [SerializeField, Tooltip("When the AntiPlayer is closer than this value, change to a combat idle anim")] float playerNearDistance = 3.75f; [SerializeField, Tooltip("How close the AntiPlayer has to be in order for this Bandit to start attacking")] float playerDistanceToAttack = 1.25f; GameObject antiPlayer; SpriteRenderer spriteRenderer; protected override void Awake() { base.Awake(); spriteRenderer = GetComponent<SpriteRenderer>(); antiPlayer = GameObject.FindGameObjectWithTag("AntiPlayer"); } protected override void Update() { base.Update(); if (GetDistanceToAntiPlayer() < playerNearDistance) { animator.SetInteger("AnimState", 1); // Combat Idle } else { animator.SetInteger("AnimState", 0); // Idle } // animator.SetInteger("AnimState", 2); // Run // Always face the AntiPlayer spriteRenderer.flipX = transform.position.x < antiPlayer.transform.position.x; } protected override void Attack() { if (GetDistanceToAntiPlayer() < playerDistanceToAttack) { animator.SetTrigger("Attack"); } } float GetDistanceToAntiPlayer() { return Vector3.Distance(transform.position, antiPlayer.transform.position); } }