ObjectPlacementBlockManualHeightAdjuster.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using System.Collections.Generic;
  4. namespace O3DWB
  5. {
  6. public class ObjectPlacementBlockManualHeightAdjuster
  7. {
  8. #region Public Methods
  9. public int Raise(ObjectPlacementBlock block, int currentBlockHeight)
  10. {
  11. currentBlockHeight += block.Settings.ManualConstructionSettings.HeightAdjustmentSettings.ManualHeightAdjustmentSettings.RaiseAmount;
  12. ObjectPlacementBoxStackSegmentActions.SetHeightForSegments(block.GetAllSegments(), currentBlockHeight);
  13. return currentBlockHeight;
  14. }
  15. public int Lower(ObjectPlacementBlock block, int currentBlockHeight)
  16. {
  17. currentBlockHeight -= block.Settings.ManualConstructionSettings.HeightAdjustmentSettings.ManualHeightAdjustmentSettings.LowerAmount;
  18. ObjectPlacementBoxStackSegmentActions.SetHeightForSegments(block.GetAllSegments(), currentBlockHeight);
  19. return currentBlockHeight;
  20. }
  21. public void AdjustHeightForSegments(List<ObjectPlacementBoxStackSegment> segments, int desiredHeight)
  22. {
  23. foreach (ObjectPlacementBoxStackSegment segment in segments)
  24. {
  25. AdjustSegmentHeight(segment, desiredHeight);
  26. }
  27. }
  28. public void AdjustHeightForSegments(List<ObjectPlacementBoxStackSegment> segments, int indexOfFirstStackToAdjust, int desiredHeight)
  29. {
  30. foreach (ObjectPlacementBoxStackSegment segment in segments)
  31. {
  32. AdjustSegmentHeight(segment, indexOfFirstStackToAdjust, desiredHeight);
  33. }
  34. }
  35. public void AdjustSegmentHeight(ObjectPlacementBoxStackSegment segment, int desiredHeight)
  36. {
  37. segment.SetHeightForAllStacks(desiredHeight);
  38. }
  39. public void AdjustSegmentHeight(ObjectPlacementBoxStackSegment segment, int indexOfFirstStackToAdjust, int desiredHeight)
  40. {
  41. segment.SetHeightForStacksStartingAt(indexOfFirstStackToAdjust, desiredHeight);
  42. }
  43. #endregion
  44. }
  45. }
  46. #endif