Beispiel #1
0
 public void FloodToNextHop()
 {
     TreePathNode[] childrenNode = _targetNode.GetChildren();
     for (int i = 0; i < childrenNode.Length; i++)
     {
         GameObject electricCurrentObj = Instantiate(_electricCurrentPrefab, transform.position, Quaternion.identity) as GameObject;
         electricCurrentObj.name = "*ElectricCurrent-" + _targetNode._id + "-" + childrenNode[i]._id + "*";
         electricCurrentObj.transform.SetParent(LevelManager.Instance.GetElectricCurrentGameObjectHolder().transform);
         ElectricCurrent electricCurrent = electricCurrentObj.GetComponent <ElectricCurrent>();
         electricCurrent.MoveToNode(childrenNode[i]);
     }
 }
Beispiel #2
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]);
            }
        }
    }