ObjectPlacementBoxStackSegmentActions.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using System.Collections.Generic;
  4. namespace O3DWB
  5. {
  6. public static class ObjectPlacementBoxStackSegmentActions
  7. {
  8. #region Public Static Functions
  9. public static void ClearHideFlagsForAllStacksInSegments(List<ObjectPlacementBoxStackSegment> segments, ObjectPlacementBoxHideFlags hideFlags)
  10. {
  11. foreach (ObjectPlacementBoxStackSegment segment in segments)
  12. {
  13. segment.ClearHideFlagInAllStacks(hideFlags);
  14. }
  15. }
  16. public static void ReverseExtensionDirectionForSegments(List<ObjectPlacementBoxStackSegment> segments)
  17. {
  18. foreach (ObjectPlacementBoxStackSegment segment in segments)
  19. {
  20. segment.ReverseExtensionDirection();
  21. }
  22. }
  23. public static void ShrinkSegmentsByAmount(List<ObjectPlacementBoxStackSegment> segments, int amount)
  24. {
  25. foreach (ObjectPlacementBoxStackSegment segment in segments)
  26. {
  27. segment.Shrink(amount);
  28. }
  29. }
  30. public static void ExtendSegmentsByAmount(List<ObjectPlacementBoxStackSegment> segments, int amount)
  31. {
  32. foreach (ObjectPlacementBoxStackSegment segment in segments)
  33. {
  34. segment.Extend(amount);
  35. }
  36. }
  37. public static void SetPaddingForSegments(List<ObjectPlacementBoxStackSegment> segments, float paddingAlongExtensionDirection, float paddingAlongStackGrowDirection)
  38. {
  39. foreach (ObjectPlacementBoxStackSegment segment in segments)
  40. {
  41. segment.SetPaddingAlongExtensionDirection(paddingAlongExtensionDirection);
  42. segment.SetPaddingAlongStackGrowDirection(paddingAlongStackGrowDirection);
  43. }
  44. }
  45. public static void SetHeightForSegments(List<ObjectPlacementBoxStackSegment> segments, int height)
  46. {
  47. foreach(ObjectPlacementBoxStackSegment segment in segments)
  48. {
  49. segment.SetHeightForAllStacks(height);
  50. }
  51. }
  52. public static void SetBoxSizeForSegments(List<ObjectPlacementBoxStackSegment> segments, Vector3 boxSize)
  53. {
  54. foreach (ObjectPlacementBoxStackSegment segment in segments)
  55. {
  56. segment.SetBoxSizeForAllStacks(boxSize);
  57. }
  58. }
  59. #endregion
  60. }
  61. }
  62. #endif