Skip to content

Commit 512a62e

Browse files
committed
feat: add identity's on push back event
1 parent feba69e commit 512a62e

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

Scripts/GameApi/LiteNetLibAssets.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,7 @@ public void PushInstanceBack(LiteNetLibIdentity instance)
338338
}
339339
else
340340
{
341+
instance.OnPushBack();
341342
instance.gameObject.SetActive(false);
342343
queue.Enqueue(instance);
343344
}

Scripts/GameApi/LiteNetLibIdentity.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
using UnityEngine.SceneManagement;
77
using UnityEngine.Rendering;
88
using UnityEngine.Serialization;
9+
using UnityEngine.Events;
10+
911
#if UNITY_EDITOR
1012
using UnityEditor;
1113
using UnityEditor.SceneManagement;
@@ -66,7 +68,8 @@ public sealed class LiteNetLibIdentity : MonoBehaviour
6668
private bool muteAudioSourceWhileHidding = true;
6769
#endif
6870

69-
public System.Action onGetInstance;
71+
public UnityEvent onGetInstance = new UnityEvent();
72+
public UnityEvent onPushBack = new UnityEvent();
7073
public ConnectionEventDelegate onSubscriberAdded;
7174
public ConnectionEventDelegate onSubscriberRemoved;
7275
public System.Action onServerSubscribingAdded;
@@ -952,7 +955,12 @@ internal void OnNetworkDestroy(byte reasons)
952955
internal void OnGetInstance()
953956
{
954957
ResetSyncData();
955-
onGetInstance?.Invoke();
958+
onGetInstance.Invoke();
959+
}
960+
961+
internal void OnPushBack()
962+
{
963+
onPushBack.Invoke();
956964
}
957965

958966
internal void ResetSyncData()
@@ -981,7 +989,10 @@ private void OnDestroy()
981989
{
982990
syncElement.UnregisterUpdating();
983991
}
992+
onGetInstance?.RemoveAllListeners();
984993
onGetInstance = null;
994+
onPushBack?.RemoveAllListeners();
995+
onPushBack = null;
985996
onSubscriberAdded = null;
986997
onSubscriberRemoved = null;
987998
onServerSubscribingAdded = null;

0 commit comments

Comments
 (0)