No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ScalerVisualisation.cs 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using UnityEngine.AdaptivePerformance;
  4. public class ScalerVisualisation : MonoBehaviour
  5. {
  6. public Text Name;
  7. public Text Value;
  8. public Text Status;
  9. public Slider Level;
  10. public Toggle Override;
  11. public Toggle EnabledToggle;
  12. public AdaptivePerformanceScaler Scaler;
  13. public void SetOverride()
  14. {
  15. if (Scaler == null)
  16. return;
  17. Scaler.OverrideLevel = Override.isOn ? Scaler.CurrentLevel : -1;
  18. Level.interactable = Override.isOn;
  19. }
  20. public void SetEnabled()
  21. {
  22. if (Scaler == null)
  23. return;
  24. Scaler.Enabled = EnabledToggle.isOn;
  25. }
  26. public void SetLevel(float value)
  27. {
  28. if (Scaler == null)
  29. return;
  30. var level = (int)(value * Scaler.MaxLevel);
  31. if (Scaler.OverrideLevel != -1)
  32. Scaler.OverrideLevel = level;
  33. Level.value = (float)level / Scaler.MaxLevel;
  34. Value.text = $"{Level.value}";
  35. }
  36. private void Start()
  37. {
  38. if (Scaler == null)
  39. return;
  40. Name.text = Scaler.Name;
  41. Override.isOn = Scaler.OverrideLevel != -1;
  42. EnabledToggle.isOn = Scaler.Enabled;
  43. Level.value = (float)Scaler.CurrentLevel / Scaler.MaxLevel;
  44. }
  45. private void Update()
  46. {
  47. if (Scaler == null)
  48. return;
  49. Level.interactable = Scaler.OverrideLevel != -1;
  50. if (Scaler.OverrideLevel == -1)
  51. Level.value = (float)Scaler.CurrentLevel / Scaler.MaxLevel;
  52. if (Scaler.Enabled)
  53. Status.text = $"<color=lime>Enabled</color>";
  54. else
  55. Status.text = $"<color=red>Disabled</color>";
  56. }
  57. }