Question by
steven_pierretio · Nov 19, 2015 at 04:22 PM ·
nestedvector3.distanceif else
nested if stop working
can someone help me, i'm trying to make some distance check but the check stopped before reach the if. here's my code...
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public Transform[] points;
private int hour;
private int minute;
private int ampm;
private int dates;
public GameObject human_main;
public GameObject human_test;
public GameObject object_main;
public GameObject objectTarget;
public clockTime watch;
private NavMeshAgent agent;
private int destPoint = 0;
// Use this for initialization
void Start () {
agent = GetComponent<NavMeshAgent>();
agent.autoBraking = false;
human_test = GameObject.Find ("Body_1");
objectTarget = GameObject.Find ("chairBody");
//human_test.SetActive (false);
objectTarget.SetActive (false);
}
// Update is called once per frame
void Update () {
hour = watch.getHour ();
minute = watch.getMinute ();
ampm = watch.getAmpm ();
dates = watch.getDate ();
if (dates == 1) {
if ((hour == 7) && (minute == 3) && (ampm == 1)) {
//human_test.SetActive (true);
Debug.Log("true");
agent.destination = points [0].position;
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) < 1) {
objectTarget.SetActive (true);
human_test.SetActive (false);
}
} else if ((hour == 10) && (minute == 3) && (ampm == 1)) {
GotoRandPoint ();
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) > 1) {
objectTarget.SetActive (false);
human_test.SetActive (true);
}
}
} else if (dates == 2) {
if ((hour == 7) && (minute == 3) && (ampm == 1)) {
Debug.Log("true");
//human_test.SetActive (true);
agent.destination = points [0].position;
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) < 1) {
objectTarget.SetActive (true);
human_test.SetActive (false);
}
} else if ((hour == 10) && (minute == 3) && (ampm == 1)) {
GotoRandPoint ();
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) < 1) {
objectTarget.SetActive (true);
human_test.SetActive (false);
}
}
}else if (dates == 3) {
if ((hour == 7) && (minute == 3) && (ampm == 1)) {
Debug.Log("true");
//human_test.SetActive (true);
agent.destination = points [0].position;
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) < 1) {
objectTarget.SetActive (true);
human_test.SetActive (false);
}
} else if ((hour == 10) && (minute == 3) && (ampm == 1)) {
GotoRandPoint ();
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) > 1) {
objectTarget.SetActive (false);
human_test.SetActive (true);
}
}
}else if (dates == 4) {
if ((hour == 7) && (minute == 3) && (ampm == 1)) {
Debug.Log("true");
//human_test.SetActive (true);
agent.destination = points [0].position;
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) < 1) {
objectTarget.SetActive (true);
human_test.SetActive (false);
}
} else if ((hour == 10) && (minute == 3) && (ampm == 1)) {
GotoRandPoint ();
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) > 1) {
objectTarget.SetActive (false);
human_test.SetActive (true);
}
}
}else if (dates == 5) {
if ((hour == 7) && (minute == 3) && (ampm == 1)) {
Debug.Log("true");
//human_test.SetActive (true);
agent.destination = points [0].position;
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) < 1) {
objectTarget.SetActive (true);
human_test.SetActive (false);
}
} else if ((hour == 10) && (minute == 3) && (ampm == 1)) {
GotoRandPoint ();
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) > 1) {
objectTarget.SetActive (false);
human_test.SetActive (true);
}
}
}
else if (dates == 6) {
if ((hour == 7) && (minute == 3) && (ampm == 1)) {
Debug.Log("true");
//human_test.SetActive (true);
agent.destination = points [0].position;
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) < 1) {
objectTarget.SetActive (true);
human_test.SetActive (false);
}
} else if ((hour == 10) && (minute == 3) && (ampm == 1)) {
GotoRandPoint ();
if (Vector3.Distance (agent.transform.position, objectTarget.transform.position) > 1) {
objectTarget.SetActive (false);
human_test.SetActive (true);
}
}
}
}
void GotoRandPoint() {
if (points.Length == 0)
return;
agent.destination = points[destPoint].position;
destPoint = (destPoint + 1) % points.Length;
}
}
please help. thank you.
Comment
You have a dozen if
statements in there. How does your description of the problem give us any information about what and where the problem is? You need to narrow the problem down better.
Your answer
Follow this Question
Related Questions
Get asset file from scriptableobject (Nested Scriptableobjects) 2 Answers
Vector3.Distance - Triggering an action on distance 1 Answer
Any Update on Nested Prefabs? 4 Answers
Calculating distance is not working 1 Answer
Nested coroutines 0 Answers