ObjectPlacementBox.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. namespace O3DWB
  4. {
  5. public class ObjectPlacementBox
  6. {
  7. #region Private Variables
  8. private OrientedBox _orientedBox = new OrientedBox();
  9. private ObjectPlacementBoxHideFlags _hideFlags = ObjectPlacementBoxHideFlags.None;
  10. #endregion
  11. #region Public Properties
  12. public OrientedBox OrientedBox { get { return new OrientedBox(_orientedBox); } }
  13. public Vector3 Center { get { return _orientedBox.Center; } set { _orientedBox.Center = value; } }
  14. public Vector3 ModelSpaceSize { get { return _orientedBox.ModelSpaceSize; } set { _orientedBox.ModelSpaceSize = value; } }
  15. public Vector3 ScaledSize { get { return _orientedBox.ScaledSize; } }
  16. public Quaternion Rotation { get { return _orientedBox.Rotation; } set { _orientedBox.Rotation = value; } }
  17. public bool IsHidden { get { return _hideFlags != ObjectPlacementBoxHideFlags.None; } }
  18. #endregion
  19. #region Constructors
  20. public ObjectPlacementBox()
  21. {
  22. }
  23. public ObjectPlacementBox(ObjectPlacementBox source)
  24. {
  25. _orientedBox = source.OrientedBox;
  26. }
  27. #endregion
  28. #region Public Methods
  29. public void ClearAllHideFlags()
  30. {
  31. _hideFlags = ObjectPlacementBoxHideFlags.None;
  32. }
  33. public void SetHideFlag(ObjectPlacementBoxHideFlags hideFlag)
  34. {
  35. _hideFlags |= hideFlag;
  36. }
  37. public void ClearHideFlag(ObjectPlacementBoxHideFlags hideFlag)
  38. {
  39. _hideFlags &= ~hideFlag;
  40. }
  41. #endregion
  42. }
  43. }
  44. #endif