Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
                }
            }
        }