@@ -32,6 +32,18 @@ internal sealed class CollectionEventHandler : ICollectionEventHandler
3232 private UnityEvent < CollectionUnloadEventArgs > onUnloadExited =
3333 new UnityEvent < CollectionUnloadEventArgs > ( ) ;
3434
35+ [ SerializeField ]
36+ private UnityEvent onShowTransitionEntered = new UnityEvent ( ) ;
37+
38+ [ SerializeField ]
39+ private UnityEvent onShowTransitionExited = new UnityEvent ( ) ;
40+
41+ [ SerializeField ]
42+ private UnityEvent onHideTransitionEntered = new UnityEvent ( ) ;
43+
44+ [ SerializeField ]
45+ private UnityEvent onHideTransitionExited = new UnityEvent ( ) ;
46+
3547 #endregion
3648
3749 #region Public Events
@@ -46,6 +58,14 @@ internal sealed class CollectionEventHandler : ICollectionEventHandler
4658
4759 public event CollectionUnloadEvent OnUnloadExited ;
4860
61+ public event CollectionTransitionEvent OnShowTransitionEntered ;
62+
63+ public event CollectionTransitionEvent OnShowTransitionExited ;
64+
65+ public event CollectionTransitionEvent OnHideTransitionEntered ;
66+
67+ public event CollectionTransitionEvent OnHideTransitionExited ;
68+
4969 #endregion
5070
5171 #region Internal Methods
@@ -156,6 +176,59 @@ internal void RaiseUnloadExited(CollectionUnloadEventArgs args)
156176 }
157177 }
158178
179+ // TODO: these events below are not tested
180+ internal void RaiseShowTransitionEntered ( )
181+ {
182+ try
183+ {
184+ onShowTransitionEntered . Invoke ( ) ;
185+ OnShowTransitionEntered ? . Invoke ( ) ;
186+ }
187+ catch ( Exception exception )
188+ {
189+ Debug . LogError ( exception ) ;
190+ }
191+ }
192+
193+ internal void RaiseShowTransitionExited ( )
194+ {
195+ try
196+ {
197+ onShowTransitionExited . Invoke ( ) ;
198+ OnShowTransitionExited ? . Invoke ( ) ;
199+ }
200+ catch ( Exception exception )
201+ {
202+ Debug . LogError ( exception ) ;
203+ }
204+ }
205+
206+ internal void RaiseHideTransitionEntered ( )
207+ {
208+ try
209+ {
210+ onHideTransitionEntered . Invoke ( ) ;
211+ OnHideTransitionEntered ? . Invoke ( ) ;
212+ }
213+ catch ( Exception exception )
214+ {
215+ Debug . LogError ( exception ) ;
216+ }
217+ }
218+
219+ internal void RaiseHideTransitionExited ( )
220+ {
221+ try
222+ {
223+ onHideTransitionExited . Invoke ( ) ;
224+ OnHideTransitionExited ? . Invoke ( ) ;
225+ }
226+ catch ( Exception exception )
227+ {
228+ Debug . LogError ( exception ) ;
229+ }
230+ }
231+
159232 #endregion
160233 }
161234}
0 commit comments