Quantcast
Viewing latest article 6
Browse Latest Browse All 1488

What am I missing for the enemy aggro script? My script is below and I know I am missing the top to reference _aggro, Player, etc. But don't know what to put since I am new to coding.

using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyFollow : MonoBehaviour { private void OnTriggerStay2D(Collider2D collision) { if ("Player" == collision.tag) Player = collision.GetComponent(); else Player = null; } private void OnTriggerExit2D(Collider2D collision) { if ("Player" == collision.tag) Player = null; } public void Aggro() { if (PlayerInSight()) { if (XDistance(_aggro.Player) > 1f) //TBD value { isAggro = true; _enemy.Patrol.isPatrolling = false; MoveToPlayer(); _enemy.ToggleIdle(false); } else { isAggro = false; _enemy.Patrol.isPatrolling = false; _enemy.ToggleIdle(true); } } else { isAggro = false; _enemy.Patrol.isPatrolling = true; } } private bool PlayerInSight() { return _aggro.Player != null; } private float XDistance(Transform target) { return Mathf.Abs(transform.position.x - target.position.x); } private void MoveToPlayer() { if (_enemy.Speed > 0) { _enemy.Model.flipX = LeftToRight(); FlipRange(LeftToRight()); } Vector3 target = _aggro.Player.position; target.y = transform.position.y; transform.position = Vector3.MoveTowards(transform.position, target, Time.deltaTime * _enemy.Speed); } public void FlipRange(bool leftToRight) { _aggro.transform.localScale = leftToRight ? _reverse : Vector3.one; } private bool LeftToRight() { return transform.position.x > _aggro.Player.position.x; } }

Viewing latest article 6
Browse Latest Browse All 1488

Trending Articles