RectangleObjectInteractionShape.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using System;
  4. using System.Collections.Generic;
  5. namespace O3DWB
  6. {
  7. [Serializable]
  8. public class RectangleObjectInteractionShape : ObjectInteraction2DShape
  9. {
  10. #region Private Variables
  11. [SerializeField]
  12. private RectangleShapeRenderSettings _renderSettings;
  13. #endregion
  14. #region Public Properties
  15. public RectangleShapeRenderSettings RenderSettings
  16. {
  17. get
  18. {
  19. if (_renderSettings == null) _renderSettings = Octave3DWorldBuilder.ActiveInstance.CreateScriptableObject<RectangleShapeRenderSettings>();
  20. return _renderSettings;
  21. }
  22. }
  23. public Rect Rectangle { get { return EnclosingRect; } }
  24. #endregion
  25. #region Public Methods
  26. public override void RenderGizmos()
  27. {
  28. Rect rectangle = Rectangle;
  29. GizmosEx.Render2DFilledRectangle(rectangle, _renderSettings.FillColor);
  30. GizmosEx.Render2DRectangleBorderLines(rectangle, _renderSettings.BorderLineColor);
  31. }
  32. public override List<GameObject> GetOverlappedGameObjects(bool allowPartialOverlap)
  33. {
  34. return GetGameObjectsOverlappedByEnclosingRect(allowPartialOverlap);
  35. }
  36. #endregion
  37. }
  38. }
  39. #endif