Octave3DConfigSaveLoadSettings.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using System;
  4. namespace O3DWB
  5. {
  6. [Serializable]
  7. public class Octave3DConfigSaveLoadSettings : ScriptableObject
  8. {
  9. #region Private Variables
  10. [SerializeField]
  11. private string _lastUsedFolder = "";
  12. [SerializeField]
  13. private bool _snapSettings = true;
  14. [SerializeField]
  15. private bool _objectSelectionSettings = true;
  16. [SerializeField]
  17. private bool _objectErasingSettings = true;
  18. [SerializeField]
  19. private bool _mirrorLookAndFeel = true;
  20. [SerializeField]
  21. private bool _snapLookAndFeel = true;
  22. [SerializeField]
  23. private bool _objectPlacementLookAndFeel = true;
  24. [SerializeField]
  25. private bool _objectSelectionLookAndFeel = true;
  26. [SerializeField]
  27. private bool _objectErasingLookAndFeel = true;
  28. [SerializeField]
  29. private Octave3DConfigSaveLoadSettingsView _view;
  30. #endregion
  31. #region Public Properties
  32. public string LastUsedFolder { get { return _lastUsedFolder; } set { if (value != null) _lastUsedFolder = value; } }
  33. public bool SnapSettings { get { return _snapSettings; } set { _snapSettings = value; } }
  34. public bool ObjectSelectionSettings { get { return _objectSelectionSettings; } set { _objectSelectionSettings = value; } }
  35. public bool ObjectErasingSettings { get { return _objectErasingSettings; } set { _objectErasingSettings = value; } }
  36. public bool MirrorLookAndFeel { get { return _mirrorLookAndFeel; } set { _mirrorLookAndFeel = value; } }
  37. public bool SnapLookAndFeel { get { return _snapLookAndFeel; } set { _snapLookAndFeel = value; } }
  38. public bool ObjectPlacementLookAndFeel { get { return _objectPlacementLookAndFeel; } set { _objectPlacementLookAndFeel = value; } }
  39. public bool ObjectSelectionLookAndFeel { get { return _objectSelectionLookAndFeel; } set { _objectSelectionLookAndFeel = value; } }
  40. public bool ObjectErasingLookAndFeel { get { return _objectErasingLookAndFeel; } set { _objectErasingLookAndFeel = value; } }
  41. public Octave3DConfigSaveLoadSettingsView View { get { return _view; } }
  42. #endregion
  43. #region Constructors
  44. public Octave3DConfigSaveLoadSettings()
  45. {
  46. _view = new Octave3DConfigSaveLoadSettingsView(this);
  47. }
  48. #endregion
  49. #region Public Methods
  50. public void ToggleAll(bool on)
  51. {
  52. _snapSettings = on;
  53. _objectSelectionSettings = on;
  54. _objectErasingSettings = on;
  55. _mirrorLookAndFeel = on;
  56. _snapLookAndFeel = on;
  57. _objectPlacementLookAndFeel = on;
  58. _objectSelectionLookAndFeel = on;
  59. _objectErasingLookAndFeel = on;
  60. }
  61. #endregion
  62. }
  63. }
  64. #endif