Beispiel #1
0
    void Start()
    {
        Lanes.Init();

        // Location of root/spawn
        Vector3 Root = -Vector3.one;

        // Loop over all nodes
        for (int i = 0; i < transform.childCount; i++)
        {
            Transform      laneObject = transform.GetChild(i);
            List <Vector3> positions  = new List <Vector3>();

            if (laneObject.name == "Root")
            {
                Root = laneObject.position;
            }
            else
            {
                positions.Add(Root);

                foreach (Transform node in laneObject.GetComponentsInChildren <Transform>())
                {
                    if (node == transform || node == laneObject)
                    {
                        continue;
                    }

                    positions.Add(node.position);
                }

                (IsLeftTeam ? Lanes.LeftTeam : Lanes.RightTeam).Add(laneObject.name, new Lane(Root, positions.ToArray()));
            }
        }
    }