Skip to content

Commit ba713cf

Browse files
committed
Refactored event listeners to rely on intermediate method to trigger event
1 parent ee6543a commit ba713cf

1 file changed

Lines changed: 28 additions & 8 deletions

File tree

Runtime/SOBaseEvents/EventListener.cs

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,22 @@ private void OnEnable()
1515
{
1616
if (_typedEvent != null)
1717
{
18-
_typedEvent.AddListener(OnEventRaised);
18+
_typedEvent.AddListener(OnEventRaiseRequested);
1919
}
2020
}
2121

2222
private void OnDisable()
2323
{
2424
if (_typedEvent != null)
2525
{
26-
_typedEvent.RemoveListener(OnEventRaised);
26+
_typedEvent.RemoveListener(OnEventRaiseRequested);
2727
}
2828
}
29+
30+
private void OnEventRaiseRequested()
31+
{
32+
OnEventRaised?.Invoke();
33+
}
2934
}
3035

3136
public abstract class EventListener<TEvent, TArg> : MonoBehaviour where TEvent : class, ISOEventRegistry<TArg>
@@ -40,17 +45,22 @@ private void OnEnable()
4045
{
4146
if (_typedEvent != null)
4247
{
43-
_typedEvent.AddListener(OnEventRaised);
48+
_typedEvent.AddListener(OnEventRaiseRequested);
4449
}
4550
}
4651

4752
private void OnDisable()
4853
{
4954
if (_typedEvent != null)
5055
{
51-
_typedEvent.RemoveListener(OnEventRaised);
56+
_typedEvent.RemoveListener(OnEventRaiseRequested);
5257
}
5358
}
59+
60+
private void OnEventRaiseRequested(TArg value)
61+
{
62+
OnEventRaised?.Invoke(value);
63+
}
5464
}
5565

5666
public abstract class EventListener<TEvent, TArg1, TArg2> : MonoBehaviour where TEvent : class, ISOEventRegistry<TArg1, TArg2>
@@ -65,17 +75,22 @@ private void OnEnable()
6575
{
6676
if (_typedEvent != null)
6777
{
68-
_typedEvent.AddListener(OnEventRaised);
78+
_typedEvent.AddListener(OnEventRaiseRequested);
6979
}
7080
}
7181

7282
private void OnDisable()
7383
{
7484
if (_typedEvent != null)
7585
{
76-
_typedEvent.RemoveListener(OnEventRaised);
86+
_typedEvent.RemoveListener(OnEventRaiseRequested);
7787
}
7888
}
89+
90+
private void OnEventRaiseRequested(TArg1 value1, TArg2 value2)
91+
{
92+
OnEventRaised?.Invoke(value1, value2);
93+
}
7994
}
8095

8196
public abstract class EventListener<TEvent, TArg1, TArg2, TArg3> : MonoBehaviour where TEvent : class, ISOEventRegistry<TArg1, TArg2, TArg3>
@@ -90,16 +105,21 @@ private void OnEnable()
90105
{
91106
if (_typedEvent != null)
92107
{
93-
_typedEvent.AddListener(OnEventRaised);
108+
_typedEvent.AddListener(OnEventRaiseRequested);
94109
}
95110
}
96111

97112
private void OnDisable()
98113
{
99114
if (_typedEvent != null)
100115
{
101-
_typedEvent.RemoveListener(OnEventRaised);
116+
_typedEvent.RemoveListener(OnEventRaiseRequested);
102117
}
103118
}
119+
120+
private void OnEventRaiseRequested(TArg1 value1, TArg2 value2, TArg3 value3)
121+
{
122+
OnEventRaised?.Invoke(value1, value2, value3);
123+
}
104124
}
105125
}

0 commit comments

Comments
 (0)