mirror of
https://github.com/ConjureETS/PillowFight.git
synced 2026-03-25 17:40:59 +00:00
Started fixing auto-target
And everything is gonna break Signed-off-by: RosimInc <rosim_inc@hotmail.com>
This commit is contained in:
parent
275bec897d
commit
7658096653
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -22,29 +22,54 @@ public class AutoTarget : MonoBehaviour {
|
|||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update () {
|
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) {
|
public Transform GetTarget(Vector3 lookingAngle) {
|
||||||
|
|
||||||
Transform closest = null;
|
Transform closest = null;
|
||||||
float minAngle = minAngleRange;
|
float minAngle = minAngleRange;
|
||||||
|
|
||||||
Debug.Log("looking direction:" + lookingAngle);
|
//Debug.Log("looking direction:" + lookingAngle);
|
||||||
|
Debug.DrawRay(transform.position, lookingAngle * 2);
|
||||||
|
|
||||||
|
|
||||||
foreach (Transform t in targets) {
|
foreach (Transform t in targets) {
|
||||||
|
|
||||||
Vector3 targetDirection = t.transform.position - transform.position;
|
Vector3 targetDirection = t.transform.position - transform.position;
|
||||||
|
|
||||||
float realAngle = Mathf.Atan2(targetDirection.z, targetDirection.x) * Mathf.Rad2Deg;
|
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;
|
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;
|
minAngle = lookAngle;
|
||||||
closest = t;
|
closest = t;
|
||||||
}
|
Debug.DrawRay(transform.position, t.transform.position - transform.position, Color.blue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return closest;
|
return closest;
|
||||||
|
|||||||
@ -44,12 +44,12 @@ public class Child : MonoBehaviour
|
|||||||
{
|
{
|
||||||
_isGrounded = IsGrounded();
|
_isGrounded = IsGrounded();
|
||||||
|
|
||||||
if (Mom.IsInRoom && !_isSleeping)
|
/*if (Mom.IsInRoom && !_isSleeping)
|
||||||
{
|
{
|
||||||
// TODO: Remove a life, kill the player, end the game, etc.
|
// TODO: Remove a life, kill the player, end the game, etc.
|
||||||
|
|
||||||
Debug.Log("Player " + _index + " is being spotted by mom.");
|
Debug.Log("Player " + _index + " is being spotted by mom.");
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// look at the target
|
// look at the target
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
|
|||||||
@ -75,7 +75,8 @@ public class ChildController : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (xLookingValue != 0 || zLookingValue != 0) {
|
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;
|
_child.target = target;
|
||||||
if (_child.target != null) {
|
if (_child.target != null) {
|
||||||
@ -87,7 +88,6 @@ public class ChildController : MonoBehaviour
|
|||||||
Mathf.Atan2(xLookingValue, zLookingValue) * Mathf.Rad2Deg,
|
Mathf.Atan2(xLookingValue, zLookingValue) * Mathf.Rad2Deg,
|
||||||
transform.eulerAngles.z);
|
transform.eulerAngles.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user