Beispiel #1
0
 public void ToggleIntegratedDecoupler()
 {
     integratedDecoupler++;
     if (integratedDecoupler > DecouplerType.EnabledStagingDisabled)
     {
         integratedDecoupler = DecouplerType.none;
     }
     SetAllStatus(integratedDecoupler);
 }
Beispiel #2
0
        void SetAllStatus(DecouplerType decouplerType, bool inEditorModified = false, bool doSymmetry = true)
        {
            for (int i = 0; i < partsInSymmetry.Count; i++)
            {
                IntegratedDecoupler symIntegratedDecoupler = partsInSymmetry[i];
                SetStatus(decouplerType, symIntegratedDecoupler);
            }


            Log.Info("SetStatus 1");
            //if (!inEditorModified)
            GameEvents.onEditorShipModified.Fire(EditorLogic.fetch.ship);
            Log.Info("SetStatus 1");
        }
Beispiel #3
0
        /// <summary>
        /// Set the decoupler status
        /// </summary>
        /// <param name="status"></param>
        /// <param name="symIntegratedDecoupler"></param>
        void SetStatus(DecouplerType status, IntegratedDecoupler symIntegratedDecoupler)
        {
            Part counterpart = symIntegratedDecoupler.part;

            ModuleToggleCrossfeed symCrossfeedToggleModule = counterpart.FindModuleImplementing <ModuleToggleCrossfeed>();

            symIntegratedDecoupler.integratedDecoupler = status;
            if (integratedDecoupler != DecouplerType.none)
            {
                enableDecoupler(symIntegratedDecoupler, symCrossfeedToggleModule);
            }
            else
            {
                disableDecoupler(symIntegratedDecoupler, symCrossfeedToggleModule);
            }

            SetEvents(status, symIntegratedDecoupler.decouplerModule, symCrossfeedToggleModule);
        }
Beispiel #4
0
        void SetEvents(DecouplerType decouplerType, ModuleDecouple decouplerModule, ModuleToggleCrossfeed crossfeedToggleModule)
        {
            bool status = (decouplerType != DecouplerType.none);

            crossfeedToggleModule.Events["ToggleEvent"].guiActive = status;
            crossfeedToggleModule.Events["ToggleEvent"].active    = status;
            crossfeedToggleModule.Actions["ToggleAction"].active  = status;
            crossfeedToggleModule.Actions["EnableAction"].active  = status;
            crossfeedToggleModule.Actions["DisableAction"].active = status;

            //crossfeedToggleModule.Actions["ToggleStaging"].active = false;
#if false
            if (decouplerModule != null &&
                (topNode != null || topNode01 != null || topNode02 != null))
            {
                decouplerModule.part.UpdateStageability(true, true);
            }
            else
            {
                Log.Error("No ModuleDecouple to update");
            }
#endif
        }