ObjectPlacementModeSelectionToolbar.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using UnityEditor;
  4. using System;
  5. using System.Collections.Generic;
  6. namespace O3DWB
  7. {
  8. [Serializable]
  9. public class ObjectPlacementModeSelectionToolbar : Toolbar
  10. {
  11. #region Protected Methods
  12. protected override int GetNumberOfButtons()
  13. {
  14. return 4;
  15. }
  16. protected override List<string> GetButtonTooltips()
  17. {
  18. return new List<string>
  19. {
  20. "Decor Paint",
  21. "Point and Click",
  22. "Path",
  23. "Block"
  24. };
  25. }
  26. protected override List<string> GetNormalStateButtonTexturePaths()
  27. {
  28. return new List<string>
  29. {
  30. "/Textures/GUI Textures/Object Placement Mode Selection Buttons/DecorPaintMode",
  31. "/Textures/GUI Textures/Object Placement Mode Selection Buttons/PointAndClickMode",
  32. "/Textures/GUI Textures/Object Placement Mode Selection Buttons/PathMode",
  33. "/Textures/GUI Textures/Object Placement Mode Selection Buttons/BlockMode"
  34. };
  35. }
  36. protected override List<string> GetActiveStateButtonTexturePaths()
  37. {
  38. return new List<string>();
  39. }
  40. protected override Color GetButtonColor(int buttonIndex)
  41. {
  42. if (buttonIndex == GetActiveButtonIndex()) return new Color(1.0f, 1.0f, 1.0f, 0.5f);
  43. else return Color.white;
  44. }
  45. protected override void HandleButtonClick(int buttonIndex)
  46. {
  47. UndoEx.RecordForToolAction(ObjectPlacementSettings.Get());
  48. ObjectPlacementSettings.Get().ObjectPlacementMode = (ObjectPlacementMode)buttonIndex;
  49. SceneView.RepaintAll();
  50. }
  51. protected override int GetActiveButtonIndex()
  52. {
  53. return (int)ObjectPlacementSettings.Get().ObjectPlacementMode;
  54. }
  55. #endregion
  56. }
  57. }
  58. #endif