FloatSizeModifier.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace TheraBytes.BetterUi
  6. {
  7. [Serializable]
  8. public class FloatSizeConfigCollection : SizeConfigCollection<FloatSizeModifier> { }
  9. [Serializable]
  10. public class FloatSizeModifier : ScreenDependentSize<float>
  11. {
  12. public SizeModifierCollection Mod;
  13. public FloatSizeModifier(float optimizedSize, float minSize, float maxSize)
  14. : base(optimizedSize, minSize, maxSize, optimizedSize)
  15. {
  16. Mod = new SizeModifierCollection(new SizeModifierCollection.SizeModifier(ImpactMode.PixelHeight, 1));
  17. }
  18. public override IEnumerable<SizeModifierCollection> GetModifiers()
  19. {
  20. yield return Mod;
  21. }
  22. protected override void AdjustSize(float factor, SizeModifierCollection mod, int index)
  23. {
  24. value = GetSize(factor, OptimizedSize, MinSize, MaxSize);
  25. }
  26. protected override void CalculateOptimizedSize(float baseValue, float factor, SizeModifierCollection mod, int index)
  27. {
  28. OptimizedSize = factor * baseValue;
  29. }
  30. }
  31. }