Quantcast
Channel: Questions in topic: "error"
Viewing full articles (7934 articles)
Browse article index
↧

Object reference not set to an instance of an object in functions

$
0
0
I have a function in other script, but when I call it from other script and give a GameObject as parameter it gives error. public Vector3 snapPoint (GameObject GroundObject){ Debug.Log(GroundObject); List freeCubesList = new List(); GameObject[] freeCubes = null; List GroundObjectCubesList = new List(); GameObject[] GroundObjectCubes; List possibleCubesList = new List(); GameObject[] possibleCubes = null; List localPositionsList = new List(); Vector3[] localPositions = null; List globalPositionsList = new List(); Vector3[] globalPositions; List distanceList = new List(); float[] distances = null; int minIndex; // Shortest distance GroundObject.transform.position = this.transform.position; foreach (GameObject gridCube in gridCubesList){ gridTrigger trigger = (gridTrigger) gridCube.GetComponent(typeof(gridTrigger)); if(trigger.isTriggered(GroundObject)){ localPositionsList.Add(this.transform.position - gridCube.transform.position); localPositions = localPositionsList.ToArray(); GroundObjectCubesList.Add(gridCube); GroundObjectCubes = GroundObjectCubesList.ToArray(); } if(trigger.isTriggered(null) != true){ freeCubesList.Add(gridCube); freeCubes = freeCubesList.ToArray(); } } foreach (GameObject current in freeCubes){ foreach(Vector3 localPosition in localPositions){ foreach (GameObject freeCube in freeCubes){ Vector3 globalPosition = freeCube.transform.position + localPosition; globalPositionsList.Add (globalPosition); globalPositions = globalPositionsList.ToArray(); if(globalPosition == freeCube.transform.position){ possibleCubesList.Add(freeCube); possibleCubes = possibleCubesList.ToArray(); } } } } foreach (GameObject possibleCube in possibleCubes){ distanceList.Add(Vector3.Distance(possibleCube.transform.position, transform.position)); distances = distanceList.ToArray(); } minIndex = Array.IndexOf(distances, distances.Min()); return possibleCubes[minIndex].transform.position; } And in other script: GroundObject.rigidbody.MovePosition(grid.snapPoint(GroundObject) + speed * Time.deltaTime);
↧

Viewing full articles (7934 articles)
Browse article index

Latest Images

Trending Articles



Latest Images