Пример #1
0
        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");
        }