diff --git a/Assets/Prefabs/Door Light.prefab b/Assets/Prefabs/Door Light.prefab index 63d68fe..54a2cf7 100644 Binary files a/Assets/Prefabs/Door Light.prefab and b/Assets/Prefabs/Door Light.prefab differ diff --git a/Assets/Scenes/MomLightSimon.unity b/Assets/Scenes/MomLightSimon.unity index 9d3f0e0..4d8836d 100644 Binary files a/Assets/Scenes/MomLightSimon.unity and b/Assets/Scenes/MomLightSimon.unity differ diff --git a/Assets/Scenes/jp.unity b/Assets/Scenes/jp.unity index 042ec3c..1b9571e 100644 Binary files a/Assets/Scenes/jp.unity and b/Assets/Scenes/jp.unity differ diff --git a/Assets/Scripts/AutoTarget.cs b/Assets/Scripts/AutoTarget.cs index d2920a6..de1ff73 100644 --- a/Assets/Scripts/AutoTarget.cs +++ b/Assets/Scripts/AutoTarget.cs @@ -22,29 +22,54 @@ public class AutoTarget : MonoBehaviour { // Update is called once per frame void Update () { + } + + public Transform GetTarget(float screenX, float screenZ) + { + //Translate into looking angles + + Vector3 forwardDir = Camera.main.transform.forward; + Vector3 rightDir = Camera.main.transform.right; + + forwardDir.y = 0f; + forwardDir = forwardDir.normalized * screenZ; + + rightDir.y = 0f; + rightDir = rightDir.normalized * screenX; + + Vector3 movement = forwardDir + rightDir; + + return GetTarget(movement); } - + public Transform GetTarget(Vector3 lookingAngle) { + Transform closest = null; float minAngle = minAngleRange; - Debug.Log("looking direction:" + lookingAngle); + //Debug.Log("looking direction:" + lookingAngle); + Debug.DrawRay(transform.position, lookingAngle * 2); foreach (Transform t in targets) { + Vector3 targetDirection = t.transform.position - transform.position; float realAngle = Mathf.Atan2(targetDirection.z, targetDirection.x) * Mathf.Rad2Deg; - Debug.Log("real angle:" + realAngle); + //Debug.Log("real angle:" + realAngle); float lookAngle = Mathf.Atan2(lookingAngle.z, lookingAngle.x) * Mathf.Rad2Deg; - Debug.Log("look angle:" + lookAngle); + Debug.Log("look angle:" + lookAngle); + + float angle = (lookAngle - realAngle + 5*360) % 360; + //float angle = lookAngle - realAngle; - if (Mathf.Abs(lookAngle - realAngle) < minAngle) { + if (Mathf.Abs(angle) < minAngle) { minAngle = lookAngle; - closest = t; - } + closest = t; + Debug.DrawRay(transform.position, t.transform.position - transform.position, Color.blue); + } } return closest; diff --git a/Assets/Scripts/Child.cs b/Assets/Scripts/Child.cs index a7ca486..dceb151 100644 --- a/Assets/Scripts/Child.cs +++ b/Assets/Scripts/Child.cs @@ -44,12 +44,12 @@ public class Child : MonoBehaviour { _isGrounded = IsGrounded(); - if (Mom.IsInRoom && !_isSleeping) + /*if (Mom.IsInRoom && !_isSleeping) { // TODO: Remove a life, kill the player, end the game, etc. Debug.Log("Player " + _index + " is being spotted by mom."); - } + }*/ // look at the target if (target != null) { diff --git a/Assets/Scripts/ChildController.cs b/Assets/Scripts/ChildController.cs index 991eae0..2721ed7 100644 --- a/Assets/Scripts/ChildController.cs +++ b/Assets/Scripts/ChildController.cs @@ -75,7 +75,8 @@ public class ChildController : MonoBehaviour } if (xLookingValue != 0 || zLookingValue != 0) { - Transform target = _autoTarget.GetTarget(new Vector3(xLookingValue, 0, zLookingValue)); + //Transform target = _autoTarget.GetTarget(new Vector3(xLookingValue, 0, zLookingValue)); + Transform target = _autoTarget.GetTarget(xLookingValue, zLookingValue); _child.target = target; if (_child.target != null) { @@ -87,7 +88,6 @@ public class ChildController : MonoBehaviour Mathf.Atan2(xLookingValue, zLookingValue) * Mathf.Rad2Deg, transform.eulerAngles.z); } - } }