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; }
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(); }
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); }