- Home /
Is there a way to organize tracking of collisions?
The purpose of this question is I need to track of the collisions in every game objects in my scene. So I tried a collider's massages sent, but those functions are difficult to use in another functions, for example: I have a method OnCollisionEnter that called when a game object begun touching another game object, and I used if statement to state the collisions of stated game objects, but when I trying to use the results gained from statement execution in another method, I've got nothing just 0s..To figure it out, please take a look at the code snippets. Is there a way to fix it? Here is my code snipped for collision detection: public class collisDetect : MonoBehaviour {
public static float collNotNull1;
public static List<float> collNotNull = new List<float>();
void OnCollisionExit(Collision collision)
{
foreach(GameObject g in xmlreaderUnityObject.unityGameObjectsToCDP){
if(collision.gameObject.name == g.name){
collNotNull1 = 1;
print (gameObject.name);
}
else if(collision.gameObject.name != g.name){
collNotNull1 = 0;
}
print(collNotNull1);
collNotNull.Add(collNotNull1);
}
}
}
And I need to use the list of floats in this code snipped that cause a problem:
public void Update()
{
config();
myData.Clear();
try{
foreach(GameObject g in xmlreaderUnityObject.unityGameObjectsToCDP)
{
x= g.transform.localPosition.x;
y= g.transform.localPosition.y;
z= g.transform.localPosition.z;
alpha = g.transform.localEulerAngles.x;
theta = g.transform.localEulerAngles.y;
phi = g.transform.localEulerAngles.z;
float col = 3;
myData.Add(x);
myData.Add(y);
myData.Add(z);
myData.Add(alpha);
myData.Add(theta);
myData.Add(phi);
myData.Add(col);
}
Any help will be appreciated!