void MoveToNode(Vector2 d) { NodePellets moveToNode = CanMove(d); if (moveToNode != null) { transform.localPosition = moveToNode.transform.position; currentNode = moveToNode; } }
// Start is called before the first frame update void Start() { validDirections = new Vector2[neighbors.Length]; for (int i = 0; i < neighbors.Length; i++) { NodePellets neighbor = neighbors[i]; Vector2 tempVector = neighbor.transform.localPosition - transform.localPosition; validDirections[i] = tempVector.normalized; } }
void Start() { NodePellets node = GetNodeAtPosition(transform.localPosition); if (node != null) { currentNode = node; Debug.Log(currentNode); } else { } }
NodePellets CanMove(Vector2 d) { NodePellets moveToNode = null; for (int i = 0; i < currentNode.neighbors.Length; i++) { if (currentNode.validDirections[i] == d) { moveToNode = currentNode.neighbors[i]; break; } } return(moveToNode); }