Beispiel #1
0
    protected virtual void GenerateElectric()
    {
        GraphPath     wireGraph = LevelManager.Instance.GetWireGraph();
        GraphPathNode startNode = wireGraph.GetNodeByEndpoint(transform.position);

        if (startNode != null)
        {
            TreePath       treePath     = wireGraph.BuildTree(startNode);
            TreePathNode   rootNode     = treePath.GetRoot();
            TreePathNode[] childrenNode = rootNode.GetChildren();
            for (int i = 0; i < childrenNode.Length; i++)
            {
                GameObject electricCurrentObj = Instantiate(_electricCurrentPrefab, transform.position, Quaternion.identity) as GameObject;
                electricCurrentObj.name = "*ElectricCurrent-" + startNode._id + "-" + childrenNode[i]._id + "*";
                electricCurrentObj.transform.SetParent(LevelManager.Instance.GetElectricCurrentGameObjectHolder().transform);
                ElectricCurrent electricCurrent = electricCurrentObj.GetComponent <ElectricCurrent>();
                electricCurrent.MoveToNode(childrenNode[i]);
            }
        }
    }