예제 #1
0
 public void UnregisterPanel(BasicDeltaV_SimplePanel panel)
 {
     if (_activeSimplePanels.Contains(panel))
     {
         _activeSimplePanels.Remove(panel);
     }
 }
예제 #2
0
 public void RegisterPanel(BasicDeltaV_SimplePanel panel)
 {
     if (!_activeSimplePanels.Contains(panel))
     {
         _activeSimplePanels.Add(panel);
     }
 }
예제 #3
0
        public void RefreshModules()
        {
            //BasicDeltaV.BasicLogging("Panel Refresh - Index: {0}/{1} - Status: {2} - Position: {3}", index, StageManager.LastStage, panel == null ? "Null" : "Valid", rightPos);

            if (panel != null)
            {
                panel.Close();
            }

            panel = null;

            bool display = true;

            if (HighLogic.LoadedSceneIsFlight && BasicDeltaV_Settings.Instance.ShowCurrentStageOnly && index != StageManager.LastStage)
            {
                display = false;
            }

            bool displayGauge = BasicDeltaV_Settings.Instance.MoreBasicMode;

            if (BasicDeltaV_Settings.Instance.BasicCurrentOnly && index != StageManager.LastStage)
            {
                displayGauge = false;
            }

            if (BasicDeltaV.Instance.ComplexRestrictions)
            {
                displayGauge = false;
            }

            if (simpleGauge != null)
            {
                simpleGauge.Expand(displayGauge && stage != null && stage.stageStartDeltaV > 0);
            }

            if (!BasicDeltaV.Instance.DisplayActive)
            {
                return;
            }

            StartModules();

            if (modules.Count <= 0)
            {
                return;
            }

            if (panel != null)
            {
                rightPos = panel.RightPos;
            }

            CreatePanel(rightPos, stage != null && display && stage.deltaV > 0);
        }
예제 #4
0
        private void CreatePanel(bool right, bool display)
        {
            if (BasicDeltaV_Loader.SimplePanelPrefab == null || modules == null || modules.Count == 0)
            {
                return;
            }

            panel = GameObject.Instantiate(BasicDeltaV_Loader.SimplePanelPrefab, parent, false).GetComponent <BasicDeltaV_SimplePanel>();

            panel.transform.SetAsFirstSibling();

            panel.setPanel(modules, BasicDeltaV_Settings.Instance.PanelAlpha, HighLogic.LoadedSceneIsFlight);

            if (right)
            {
                panel.MovePanel(true);
            }

            if (!display)
            {
                panel.Unregister();
                panel.gameObject.SetActive(false);
            }
        }