暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SkinningEvents.cs 7.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. using UnityEngine.Events;
  2. namespace UnityEditor.U2D.Animation
  3. {
  4. internal class SkinningEvents
  5. {
  6. // The re-implemented virtual methods in these classes are there so that
  7. // they can be mocked in tests.
  8. public class SpriteEvent : UnityEvent<SpriteCache>
  9. {
  10. public new virtual void AddListener(UnityAction<SpriteCache> listener) => base.AddListener(listener);
  11. public new virtual void RemoveListener(UnityAction<SpriteCache> listener) => base.RemoveListener(listener);
  12. }
  13. public class SkeletonEvent : UnityEvent<SkeletonCache>
  14. {
  15. public new virtual void AddListener(UnityAction<SkeletonCache> listener) => base.AddListener(listener);
  16. public new virtual void RemoveListener(UnityAction<SkeletonCache> listener) => base.RemoveListener(listener);
  17. }
  18. public class MeshEvent : UnityEvent<MeshCache>
  19. {
  20. public new virtual void AddListener(UnityAction<MeshCache> listener) => base.AddListener(listener);
  21. public new virtual void RemoveListener(UnityAction<MeshCache> listener) => base.RemoveListener(listener);
  22. }
  23. public class MeshPreviewEvent : UnityEvent<MeshPreviewCache>
  24. {
  25. public new virtual void AddListener(UnityAction<MeshPreviewCache> listener) => base.AddListener(listener);
  26. public new virtual void RemoveListener(UnityAction<MeshPreviewCache> listener) => base.RemoveListener(listener);
  27. }
  28. public class SkinningModuleModeEvent : UnityEvent<SkinningMode>
  29. {
  30. public new virtual void AddListener(UnityAction<SkinningMode> listener) => base.AddListener(listener);
  31. public new virtual void RemoveListener(UnityAction<SkinningMode> listener) => base.RemoveListener(listener);
  32. }
  33. public class BoneSelectionEvent : UnityEvent
  34. {
  35. public new virtual void AddListener(UnityAction listener) => base.AddListener(listener);
  36. public new virtual void RemoveListener(UnityAction listener) => base.RemoveListener(listener);
  37. }
  38. public class BoneEvent : UnityEvent<BoneCache>
  39. {
  40. public new virtual void AddListener(UnityAction<BoneCache> listener) => base.AddListener(listener);
  41. public new virtual void RemoveListener(UnityAction<BoneCache> listener) => base.RemoveListener(listener);
  42. }
  43. public class CharacterPartEvent : UnityEvent<CharacterPartCache>
  44. {
  45. public new virtual void AddListener(UnityAction<CharacterPartCache> listener) => base.AddListener(listener);
  46. public new virtual void RemoveListener(UnityAction<CharacterPartCache> listener) => base.RemoveListener(listener);
  47. }
  48. public class ToolChangeEvent : UnityEvent<ITool>
  49. {
  50. public new virtual void AddListener(UnityAction<ITool> listener) => base.AddListener(listener);
  51. public new virtual void RemoveListener(UnityAction<ITool> listener) => base.RemoveListener(listener);
  52. }
  53. public class RestoreBindPoseEvent : UnityEvent
  54. {
  55. public new virtual void AddListener(UnityAction listener) => base.AddListener(listener);
  56. public new virtual void RemoveListener(UnityAction listener) => base.RemoveListener(listener);
  57. }
  58. public class CopyEvent : UnityEvent
  59. {
  60. public new virtual void AddListener(UnityAction listener) => base.AddListener(listener);
  61. public new virtual void RemoveListener(UnityAction listener) => base.RemoveListener(listener);
  62. }
  63. public class PasteEvent : UnityEvent<bool, bool, bool, bool>
  64. {
  65. public new virtual void AddListener(UnityAction<bool, bool, bool, bool> listener) => base.AddListener(listener);
  66. public new virtual void RemoveListener(UnityAction<bool, bool, bool, bool> listener) => base.RemoveListener(listener);
  67. }
  68. public class ShortcutEvent : UnityEvent<string>
  69. {
  70. public new virtual void AddListener(UnityAction<string> listener) => base.AddListener(listener);
  71. public new virtual void RemoveListener(UnityAction<string> listener) => base.RemoveListener(listener);
  72. }
  73. public class BoneVisibilityEvent : UnityEvent<string>
  74. {
  75. public new virtual void AddListener(UnityAction<string> listener) => base.AddListener(listener);
  76. public new virtual void RemoveListener(UnityAction<string> listener) => base.RemoveListener(listener);
  77. }
  78. public class MeshPreviewBehaviourChangeEvent : UnityEvent<IMeshPreviewBehaviour>
  79. {
  80. public new virtual void AddListener(UnityAction<IMeshPreviewBehaviour> listener) => base.AddListener(listener);
  81. public new virtual void RemoveListener(UnityAction<IMeshPreviewBehaviour> listener) => base.RemoveListener(listener);
  82. }
  83. SpriteEvent m_SelectedSpriteChanged = new SpriteEvent();
  84. SkeletonEvent m_SkeletonPreviewPoseChanged = new SkeletonEvent();
  85. SkeletonEvent m_SkeletonBindPoseChanged = new SkeletonEvent();
  86. SkeletonEvent m_SkeletonTopologyChanged = new SkeletonEvent();
  87. MeshEvent m_MeshChanged = new MeshEvent();
  88. MeshPreviewEvent m_MeshPreviewChanged = new MeshPreviewEvent();
  89. SkinningModuleModeEvent m_SkinningModuleModeChanged = new SkinningModuleModeEvent();
  90. BoneSelectionEvent m_BoneSelectionChangedEvent = new BoneSelectionEvent();
  91. BoneEvent m_BoneNameChangedEvent = new BoneEvent();
  92. BoneEvent m_BoneDepthChangedEvent = new BoneEvent();
  93. BoneEvent m_BoneColorChangedEvent = new BoneEvent();
  94. CharacterPartEvent m_CharacterPartChanged = new CharacterPartEvent();
  95. ToolChangeEvent m_ToolChanged = new ToolChangeEvent();
  96. RestoreBindPoseEvent m_RestoreBindPose = new RestoreBindPoseEvent();
  97. CopyEvent m_CopyEvent = new CopyEvent();
  98. PasteEvent m_PasteEvent = new PasteEvent();
  99. ShortcutEvent m_ShortcutEvent = new ShortcutEvent();
  100. BoneVisibilityEvent m_BoneVisibilityEvent = new BoneVisibilityEvent();
  101. MeshPreviewBehaviourChangeEvent m_MeshPreviewBehaviourChange = new MeshPreviewBehaviourChangeEvent();
  102. UnityEvent m_PivotChanged = new UnityEvent();
  103. //Setting them as virtual so that we can create mock them
  104. public virtual SpriteEvent selectedSpriteChanged => m_SelectedSpriteChanged;
  105. public virtual SkeletonEvent skeletonPreviewPoseChanged => m_SkeletonPreviewPoseChanged;
  106. public virtual SkeletonEvent skeletonBindPoseChanged => m_SkeletonBindPoseChanged;
  107. public virtual SkeletonEvent skeletonTopologyChanged => m_SkeletonTopologyChanged;
  108. public virtual MeshEvent meshChanged => m_MeshChanged;
  109. public virtual MeshPreviewEvent meshPreviewChanged => m_MeshPreviewChanged;
  110. public virtual SkinningModuleModeEvent skinningModeChanged => m_SkinningModuleModeChanged;
  111. public virtual BoneSelectionEvent boneSelectionChanged => m_BoneSelectionChangedEvent;
  112. public virtual BoneEvent boneNameChanged => m_BoneNameChangedEvent;
  113. public virtual BoneEvent boneDepthChanged => m_BoneDepthChangedEvent;
  114. public virtual BoneEvent boneColorChanged => m_BoneColorChangedEvent;
  115. public virtual CharacterPartEvent characterPartChanged => m_CharacterPartChanged;
  116. public virtual ToolChangeEvent toolChanged => m_ToolChanged;
  117. public virtual RestoreBindPoseEvent restoreBindPose => m_RestoreBindPose;
  118. public virtual CopyEvent copy => m_CopyEvent;
  119. public virtual PasteEvent paste => m_PasteEvent;
  120. public virtual ShortcutEvent shortcut => m_ShortcutEvent;
  121. public virtual BoneVisibilityEvent boneVisibility => m_BoneVisibilityEvent;
  122. public virtual MeshPreviewBehaviourChangeEvent meshPreviewBehaviourChange => m_MeshPreviewBehaviourChange;
  123. public virtual UnityEvent pivotChange => m_PivotChanged;
  124. }
  125. }