using System; using System.Collections; using System.Collections.Generic; using Unity.Netcode; using UnityEngine; using UnityEngine.SceneManagement; public class NetworkedPlayerSpawner : NetworkBehaviour { [SerializeField] private GameObject PlayerPrefab; private void Start() { DontDestroyOnLoad(this); } public override void OnNetworkSpawn() { NetworkManager.Singleton.SceneManager.OnLoadEventCompleted += SceneLoaded; } private void SceneLoaded(string sceneName, LoadSceneMode loadSceneMode, List clientsCompleted, List clientsTimedOut) { if (IsHost && sceneName == "Multiplayer") { for (int i = 0; i < clientsCompleted.Count; i++) { GameObject player = Instantiate(PlayerPrefab, Vector2.up * 3, Quaternion.identity); player.GetComponent().SpawnAsPlayerObject(clientsCompleted[i], true); } } } }