Deprecations

Room Player Spawn

The number of scripts required to create players in the room has been reduced. It was made more useful by writing a utility class.

New Usage:

public class RoomPlayerSpawn : MonoBehaviour
{
    [SerializeField] private GameObject _gamePlayerPrefab;
    [SerializeField] private GameObject _lobbyPlayerPrefab;

    private int _playerCount;

    [SerializeField] private bool _useLobby;
    
    private void Start()
    {
        RoomManagerBase.Singleton.Events.OnServerJoinedRoom += CreateGamePlayer;
        
        if (_useLobby)
            RoomManagerBase.Singleton.Events.OnServerExitedRoom += CreateLobbyPlayer;
        else
            RoomManagerBase.Singleton.Events.OnServerExitedRoom += PlayerCreatorUtilities.RemovePlayer;
    }
    
    private void CreateGamePlayer(NetworkConnection conn)
    {
        var player = PlayerCreatorUtilities.TryCreatePlayerOrReplace(conn, _gamePlayerPrefab);

        if (player.TryGetComponent(out SimpleCharacterController controller))
        {
            controller.ID = conn.connectionId;
        }
    }
    
    private void CreateLobbyPlayer(NetworkConnection conn)
    {
        PlayerCreatorUtilities.ReplacePlayer(conn, _lobbyPlayerPrefab);
    }
}

Old Usage:

Last updated