Esempio n. 1
0
    void Start()
    {
        m_concreteNodeContainer = transform.Find("ConcreteNodeContainer");
        m_clusterContainer      = transform.Find("ClusterContainer");

        m_levelChooser.onValueChanged.AddListener(OnChooseLevel);

        m_concreteMap = new ConcreteMap(m_width, m_height);
        int nodeId = 0;

        for (int y = 0; y < m_height; y++)
        {
            for (int x = 0; x < m_width; x++)
            {
                GameObject go = GameObject.Instantiate(m_concreteNodePrefab);
                go.name = $"ConcreteNode({x}, {y})";
                go.transform.SetParent(m_concreteNodeContainer);
                go.transform.localPosition = new Vector3(x, y, 0);

                ConcreteNode node = go.GetComponent <ConcreteNode>();
                node.Init(nodeId++, x, y);
                m_concreteMap.AddNode(x, y, node);
            }
        }

        m_startNode = m_concreteMap.GetNode(0, m_height / 2);
        m_startNode.SetSearchType(SearchType.Start);
        m_goalNode = m_concreteMap.GetNode(m_width - 1, m_height / 2);
        m_goalNode.SetSearchType(SearchType.Goal);
    }
Esempio n. 2
0
    private void DragGoalNode()
    {
        ConcreteNode node = GetMouseOverNode();

        if (node == null)
        {
            return;
        }

        m_goalNode.SetSearchType(SearchType.None, false);
        m_goalNode = node;
        m_goalNode.SetSearchType(SearchType.Goal);
    }