// Start is called before the first frame update public virtual void Start() { if (PlayerPrefab == null) { throw new InvalidOperationException("Assign a player in the CharacterSpawner"); } if (Client != null) { if (SceneManager != null) { SceneManager.ClientSceneChanged.AddListener(OnClientSceneChanged); } else { Client.Authenticated.AddListener(c => Client.Send(new AddCharacterMessage())); } if (ClientObjectManager != null) { ClientObjectManager.RegisterPrefab(PlayerPrefab); } else { throw new InvalidOperationException("Assign a ClientObjectManager"); } } if (Server != null) { Server.Authenticated.AddListener(OnServerAuthenticated); if (ServerObjectManager == null) { throw new InvalidOperationException("Assign a ServerObjectManager"); } } }
internal void OnClientConnected(INetworkPlayer player) { if (ClientObjectManager != null) { ClientObjectManager.RegisterPrefab(PlayerPrefab); } else { throw new InvalidOperationException("Assign a ClientObjectManager"); } }