void Awake() { enabled = false; instance = this; StartCoroutine(CheckActionGroupEditor()); GameEvents.onEditorLoad.Add(onEditorLoad); }
void OnDestroy() { GameEvents.onPartAttach.Remove(onPartAttach); GameEvents.onPartRemove.Remove(onPartRemove); GameEvents.onEditorShipModified.Remove(onEditorShipModified); GameEvents.onPartActionUIDismiss.Remove(OnPartActionGuiDismiss); TankWindow.HideGUI(); TankWindow.OnActionGroupEditorOpened.Remove(OnActionGroupEditorOpened); TankWindow.OnActionGroupEditorClosed.Remove(OnActionGroupEditorClosed); }
public void Update() { if (!compatible || !HighLogic.LoadedSceneIsEditor) { return; } UpdateTankType(); UpdateUtilization(); CalculateMass(); bool inEditorActionsScreen = (EditorLogic.fetch?.editorScreen == EditorScreen.Actions); bool partIsSelectedInActionsScreen = inEditorActionsScreen && (EditorActionGroups.Instance?.GetSelectedParts().Contains(part) ?? false); if (partIsSelectedInActionsScreen) { TankWindow.ShowGUI(this); } }
void OnDestroy() { instance = null; GameEvents.onEditorLoad.Remove(onEditorLoad); }
public void ShowUI() { TankWindow.ShowGUI(this); UpdateMenus(true); }
public void HideUI() { TankWindow.HideGUI(); UpdateMenus(false); }