77public class InputUIEventProxy : IInputProxyBase
88{
99 #region 添加监听
10- public static InputEventRegisterInfo < InputUIOnClickEvent > AddOnClickListener ( Button button , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnClickEvent > callback )
10+ public static InputButtonClickRegisterInfo GetOnClickListener ( Button button , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnClickEvent > callback )
1111 {
1212 InputButtonClickRegisterInfo info = HeapObjectPool < InputButtonClickRegisterInfo > . GetObject ( ) ;
1313
@@ -19,14 +19,10 @@ public static InputEventRegisterInfo<InputUIOnClickEvent> AddOnClickListener(But
1919 DispatchOnClickEvent ( UIName , ComponentName , parm ) ;
2020 } ;
2121
22- info . AddListener ( ) ;
23-
24- button . onClick . AddListener ( info . m_OnClick ) ;
25-
2622 return info ;
2723 }
2824
29- public static InputEventRegisterInfo < InputUILongPressEvent > AddLongPressListener ( LongPressAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUILongPressEvent > callback )
25+ public static InputEventRegisterInfo < InputUILongPressEvent > GetLongPressListener ( LongPressAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUILongPressEvent > callback )
3026 {
3127 InputlongPressRegisterInfo info = HeapObjectPool < InputlongPressRegisterInfo > . GetObject ( ) ;
3228
@@ -38,13 +34,10 @@ public static InputEventRegisterInfo<InputUILongPressEvent> AddLongPressListener
3834 DispatchLongPressEvent ( UIName , ComponentName , parm , type ) ;
3935 } ;
4036
41- info . AddListener ( ) ;
42- acceptor . OnLongPress += info . m_OnLongPress ;
43-
4437 return info ;
4538 }
4639
47- public static InputEventRegisterInfo < InputUIOnScrollEvent > AddOnScrollListener ( string UIName , string ComponentName , InputEventHandle < InputUIOnScrollEvent > callback )
40+ public static InputEventRegisterInfo < InputUIOnScrollEvent > GetOnScrollListener ( string UIName , string ComponentName , InputEventHandle < InputUIOnScrollEvent > callback )
4841 {
4942 InputEventRegisterInfo < InputUIOnScrollEvent > info = HeapObjectPool < InputEventRegisterInfo < InputUIOnScrollEvent > > . GetObject ( ) ;
5043
@@ -57,7 +50,7 @@ public static InputEventRegisterInfo<InputUIOnScrollEvent> AddOnScrollListener(s
5750 return info ;
5851 }
5952
60- public static InputEventRegisterInfo < InputUIOnDragEvent > AddOnDragListener ( DragAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnDragEvent > callback )
53+ public static InputEventRegisterInfo < InputUIOnDragEvent > GetOnDragListener ( DragAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnDragEvent > callback )
6154 {
6255 InputDragRegisterInfo info = HeapObjectPool < InputDragRegisterInfo > . GetObject ( ) ;
6356
@@ -69,15 +62,10 @@ public static InputEventRegisterInfo<InputUIOnDragEvent> AddOnDragListener(DragA
6962 DispatchDragEvent ( UIName , ComponentName , parm , data ) ;
7063 } ;
7164
72- info . AddListener ( ) ;
73-
74- InputManager . AddListener (
75- InputUIOnDragEvent . GetEventKey ( UIName , ComponentName , parm ) , callback ) ;
76-
7765 return info ;
7866 }
7967
80- public static InputBeginDragRegisterInfo AddOnBeginDragListener ( DragAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnBeginDragEvent > callback )
68+ public static InputBeginDragRegisterInfo GetOnBeginDragListener ( DragAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnBeginDragEvent > callback )
8169 {
8270 InputBeginDragRegisterInfo info = HeapObjectPool < InputBeginDragRegisterInfo > . GetObject ( ) ;
8371
@@ -89,15 +77,10 @@ public static InputBeginDragRegisterInfo AddOnBeginDragListener(DragAcceptor acc
8977 DispatchBeginDragEvent ( UIName , ComponentName , parm , data ) ;
9078 } ;
9179
92- info . AddListener ( ) ;
93-
94- InputManager . AddListener (
95- InputUIOnBeginDragEvent . GetEventKey ( UIName , ComponentName , parm ) , callback ) ;
96-
9780 return info ;
9881 }
9982
100- public static InputEndDragRegisterInfo AddOnEndDragListener ( DragAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnEndDragEvent > callback )
83+ public static InputEndDragRegisterInfo GetOnEndDragListener ( DragAcceptor acceptor , string UIName , string ComponentName , string parm , InputEventHandle < InputUIOnEndDragEvent > callback )
10184 {
10285 InputEndDragRegisterInfo info = HeapObjectPool < InputEndDragRegisterInfo > . GetObject ( ) ;
10386
@@ -109,11 +92,6 @@ public static InputEndDragRegisterInfo AddOnEndDragListener(DragAcceptor accepto
10992 DispatchEndDragEvent ( UIName , ComponentName , parm , data ) ;
11093 } ;
11194
112- info . AddListener ( ) ;
113-
114- InputManager . AddListener (
115- InputUIOnDragEvent . GetEventKey ( UIName , ComponentName , parm ) , callback ) ;
116-
11795 return info ;
11896 }
11997
@@ -234,10 +212,23 @@ public class InputButtonClickRegisterInfo : InputEventRegisterInfo<InputUIOnClic
234212 public Button m_button ;
235213 public UnityAction m_OnClick ;
236214
237- public override void RemoveListener ( )
215+ public override void RemoveListener ( bool isSole )
216+ {
217+ base . RemoveListener ( isSole ) ;
218+ if ( isSole )
219+ {
220+ m_button . onClick . RemoveListener ( m_OnClick ) ;
221+ }
222+ }
223+
224+ public override void AddListener ( bool isSole )
238225 {
239- base . RemoveListener ( ) ;
240- m_button . onClick . RemoveListener ( m_OnClick ) ;
226+ base . AddListener ( isSole ) ;
227+
228+ if ( isSole )
229+ {
230+ m_button . onClick . AddListener ( m_OnClick ) ;
231+ }
241232 }
242233}
243234
@@ -246,10 +237,22 @@ public class InputlongPressRegisterInfo : InputEventRegisterInfo<InputUILongPres
246237 public LongPressAcceptor m_acceptor ;
247238 public InputUIEventLongPressCallBack m_OnLongPress ;
248239
249- public override void RemoveListener ( )
240+ public override void RemoveListener ( bool isSole )
250241 {
251- base . RemoveListener ( ) ;
252- m_acceptor . OnLongPress -= m_OnLongPress ;
242+ base . RemoveListener ( isSole ) ;
243+ if ( isSole )
244+ {
245+ m_acceptor . OnLongPress -= m_OnLongPress ;
246+ }
247+ }
248+
249+ public override void AddListener ( bool isSole )
250+ {
251+ base . AddListener ( isSole ) ;
252+ if ( isSole )
253+ {
254+ m_acceptor . OnLongPress += m_OnLongPress ;
255+ }
253256 }
254257}
255258
@@ -258,17 +261,22 @@ public class InputDragRegisterInfo : InputEventRegisterInfo<InputUIOnDragEvent>
258261 public DragAcceptor m_acceptor ;
259262 public InputUIEventDragCallBack m_OnDrag ;
260263
261- public override void AddListener ( )
264+ public override void AddListener ( bool isSole )
262265 {
263- base . AddListener ( ) ;
264- m_acceptor . m_OnDrag += m_OnDrag ;
266+ base . AddListener ( isSole ) ;
267+ if ( isSole )
268+ {
269+ m_acceptor . m_OnDrag += m_OnDrag ;
270+ }
265271 }
266272
267-
268- public override void RemoveListener ( )
273+ public override void RemoveListener ( bool isSole )
269274 {
270- base . RemoveListener ( ) ;
271- m_acceptor . m_OnDrag -= m_OnDrag ;
275+ base . RemoveListener ( isSole ) ;
276+ if ( isSole )
277+ {
278+ m_acceptor . m_OnDrag -= m_OnDrag ;
279+ }
272280 }
273281}
274282
@@ -277,16 +285,22 @@ public class InputBeginDragRegisterInfo : InputEventRegisterInfo<InputUIOnBeginD
277285 public DragAcceptor m_acceptor ;
278286 public InputUIEventDragCallBack m_OnBeginDrag ;
279287
280- public override void AddListener ( )
288+ public override void AddListener ( bool isSole )
281289 {
282- base . AddListener ( ) ;
283- m_acceptor . m_OnBeginDrag += m_OnBeginDrag ;
290+ base . AddListener ( isSole ) ;
291+ if ( isSole )
292+ {
293+ m_acceptor . m_OnBeginDrag += m_OnBeginDrag ;
294+ }
284295 }
285296
286- public override void RemoveListener ( )
297+ public override void RemoveListener ( bool isSole )
287298 {
288- base . RemoveListener ( ) ;
289- m_acceptor . m_OnBeginDrag -= m_OnBeginDrag ;
299+ base . RemoveListener ( isSole ) ;
300+ if ( isSole )
301+ {
302+ m_acceptor . m_OnBeginDrag -= m_OnBeginDrag ;
303+ }
290304 }
291305}
292306
@@ -295,15 +309,20 @@ public class InputEndDragRegisterInfo : InputEventRegisterInfo<InputUIOnEndDragE
295309 public DragAcceptor m_acceptor ;
296310 public InputUIEventDragCallBack m_OnEndDrag ;
297311
298- public override void AddListener ( )
312+ public override void AddListener ( bool isSole )
299313 {
300- base . AddListener ( ) ;
301- m_acceptor . m_OnEndDrag += m_OnEndDrag ;
314+ base . AddListener ( isSole ) ;
315+ if ( isSole )
316+ {
317+ m_acceptor . m_OnEndDrag += m_OnEndDrag ;
318+ }
302319 }
303- public override void RemoveListener ( )
320+ public override void RemoveListener ( bool isSole )
304321 {
305- base . RemoveListener ( ) ;
306- m_acceptor . m_OnEndDrag -= m_OnEndDrag ;
307-
322+ base . RemoveListener ( isSole ) ;
323+ if ( isSole )
324+ {
325+ m_acceptor . m_OnEndDrag -= m_OnEndDrag ;
326+ }
308327 }
309328}
0 commit comments