Exemplo n.º 1
0
 void Awake()
 {
     enabled  = false;
     instance = this;
     StartCoroutine(CheckActionGroupEditor());
     GameEvents.onEditorLoad.Add(onEditorLoad);
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 void OnDestroy()
 {
     instance = null;
     GameEvents.onEditorLoad.Remove(onEditorLoad);
 }
Exemplo n.º 5
0
 public void ShowUI()
 {
     TankWindow.ShowGUI(this);
     UpdateMenus(true);
 }
Exemplo n.º 6
0
 public void HideUI()
 {
     TankWindow.HideGUI();
     UpdateMenus(false);
 }