public override void OnStart(PartModule.StartState state) { base.OnStart(state); _scale = this.Fields["tweakScale"]; _name = this.Fields["tweakName"]; _type = this.Fields["scaleTypeId"]; _scaleEdit = (UI_FloatEdit)_scale.uiControlEditor; _nameEdit = (UI_ChooseOption)_name.uiControlEditor; _typeEdit = (UI_ChooseOption)_type.uiControlEditor; _typeEdit.options = ScaleConfig.AllConfigs.Select(a => a.name).ToArray(); scaleInfo = ScaleDatabase.Lookup(part.partInfo.name); }
public void Update() { base.OnUpdate(); if (_hide != _oldHide) { _oldHide = _hide; ScaleDatabase.Hide(part.partInfo.name, _hide); } _hide = _oldHide = ScaleDatabase.IsHidden(part.partInfo.name); _type.guiActiveEditor = _scaled; _scale.guiActiveEditor = _scaled && _cfg.isFreeScale; _name.guiActiveEditor = _scaled && !_cfg.isFreeScale; if (_oldScaleTypeId != _scaleTypeId) { ChangeScaleType(); } if (!_cfg.isFreeScale) { _tweakScale = _cfg.scaleFactors[_tweakName]; } if (_scaled) { if (scaleInfo != ScaleDatabase.Lookup(part.partInfo.name) || _oldScaled != _scaled) { ScaleDatabase.Update(part.partInfo.name, scaleInfo); _oldScaled = _scaled; } } else { if (_oldScaled != _scaled) { ScaleDatabase.Remove(part.partInfo.name); _oldScaled = _scaled; } } }