/** * Add the passed node as this node's successor */ public void AddSuccessor(Node n, ref GraphOfMap graph) { Node succesor = graph.nodeWith(n); _successors.Add(succesor); //Debug.Log("succesor is: " + succesor.GetX() + ", " + succesor.GetY()); }
private Node CheckIfOverlapPoint(Vector2 pointLastSeen, Node alternate) { for (int i = 0; i < _gameMap.transform.childCount; i++) { Collider2D nodeCollider = _gameMap.transform.GetChild(i).GetComponent <CircleCollider2D>(); if (nodeCollider != null) { if (nodeCollider.OverlapPoint(pointLastSeen)) { return(_graph.nodeWith(nodeCollider.gameObject.GetComponent <Node>())); } } } return(alternate); }
void Start () { graph = new GraphOfMap(); graph.map = new List<Node>(); for (int i = 0; i < mapSize; i++) { for (int j = 0; j < mapSize; j++) { GameObject newTile = (GameObject) Instantiate(Tile, new Vector3(i * tileSize, 1, j * tileSize), Tile.transform.rotation); newTile.transform.SetParent(transform); Node tileNode = new Node {x = i, y = j, Successors = new List<Node>()}; newTile.GetComponent<TileBehaviour>().assignNode(tileNode); graph.nodeWith(tileNode); } } for (int i = 0; i < graph.map.Count; i++) { graph.map[i].AddNeighbours(ref graph); } }
/// <summary> /// Add successor to this node, indicating the successor can be reached from this node in 1 step /// </summary> /// <param name="node"></param> /// <param name="graph"></param> private void AddSuccessor(Node node, ref GraphOfMap graph) { Node successor = graph.nodeWith(node); Successors.Add(successor); }
/** * Adds the node to the passed graph */ public void SetUpNode(ref GraphOfMap graph) { _successors = new List <Node>(); Node newNode = graph.nodeWith(this); }
private void DeleteSuccessor(Node successor, ref GraphOfMap graph) { Node node = graph.nodeWith(successor); _successors.Remove(node); }