ObjectPlacementMessages.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using System.Collections.Generic;
  4. namespace O3DWB
  5. {
  6. public class ObjectPlacementGuideWasInstantiatedMessage : Message
  7. {
  8. #region Constructors
  9. public ObjectPlacementGuideWasInstantiatedMessage()
  10. : base(MessageType.ObjectPlacementGuideWasInstantiated)
  11. {
  12. }
  13. #endregion
  14. #region Public Static Functions
  15. public static void SendToInterestedListeners()
  16. {
  17. var message = new ObjectPlacementGuideWasInstantiatedMessage();
  18. MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
  19. }
  20. #endregion
  21. }
  22. public class ObjectPlacementModeWasChangedMessage : Message
  23. {
  24. #region Private Variables
  25. private ObjectPlacementMode _newObjectPlacementMode;
  26. #endregion
  27. #region Public Properties
  28. public ObjectPlacementMode NewObjectPlacementMode { get { return _newObjectPlacementMode; } }
  29. #endregion
  30. #region Constructors
  31. public ObjectPlacementModeWasChangedMessage(ObjectPlacementMode newObjectPlacementMode)
  32. : base(MessageType.ObjectPlacementModeWasChanged)
  33. {
  34. _newObjectPlacementMode = newObjectPlacementMode;
  35. }
  36. #endregion
  37. #region Public Static Functions
  38. public static void SendToInterestedListeners(ObjectPlacementMode newObjectPlacementMode)
  39. {
  40. var message = new ObjectPlacementModeWasChangedMessage(newObjectPlacementMode);
  41. MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
  42. }
  43. #endregion
  44. }
  45. public class ObjectHierarchyRootsWerePlacedInSceneMessage : Message
  46. {
  47. #region Public Enums
  48. public enum PlacementType
  49. {
  50. ObjectPlacement = 0,
  51. Selection
  52. }
  53. #endregion
  54. #region Private Variables
  55. private List<GameObject> _placedRoots;
  56. private PlacementType _objectPlacementType;
  57. #endregion
  58. #region Public Properties
  59. public List<GameObject> PlacedRoots { get { return new List<GameObject>(_placedRoots); } }
  60. public PlacementType ObjectPlacementType { get { return _objectPlacementType; } }
  61. #endregion
  62. #region Constructors
  63. public ObjectHierarchyRootsWerePlacedInSceneMessage(List<GameObject> placedRoots, PlacementType objectPlacementType)
  64. : base(MessageType.ObjectHierarchyRootsWerePlacedInScene)
  65. {
  66. _placedRoots = new List<GameObject>(placedRoots);
  67. _objectPlacementType = objectPlacementType;
  68. }
  69. #endregion
  70. #region Public Static Functions
  71. public static void SendToInterestedListeners(List<GameObject> placedRoots, PlacementType objectPlacementType)
  72. {
  73. var message = new ObjectHierarchyRootsWerePlacedInSceneMessage(placedRoots, objectPlacementType);
  74. MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
  75. }
  76. public static void SendToInterestedListeners(GameObject placedRoot, PlacementType objectPlacementType)
  77. {
  78. var message = new ObjectHierarchyRootsWerePlacedInSceneMessage(new List<GameObject> { placedRoot }, objectPlacementType);
  79. MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
  80. }
  81. #endregion
  82. }
  83. }
  84. #endif