Skip to content

Commit a4f9c8d

Browse files
committed
rename and partially revert Awake
1 parent 9898ee8 commit a4f9c8d

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

CSync/CSync/Lib/ConfigSyncBehaviour.cs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public bool SyncEnabled
3939

4040
private readonly NetworkVariable<bool> _syncEnabled = new();
4141
private readonly NetworkList<SyncedEntryDelta> _deltas = new();
42-
private readonly List<(ConfigFile, EventHandler<SettingChangedEventArgs>)> _configFileDelegates = new();
43-
private readonly List<(SyncedEntryBase, EventHandler)> _entrySyncEnabledDelegates = new();
42+
private readonly List<(ConfigFile, EventHandler<SettingChangedEventArgs>)> _settingChangedListeners = new();
43+
private readonly List<(SyncedEntryBase, EventHandler)> _entrySyncEnabledChangedListeners = new();
4444

4545
[MemberNotNull(nameof(EntryContainer))]
4646
private void EnsureEntryContainer()
@@ -49,6 +49,11 @@ private void EnsureEntryContainer()
4949
throw new InvalidOperationException("Entry container has not been assigned.");
5050
}
5151

52+
private void Awake()
53+
{
54+
EnsureEntryContainer();
55+
}
56+
5257
public override void OnNetworkSpawn()
5358
{
5459
EnsureEntryContainer();
@@ -57,7 +62,8 @@ public override void OnNetworkSpawn()
5762
{
5863
_syncEnabled.Value = true;
5964

60-
foreach (var (syncedEntryBase, index) in EntryContainer.Values.Select((e, i) => (e, i)))
65+
var index = 0;
66+
foreach (var syncedEntryBase in EntryContainer.Values)
6167
{
6268
_deltas.Add(syncedEntryBase.ToDelta());
6369

@@ -68,14 +74,15 @@ void configFileDelegate(object sender, SettingChangedEventArgs args)
6874
}
6975
var configFile = syncedEntryBase.BoxedEntry.ConfigFile;
7076
configFile.SettingChanged += configFileDelegate;
71-
_configFileDelegates.Add((configFile, configFileDelegate));
77+
_settingChangedListeners.Add((configFile, configFileDelegate));
7278

7379
void entrySyncEnabledDelegate(object sender, EventArgs args)
7480
{
7581
_deltas[index] = syncedEntryBase.ToDelta();
7682
}
7783
syncedEntryBase.SyncEnabledChanged += entrySyncEnabledDelegate;
78-
_entrySyncEnabledDelegates.Add((syncedEntryBase, entrySyncEnabledDelegate));
84+
_entrySyncEnabledChangedListeners.Add((syncedEntryBase, entrySyncEnabledDelegate));
85+
index++;
7986
}
8087

8188
InitialSyncCompletedHandler?.Invoke(this, EventArgs.Empty);
@@ -104,18 +111,18 @@ public override void OnNetworkDespawn()
104111

105112
if (IsServer)
106113
{
107-
foreach (var (configFile, configFileDelegate) in _configFileDelegates)
114+
foreach (var (configFile, configFileDelegate) in _settingChangedListeners)
108115
{
109116
configFile.SettingChanged -= configFileDelegate;
110117
}
111118

112-
foreach (var (syncedEntryBase, entrySyncEnabledDelegate) in _entrySyncEnabledDelegates)
119+
foreach (var (syncedEntryBase, entrySyncEnabledDelegate) in _entrySyncEnabledChangedListeners)
113120
{
114121
syncedEntryBase.SyncEnabledChanged -= entrySyncEnabledDelegate;
115122
}
116123

117-
_configFileDelegates.Clear();
118-
_entrySyncEnabledDelegates.Clear();
124+
_settingChangedListeners.Clear();
125+
_entrySyncEnabledChangedListeners.Clear();
119126
// NetworkList and NetworkVariable can not be modified now because the network manager has already shut down.
120127
// See https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/3502
121128
// Should not be needed anyway, since this component isn't being reused between network sessions.

0 commit comments

Comments
 (0)