ObjectPlacementSettingsWindow.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using UnityEditor;
  4. using System;
  5. namespace O3DWB
  6. {
  7. [Serializable]
  8. public class ObjectPlacementSettingsWindow : Octave3DEditorWindow
  9. {
  10. #region Private Variables
  11. [SerializeField]
  12. private Vector2 _scrollViewPosition = Vector2.zero;
  13. #endregion
  14. #region Public Static Functions
  15. public static ObjectPlacementSettingsWindow Get()
  16. {
  17. return Octave3DWorldBuilder.ActiveInstance.ObjectPlacementSettingsWindow;
  18. }
  19. #endregion
  20. #region Public Methods
  21. public override string GetTitle()
  22. {
  23. return "Object Placement Settings";
  24. }
  25. public override void ShowOctave3DWindow()
  26. {
  27. ShowDockable(true);
  28. }
  29. #endregion
  30. #region Protected Methods
  31. protected override void RenderContent()
  32. {
  33. _scrollViewPosition = EditorGUILayout.BeginScrollView(_scrollViewPosition);
  34. RenderContentInScrollView();
  35. EditorGUILayout.EndScrollView();
  36. }
  37. #endregion
  38. #region Private Methods
  39. private void RenderContentInScrollView()
  40. {
  41. ObjectPlacementSettings objectPlacementSettings = ObjectPlacementSettings.Get();
  42. EditorGUILabelWidth.Push(EditorGUILayoutEx.PreferedEditorWindowLabelWidth);
  43. objectPlacementSettings.ObjectPlacementGuideSettings.View.Render();
  44. EditorGUILabelWidth.Pop();
  45. }
  46. #endregion
  47. }
  48. }
  49. #endif