ObjectSelectionActionToolbar.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using System;
  4. using System.Collections.Generic;
  5. namespace O3DWB
  6. {
  7. [Serializable]
  8. public class ObjectSelectionActionToolbar : Toolbar
  9. {
  10. #region Constructors
  11. public ObjectSelectionActionToolbar()
  12. {
  13. AllowActiveStateForButtons = false;
  14. UseBoxStyleForButtons = false;
  15. ButtonScale = 0.16f;
  16. }
  17. #endregion
  18. #region Protected Methods
  19. protected override int GetNumberOfButtons()
  20. {
  21. return 6;
  22. }
  23. protected override List<string> GetButtonTooltips()
  24. {
  25. return new List<string>
  26. {
  27. "Assign selection to decor paint mask",
  28. "Remove selection from decor paint mask",
  29. "Assign selection to snap mask",
  30. "Remove selection from snap mask",
  31. "Assign selection to erase mask",
  32. "Remove selection from erase mask"
  33. };
  34. }
  35. protected override List<string> GetNormalStateButtonTexturePaths()
  36. {
  37. return new List<string>
  38. {
  39. "/Textures/GUI Textures/Object Selection Actions/DecorPaintMaskAssignment",
  40. "/Textures/GUI Textures/Object Selection Actions/DecorPaintMaskRemoval",
  41. "/Textures/GUI Textures/Object Selection Actions/SnapMaskAssignment",
  42. "/Textures/GUI Textures/Object Selection Actions/SnapMaskRemoval",
  43. "/Textures/GUI Textures/Object Selection Actions/EraseMaskAssignment",
  44. "/Textures/GUI Textures/Object Selection Actions/EraseMaskRemoval",
  45. };
  46. }
  47. protected override List<string> GetActiveStateButtonTexturePaths()
  48. {
  49. return new List<string>();
  50. }
  51. protected override Color GetButtonColor(int buttonIndex)
  52. {
  53. return Color.white;
  54. }
  55. protected override void HandleButtonClick(int buttonIndex)
  56. {
  57. switch(buttonIndex)
  58. {
  59. case 0:
  60. //UndoEx.RecordForToolAction(DecorPaintObjectPlacement.Get().DecorPaintMask.ObjectCollectionMask);
  61. DecorPaintObjectPlacement.Get().DecorPaintMask.ObjectCollectionMask.Mask(ObjectSelection.Get().GetAllSelectedGameObjects());
  62. break;
  63. case 1:
  64. //UndoEx.RecordForToolAction(DecorPaintObjectPlacement.Get().DecorPaintMask.ObjectCollectionMask);
  65. DecorPaintObjectPlacement.Get().DecorPaintMask.ObjectCollectionMask.Unmask(ObjectSelection.Get().GetAllSelectedGameObjects());
  66. break;
  67. case 2:
  68. //UndoEx.RecordForToolAction(ObjectSnapping.Get().ObjectSnapMask.ObjectCollectionMask);
  69. ObjectSnapping.Get().ObjectSnapMask.ObjectCollectionMask.Mask(ObjectSelection.Get().GetAllSelectedGameObjects());
  70. break;
  71. case 3:
  72. //UndoEx.RecordForToolAction(ObjectSnapping.Get().ObjectSnapMask.ObjectCollectionMask);
  73. ObjectSnapping.Get().ObjectSnapMask.ObjectCollectionMask.Unmask(ObjectSelection.Get().GetAllSelectedGameObjects());
  74. break;
  75. case 4:
  76. ObjectEraser.Get().EraseMask.ObjectCollectionMask.Mask(ObjectSelection.Get().GetAllSelectedGameObjects());
  77. break;
  78. case 5:
  79. ObjectEraser.Get().EraseMask.ObjectCollectionMask.Unmask(ObjectSelection.Get().GetAllSelectedGameObjects());
  80. break;
  81. }
  82. }
  83. protected override int GetActiveButtonIndex()
  84. {
  85. return -1;
  86. }
  87. #endregion
  88. }
  89. }
  90. #endif