diff --git a/Assets/Scripts/AutoTarget.cs b/Assets/Scripts/AutoTarget.cs index bfebfc6..fbad79e 100644 --- a/Assets/Scripts/AutoTarget.cs +++ b/Assets/Scripts/AutoTarget.cs @@ -46,9 +46,15 @@ public class AutoTarget : MonoBehaviour } public Transform GetTarget(Vector3 lookingAngle) + { + return GetTarget(lookingAngle, 2000); + } + + public Transform GetTarget(Vector3 lookingAngle, float range) { Transform closest = null; - float minAngle = minAngleRange; + float minAngle = minAngleRange; + float rangeSq = range * range; //Debug.Log("looking direction:" + lookingAngle); Debug.DrawRay(transform.position, lookingAngle * 2); @@ -56,7 +62,9 @@ public class AutoTarget : MonoBehaviour foreach (Transform t in targets) { - Vector3 targetDirection = t.transform.position - transform.position; + Vector3 targetDirection = t.transform.position - transform.position; + if (targetDirection.sqrMagnitude > rangeSq) + continue; float realAngle = Mathf.Atan2(targetDirection.z, targetDirection.x) * Mathf.Rad2Deg; diff --git a/Assets/Scripts/Child.cs b/Assets/Scripts/Child.cs index 5720cb7..0282551 100644 --- a/Assets/Scripts/Child.cs +++ b/Assets/Scripts/Child.cs @@ -236,13 +236,13 @@ public class Child : MonoBehaviour public void Swing() { //1. Determine if there is someone in front - Transform t = null; //GetTarget + Transform t = null;//_autoTarget.GetTarget(transform.forward, 0.9f); if(t == null) return; //2. Apply force to the person - Vector3 direction = target.transform.position - transform.position; + Vector3 direction = t.transform.position - transform.position; direction = direction.normalized; diff --git a/Assets/Scripts/ChildController.cs b/Assets/Scripts/ChildController.cs index a63059e..abee728 100644 --- a/Assets/Scripts/ChildController.cs +++ b/Assets/Scripts/ChildController.cs @@ -94,9 +94,12 @@ public class ChildController : MonoBehaviour } } - if (input.Ranges.ContainsKey("Throw")) { - _child.Throw(); - } + //if (input.Ranges.ContainsKey("Throw")) { + // _child.Throw(); + //} + + if (input.Ranges.ContainsKey("Throw")) + _child.Swing(); } private void HandlePlayerButtons(MappedInput input)