Skip to content

Commit 91339ec

Browse files
authored
fix: do not allow multiple player prefabs on networkmanager being checked in the editor (#676)
1 parent db2d171 commit 91339ec

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

com.unity.multiplayer.mlapi/Editor/NetworkManagerEditor.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,24 @@ private void OnEnable()
167167
m_NetworkPrefabsList = new ReorderableList(serializedObject, serializedObject.FindProperty(nameof(NetworkManager.NetworkConfig)).FindPropertyRelative(nameof(NetworkConfig.NetworkPrefabs)), true, true, true, true);
168168
m_NetworkPrefabsList.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) =>
169169
{
170+
for (int i = 0; i < m_NetworkManager.NetworkConfig.NetworkPrefabs.Count; i++)
171+
{
172+
// Find the first playerPrefab
173+
if (m_NetworkManager.NetworkConfig.NetworkPrefabs[i].PlayerPrefab)
174+
{
175+
// Iterate over all other and set player prefab to false
176+
for (int j = 0; j < m_NetworkManager.NetworkConfig.NetworkPrefabs.Count; j++)
177+
{
178+
if (j != i && m_NetworkManager.NetworkConfig.NetworkPrefabs[j].PlayerPrefab)
179+
{
180+
m_NetworkManager.NetworkConfig.NetworkPrefabs[j].PlayerPrefab = false;
181+
}
182+
}
183+
184+
break;
185+
}
186+
}
187+
170188
var element = m_NetworkPrefabsList.serializedProperty.GetArrayElementAtIndex(index);
171189
int firstLabelWidth = 50;
172190
int secondLabelWidth = 140;

0 commit comments

Comments
 (0)