protected void AddAtomWithMovementWidgets(IModifier m) { if (currentModifier_ != null) { currentModifier_.PreferredRangeChanged -= PreferredRangeChanged; } currentModifier_ = m as AtomWithMovementModifier; if (currentModifier_ != null) { currentModifier_.PreferredRangeChanged += PreferredRangeChanged; } movementUI_.SetValue( currentModifier_?.Movement, currentModifier_?.PreferredRange ?? new FloatRange(0, 1)); foreach (var w in movementUI_.GetWidgets()) { widgets_.AddToUI(w); } }
protected void CopyTo(AtomWithMovementModifier m, int cloneFlags) { base.CopyTo(m, cloneFlags); m.Movement = Movement.Clone(cloneFlags); }