Example #1
0
    void Awake()
    {
        instance = this;

        if (!RaceManager.instance)
            return;

        target = new GameObject("New Progress Tracker").transform;
        circuit = GameObject.FindObjectOfType(typeof(WaypointsContainer)) as WaypointsContainer;

        GetComponent<Statistics>().target = target;
    }
Example #2
0
    private void OnEnable()
    {
        _waypoint    = Resources.Load("waypoint/waypoint", typeof(GameObject)) as GameObject;
        _wpContainer = FindObjectOfType <WaypointsContainer>();

        if (_wpContainer != null)
        {
            _waypointData             = RestoreReferences(_wpContainer.GetComponentsInChildren <Node>());
            _radiusDistanceConnection = _wpContainer.radiusDistanceConnection;
            _setConnections           = _wpContainer.displayConnectionLines;
        }

        SceneView.duringSceneGui += OnSceneGUI;
        SetStyles();
    }
Example #3
0
    private List <GameObject> GenerateWaypoints(out List <Node> nodes)
    {
        var objs = new List <GameObject>();

        nodes = new List <Node>();
        var undoID = Undo.GetCurrentGroup();

        if (_wpContainer == null)
        {
            _wpContainer = new GameObject("waypoint_container").AddComponent <WaypointsContainer>();
            _wpContainer.transform.position = Vector3.zero;
            Undo.RegisterCreatedObjectUndo(_wpContainer, "Object created");
        }

        int setID = 0;

        for (int i = 0; i < _waypointData.Count; i++)
        {
            var obj = (GameObject)PrefabUtility.InstantiatePrefab(_waypoint);
            obj.transform.position = _waypointData[i].position;
            obj.transform.parent   = _wpContainer.transform;
            obj.name = obj.name + i;

            if (i != 0 && _waypointData[i].id == 0)
            {
                setID = i;
            }
            else
            {
                setID = _waypointData[i].id;
            }

            objs.Add(obj);
            nodes.Add(obj.GetComponent <Node>());
            nodes[i].Id = setID;

            Undo.RegisterCreatedObjectUndo(obj, "Object created");
        }

        Undo.CollapseUndoOperations(undoID);

        return(objs);
    }