public void UnregisterPanel(BasicDeltaV_SimplePanel panel) { if (_activeSimplePanels.Contains(panel)) { _activeSimplePanels.Remove(panel); } }
public void RegisterPanel(BasicDeltaV_SimplePanel panel) { if (!_activeSimplePanels.Contains(panel)) { _activeSimplePanels.Add(panel); } }
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); }
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); } }