void Start() { mapData = new MapModel(); nodeControllers = new List <MapNodeController>(); // Load the map data TextAsset mapXml = Resources.Load <TextAsset>("Data/Map"); XmlDocument mapDoc = new XmlDocument(); mapDoc.LoadXml(mapXml.text); mapData.Load(mapDoc); List <MapNode> allNodes = mapData.AllNodes; for (int i = allNodes.Count - 1; i >= 0; i--) { MapNode node = allNodes[i]; GameObject mapNodeObject = Instantiate(mapNodePrefab, mapNodeContainer.transform); MapNodeController nodeController = mapNodeObject.GetComponent <MapNodeController>(); nodeController.nodeData = node; nodeControllers.Add(nodeController); } }
void DrawPath(MapNodeController targetNodeController, MapNodeController parentNodeController) { GameObject pathToNode = Instantiate(mapPathPrefab, paths); LineRenderer pathRenderer = pathToNode.GetComponent <LineRenderer>(); Vector3 parentPosition = parentNodeController.GetPosition(); pathRenderer.SetPosition(0, new Vector3(parentPosition.x, parentPosition.y, 0f)); Vector3 nodePosition = targetNodeController.GetPosition(); pathRenderer.SetPosition(1, new Vector3(nodePosition.x, nodePosition.y, 0f)); parentNodeController.AddPath(targetNodeController.depictedNode, pathRenderer); }
public void AssociateNodeWithController(MapNodeController controller) { nodeController = controller; nodeController.UpdateDepictedNode(this); }