ToggleViewModel.cs 922 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using UnityEngine;
  3. namespace XUnity.AutoTranslator.Plugin.Core.UI
  4. {
  5. internal class ToggleViewModel
  6. {
  7. private GUIContent _enabled;
  8. private GUIContent _disabled;
  9. public ToggleViewModel( string text, string enabledTooltip, string disabledTooltip, Action onToggled, Func<bool> isToggled, bool enabled = true )
  10. {
  11. _enabled = new GUIContent( text, enabledTooltip );
  12. _disabled = new GUIContent( text, disabledTooltip );
  13. OnToggled = onToggled;
  14. IsToggled = isToggled;
  15. Enabled = enabled;
  16. }
  17. public GUIContent Text
  18. {
  19. get
  20. {
  21. if( IsToggled() )
  22. {
  23. return _enabled;
  24. }
  25. return _disabled;
  26. }
  27. }
  28. public bool Enabled { get; set; }
  29. public Action OnToggled { get; set; }
  30. public Func<bool> IsToggled { get; set; }
  31. }
  32. }