public Tracking_Group(string title, bool isOpen, bool instant, List <TrackingStationWidget> vessels, List <Tracking_MoonGroup> subGroups, CelestialBody body, VesselType type, Tracking_Mode mode)
        {
            _title   = title;
            _isOpen  = isOpen;
            _instant = instant;
            _mode    = mode;
            _body    = body;
            _type    = type;

            int _subVesselCount = 0;

            if (subGroups != null && subGroups.Count > 0)
            {
                for (int i = subGroups.Count - 1; i >= 0; i--)
                {
                    _subVesselCount += subGroups[i].Vessels.Count;
                }
            }

            AddHeader(vessels.Count, _subVesselCount);

            AddSubGroups(subGroups);

            AddVessels(vessels);
        }
Пример #2
0
        public Tracking_SubGroup(string title, bool isOpen, bool instant, List <TrackingStationWidget> vessels, CelestialBody body, Tracking_Mode mode)
        {
            _title       = title;
            _isOpen      = isOpen;
            _instant     = instant;
            _vesselCount = vessels.Count;
            _body        = body;
            _mode        = mode;

            AddHeader();

            AddVessels(vessels);
        }
        private void Awake()
        {
            if (_instance != null && _instance != this)
            {
                Destroy(gameObject);
                return;
            }

            _instance = this;

            OnWidgetSelect.AddListener(new UnityAction <TrackingStationWidget>(OnWidgetSelected));
            OnWidgetAwake.AddListener(new UnityAction <TrackingStationWidget>(OnWidgetAwaken));

            GameEvents.onNewVesselCreated.Add(new EventData <Vessel> .OnEvent(OnVesselCreate));
            GameEvents.onVesselDestroy.Add(new EventData <Vessel> .OnEvent(OnVesselDestroy));
            GameEvents.onKnowledgeChanged.Add(new EventData <GameEvents.HostedFromToAction <IDiscoverable, DiscoveryLevels> > .OnEvent(OnKnowledgeChange));

            _CurrentMode = (Tracking_Mode)Tracking_Persistence.SortMode;

            StartCoroutine(WaitForTrackingStation());
        }
Пример #4
0
        public static GameObject GetHeaderObject(CelestialBody body, VesselType type, Tracking_Mode mode, bool moon)
        {
            switch (mode)
            {
            case Tracking_Mode.CelestialBody:
                return(GetHeaderObject(body, moon));

            case Tracking_Mode.VesselType:
                return(GetHeaderObject(type));
            }

            return(null);
        }
Пример #5
0
        public void ActivateCustomSort()
        {
            _CurrentMode = Tracking_Mode.Custom;

            StartCoroutine(WidgetListReset(1));
        }
Пример #6
0
        public void ActivateVesselTypeSort()
        {
            _CurrentMode = Tracking_Mode.VesselType;

            StartCoroutine(WidgetListReset(1));
        }
Пример #7
0
        public void ActivateCelestialSort()
        {
            _CurrentMode = Tracking_Mode.CelestialBody;

            StartCoroutine(WidgetListReset(1));
        }
Пример #8
0
        public void ActivateDefaultSort()
        {
            _CurrentMode = Tracking_Mode.Default;

            StartCoroutine(WidgetListReset(1));
        }