using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TheraBytes.BetterUi { [Serializable] public class FloatSizeConfigCollection : SizeConfigCollection { } [Serializable] public class FloatSizeModifier : ScreenDependentSize { public SizeModifierCollection Mod; public FloatSizeModifier(float optimizedSize, float minSize, float maxSize) : base(optimizedSize, minSize, maxSize, optimizedSize) { Mod = new SizeModifierCollection(new SizeModifierCollection.SizeModifier(ImpactMode.PixelHeight, 1)); } public override IEnumerable GetModifiers() { yield return Mod; } protected override void AdjustSize(float factor, SizeModifierCollection mod, int index) { value = GetSize(factor, OptimizedSize, MinSize, MaxSize); } protected override void CalculateOptimizedSize(float baseValue, float factor, SizeModifierCollection mod, int index) { OptimizedSize = factor * baseValue; } } }