Skip to content

Commit 8c7563c

Browse files
committed
Add label in gameevents gui to display name of parent gameobject from listeners
1 parent fb39773 commit 8c7563c

28 files changed

+75
-26
lines changed

Packages/SOGameEvents/Editor/GameEventEditor.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public override void OnInspectorGUI()
1515
{
1616
e.Raise(t);
1717
}
18+
19+
GUILayout.Label("Used by listeners in following GameObjects: " + e.EventListenersParentNames());
1820
}
1921

2022
protected abstract T GetValue();

Packages/SOGameEvents/Runtime/GameEvent.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using System.Text;
23
using UnityEngine;
34

45
namespace RaCoding.GameEvents
@@ -24,5 +25,15 @@ public void UnregisterListener(IGameEventListener<T> listener)
2425
if (eventListeners.Contains(listener))
2526
eventListeners.Remove(listener);
2627
}
28+
29+
public string EventListenersParentNames()
30+
{
31+
StringBuilder sb = new();
32+
for (int i = 0; i < eventListeners.Count; i++)
33+
{
34+
sb.Append(eventListeners[i].ParentName + " ");
35+
}
36+
return sb.ToString();
37+
}
2738
}
2839
}

Packages/SOGameEvents/Runtime/GameEventListener.cs

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,38 @@ namespace RaCoding.GameEvents
55
{
66
public abstract class GameEventListener<T> : IGameEventListener<T>
77
{
8+
private GameObject _parentGameObject;
9+
public GameObject ParentGameObject
10+
{
11+
private get { return _parentGameObject; }
12+
set
13+
{
14+
if (value != null && _parentGameObject == null)
15+
{
16+
_parentGameObject = value;
17+
}
18+
}
19+
}
20+
21+
public string ParentName
22+
{
23+
get
24+
{
25+
if (_parentGameObject != null)
26+
{
27+
return _parentGameObject.name;
28+
}
29+
return "Parent not set!";
30+
}
31+
}
32+
33+
// Constructor for ComponentGameEventListeners
834
public GameEventListener() {}
935

10-
public GameEventListener(IRegisterListener registerListener)
36+
// Constructor for GameEventListener used as a field
37+
public GameEventListener(IRegisterListener registerListener, GameObject parent)
1138
{
39+
ParentGameObject = parent;
1240
registerListener.onEnableGameEventListener += Register;
1341
registerListener.onDisableGameEventListener += Unregister;
1442
}

Packages/SOGameEvents/Runtime/IGameEventListener.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,10 @@ public interface IGameEventListener<T>
77
public void Unregister();
88

99
public void OnEventRaised(T t);
10+
11+
public string ParentName
12+
{
13+
get;
14+
}
1015
}
1116
}

Packages/SOGameEvents/Runtime/Listener/AudioClipGameEventListener.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class AudioClipGameEventListener : GameEventListener<AudioClip>
88
{
99
public AudioClipGameEventListener() : base() {}
1010

11-
public AudioClipGameEventListener(IRegisterListener registerListener) : base(registerListener) {}
11+
public AudioClipGameEventListener(IRegisterListener registerListener, GameObject gameObject) : base(registerListener, gameObject) { }
1212

1313
[SerializeField] private AudioClipGameEvent audioClipEvent;
1414
[SerializeField] private AudioClipUnityEvent audioClipResponse;

Packages/SOGameEvents/Runtime/Listener/BoolGameEventListener.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class BoolGameEventListener : GameEventListener<bool>
88
{
99
public BoolGameEventListener() : base() {}
1010

11-
public BoolGameEventListener(IRegisterListener registerListener) : base(registerListener) {}
11+
public BoolGameEventListener(IRegisterListener registerListener, GameObject gameObject) : base(registerListener, gameObject) {}
1212

1313
[SerializeField] private BoolGameEvent boolEvent;
1414
[SerializeField] private BoolUnityEvent boolResponse;

Packages/SOGameEvents/Runtime/Listener/ByteGameEventListener.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class ByteGameEventListener : GameEventListener<byte>
88
{
99
public ByteGameEventListener() : base() {}
1010

11-
public ByteGameEventListener(IRegisterListener registerListener) : base(registerListener) {}
11+
public ByteGameEventListener(IRegisterListener registerListener, GameObject gameObject) : base(registerListener, gameObject) { }
1212

1313
[SerializeField] private ByteGameEvent byteEvent;
1414
[SerializeField] private ByteUnityEvent byteResponse;

Packages/SOGameEvents/Runtime/Listener/CharGameEventListener.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class CharGameEventListener : GameEventListener<char>
88
{
99
public CharGameEventListener() : base() {}
1010

11-
public CharGameEventListener(IRegisterListener registerListener) : base(registerListener) {}
11+
public CharGameEventListener(IRegisterListener registerListener, GameObject gameObject) : base(registerListener, gameObject) { }
1212

1313
[SerializeField] private CharGameEvent charEvent;
1414
[SerializeField] private CharUnityEvent charResponse;

Packages/SOGameEvents/Runtime/Listener/ColorGameEventListener.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class ColorGameEventListener : GameEventListener<Color>
88
{
99
public ColorGameEventListener() : base() {}
1010

11-
public ColorGameEventListener(IRegisterListener registerListener) : base(registerListener) {}
11+
public ColorGameEventListener(IRegisterListener registerListener, GameObject gameObject) : base(registerListener, gameObject) { }
1212

1313
[SerializeField] private ColorGameEvent colorEvent;
1414
[SerializeField] private ColorUnityEvent colorResponse;

Packages/SOGameEvents/Runtime/Listener/Component/ComponentGameEventListener.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
using System.Collections;
2-
using System.Collections.Generic;
31
using UnityEngine;
42

53
namespace RaCoding.GameEvents
@@ -8,6 +6,11 @@ namespace RaCoding.GameEvents
86
{
97
[SerializeField] private L listener = new();
108

9+
private void Awake()
10+
{
11+
listener.ParentGameObject = gameObject;
12+
}
13+
1114
public void OnEnable()
1215
{
1316
listener.Register();

0 commit comments

Comments
 (0)