TH1/Unity/Assets/Scripts/TH1_Logic/Net/LobbyManager.cs

41 lines
1020 B
C#

/*
* @Author: 白哉
* @Description:
* @Date: 2025年09月18日 星期四 11:09:46
* @Modify:
*/
using System;
namespace TH1_Logic.Net
{
public class LobbyManager
{
public static LobbyManager Instance { get; } = new LobbyManager();
public ILobby Lobby;
public void Init()
{
#if STEAM_CHANNEL || STEAMWORKS_NET
Lobby = CreateSteamLobby() ?? new LobbyBase();
#else
Lobby = new LobbyBase();
#endif
Lobby.Init();
}
#if STEAM_CHANNEL || STEAMWORKS_NET
private static ILobby CreateSteamLobby()
{
var lobbyType = Type.GetType("TH1_Logic.Steam.SteamLobbyManager")
?? Type.GetType("TH1_Logic.Steam.SteamLobbyManager, TH1.Hotfix")
?? Type.GetType("TH1_Logic.Steam.SteamLobbyManager, TH1.Steam.Runtime");
if (lobbyType == null) return null;
return Activator.CreateInstance(lobbyType) as ILobby;
}
#endif
}
}