/// <summary> /// Called when the part modifier data is initialized in the designer scene. /// </summary> /// <param name="d">The designer part properties.</param> protected override void OnDesignerInitialization(IDesignerPartPropertiesModifierInterface d) { base.OnDesignerInitialization(d); d.OnActivated(() => Symmetry.ExecuteOnSymmetricPartModifiers(this, true, x => x.PropertiesOpen = true)); d.OnDeactivated(() => Symmetry.ExecuteOnSymmetricPartModifiers(this, true, x => x.PropertiesOpen = false)); d.OnPropertyChanged(() => this.emissionAngle, (x, y) => { Symmetry.SynchronizePartModifiers(this.Part.PartScript); Symmetry.ExecuteOnSymmetricPartModifiers(this, true, (z) => z.Script?.SetEmissionAngle(x)); }); d.OnPropertyChanged(() => this.emissionRate, (x, y) => { Symmetry.SynchronizePartModifiers(this.Part.PartScript); Symmetry.ExecuteOnSymmetricPartModifiers(this, true, (z) => z.Script?.SetEmissionRate(x)); }); d.OnPropertyChanged(() => this.emissionVelocity, (x, y) => { Symmetry.SynchronizePartModifiers(this.Part.PartScript); Symmetry.ExecuteOnSymmetricPartModifiers(this, true, (z) => z.Script?.SetEmissionVelocity(x)); }); }
protected override void OnDesignerInitialization(IDesignerPartPropertiesModifierInterface d) { d.OnPropertyChanged(() => width, (newVal, OldVal) => Script.UpdateMesh()); d.OnPropertyChanged(() => depth, (newVal, OldVal) => Script.UpdateMesh()); d.OnPropertyChanged(() => length, (newVal, OldVal) => Script.UpdateMesh()); d.OnPropertyChanged(() => curvature, (newVal, OldVal) => Script.UpdateMesh()); d.OnPropertyChanged(() => distribution, (newVal, OldVal) => Script.UpdateMesh()); d.OnPropertyChanged(() => twist, (newVal, OldVal) => Script.UpdateMesh()); }
/* * public void UpdateScale() * { * base.Script.UpdateScale(); * } */ protected override void OnDesignerInitialization(IDesignerPartPropertiesModifierInterface d) { d.OnValueLabelRequested(() => _length, (float x) => x.ToString("0.00") + "m"); d.OnValueLabelRequested(() => _force, (float x) => Units.GetForceString(x)); d.OnValueLabelRequested(() => _acceleration, (float x) => Units.GetAccelerationString(x)); d.OnValueLabelRequested(() => _velocity, (float x) => Units.GetVelocityString(x)); d.OnPropertyChanged(() => _length, (x, y) => { Symmetry.SynchronizePartModifiers(base.Part.PartScript); base.Part.PartScript.CraftScript.RaiseDesignerCraftStructureChangedEvent(); }); }
protected override void OnDesignerInitialization(IDesignerPartPropertiesModifierInterface d) { d.OnAnyPropertyChanged(() => Updates()); d.OnValueLabelRequested(() => fuelPercentage, (float x) => GetDesignerFuelLabel()); }