Started fixing auto-target

And everything is gonna break

Signed-off-by: RosimInc <rosim_inc@hotmail.com>
This commit is contained in:
RosimInc 2015-08-22 18:38:54 -04:00
parent 275bec897d
commit 7658096653
6 changed files with 36 additions and 11 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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;

View File

@ -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) {

View File

@ -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);
}
}
}