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);
        }
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
 public void AssociateNodeWithController(MapNodeController controller)
 {
     nodeController = controller;
     nodeController.UpdateDepictedNode(this);
 }