private IEnumerator WaitForTrackingStation() { while (_TrackingStation == null) { var tracking = FindObjectsOfType <SpaceTracking>(); if (tracking != null) { for (int i = 0; i < tracking.Length; i++) { SpaceTracking space = tracking[i]; if (space == null) { continue; } _TrackingStation = space; } } if (_TrackingStation == null) { yield return(null); } } _ListParent = _TrackingStation.listContainer.parent; FindScrollRect(); StartCoroutine(WaitForCamera()); AdjustUITransforms(); StartCoroutine(AttachSortHeader()); _VesselToggleGroup = Instantiate(_TrackingStation.listToggleGroup); _OldTrackingList = _TrackingStation.listContainer.gameObject; _NewTrackingList = Instantiate(_OldTrackingList); _ReorderableList = _OldTrackingList.transform.parent.gameObject.AddComponent <ReorderableList>(); _ReorderableList.Init(_NewTrackingList.GetComponent <LayoutGroup>(), _NewTrackingList.GetComponent <RectTransform>()); _ReorderableList.SortType = (int)_CurrentMode; _NewTrackingList.transform.SetParent(_ListParent, false); _TrackingStation.listContainer.SetParent(null, false); _TrackingStation.tglTrackedObjects.onValueChanged.AddListener(new UnityAction <bool>(OnVesselListToggle)); _OrderedBodyList = OrderBodies(); _OrderedTypeList = OrderTypes(); Tracking_Utils.TrackingLog("Tracking Station Processed"); }