SSTUTools.SSTUModularBooster.OnStart C# (CSharp) Method

OnStart() public method

public OnStart ( StartState state ) : void
state StartState
return void
        public override void OnStart(StartState state)
        {
            base.OnStart(state);
            initialize();
            this.updateUIFloatEditControl("currentDiameter", minDiameter, maxDiameter, diameterIncrement*2, diameterIncrement, diameterIncrement*0.05f, true, currentDiameter);
            this.updateUIFloatEditControl("currentGimbalOffset", -currentNozzleModule.gimbalAdjustmentRange, currentNozzleModule.gimbalAdjustmentRange, 2f, 1f, 0.1f, true, currentGimbalOffset);

            currentNoseModule.updateTextureUIControl(this, "currentNoseTexture", currentNoseTexture);
            currentMainModule.updateTextureUIControl(this, "currentMainTexture", currentMainTexture);
            currentNozzleModule.updateTextureUIControl(this, "currentNozzleTexture", currentNozzleTexture);

            string[] names = SSTUUtils.getNames(noseModules, m => m.name);
            this.updateUIChooseOptionControl("currentNoseName", names, names, true, currentNoseName);
            names = SSTUUtils.getNames(mainModules, m => m.name);
            this.updateUIChooseOptionControl("currentMainName", names, names, true, currentMainName);
            names = SSTUUtils.getNames(nozzleModules, m => m.name);
            this.updateUIChooseOptionControl("currentNozzleName", names, names, true, currentNozzleName);

            bool useModelSelectionGUI = HighLogic.CurrentGame.Parameters.CustomParams<SSTUGameSettings>().useModelSelectGui;
            Events["selectNoseEvent"].guiActiveEditor = useModelSelectionGUI;

            Fields["currentDiameter"].uiControlEditor.onFieldChanged = onDiameterUpdated;
            Fields["currentGimbalOffset"].uiControlEditor.onFieldChanged = onGimbalUpdated;
            Fields["currentNoseName"].uiControlEditor.onFieldChanged = onNoseUpdated;
            Fields["currentMainName"].uiControlEditor.onFieldChanged = onBodyUpdated;
            Fields["currentNozzleName"].uiControlEditor.onFieldChanged = onNozzleUpdated;

            Fields["currentNoseName"].guiActiveEditor = !useModelSelectionGUI && noseModules.Length>1;
            Fields["currentNozzleName"].guiActiveEditor = nozzleModules.Length > 1;
            Fields["currentMainName"].guiActiveEditor = mainModules.Length > 1;
            Fields["currentGimbalOffset"].guiActiveEditor = currentNozzleModule.gimbalAdjustmentRange > 0;
            Fields["currentDiameter"].guiActiveEditor = maxDiameter > minDiameter;

            Fields["currentNoseTexture"].uiControlEditor.onFieldChanged = onNoseTextureUpdated;
            Fields["currentMainTexture"].uiControlEditor.onFieldChanged = onMainTextureUpdated;
            Fields["currentNozzleTexture"].uiControlEditor.onFieldChanged = onNozzleTextureUpdated;

            SSTUModInterop.onPartGeometryUpdate(part, true);
            GameEvents.onEditorShipModified.Add(new EventData<ShipConstruct>.OnEvent(onEditorShipModified));
        }