Started working on a Steam library

This commit is contained in:
2026-04-30 19:20:40 +01:00
parent ab525cc22e
commit c6505fede9
13 changed files with 2603 additions and 4 deletions
@@ -17,6 +17,25 @@ steam.Update();
private static SteamManager _instance;
private static uint? _configuredAppId;
private static ILogger _logger = NullLogger.Instance;
private static readonly SteamUgcManager UgcManager = new SteamUgcManager();
private static readonly SteamRemotePlayManager RemotePlayManager = new SteamRemotePlayManager();
private static readonly SteamControllerManager ControllerManager = new SteamControllerManager();
private static readonly SteamFriendsManager FriendsManager = new SteamFriendsManager();
private static readonly SteamGameCoordinatorManager GameCoordinatorManager = new SteamGameCoordinatorManager();
private static readonly SteamGameServerManager GameServerManager = new SteamGameServerManager();
private static readonly SteamGameServerStatsManager GameServerStatsManager = new SteamGameServerStatsManager();
private static readonly SteamHtmlSurfaceManager HtmlSurfaceManager = new SteamHtmlSurfaceManager();
private static readonly SteamInputManager InputManager = new SteamInputManager();
private static readonly SteamInventoryManager InventoryManager = new SteamInventoryManager();
private static readonly SteamMatchmakingManager MatchmakingManager = new SteamMatchmakingManager();
private static readonly SteamMatchmakingServersManager MatchmakingServersManager = new SteamMatchmakingServersManager();
private static readonly SteamMusicManager MusicManager = new SteamMusicManager();
private static readonly SteamPartiesManager PartiesManager = new SteamPartiesManager();
private static readonly SteamRemoteStorageManager RemoteStorageManager = new SteamRemoteStorageManager();
private static readonly SteamScreenshotsManager ScreenshotsManager = new SteamScreenshotsManager();
private static readonly SteamUserStatsManager UserStatsManager = new SteamUserStatsManager();
private static readonly SteamUtilsManager UtilsManager = new SteamUtilsManager();
private static readonly SteamVideoManager VideoManager = new SteamVideoManager();
[Documentation(nameof(Instance), "Singleton access to the Steam manager.", null, null)]
public static SteamManager Instance => _instance ??= new SteamManager();
@@ -50,6 +69,63 @@ steam.Update();
[Documentation(nameof(IsSteamworksInitialized), "Indicates whether Steamworks is initialized and ready for API calls.", null, null)]
public bool IsSteamworksInitialized { get; private set; }
[Documentation(nameof(Ugc), "Provides access to Steam Workshop (UGC) helper operations.", null, null)]
public SteamUgcManager Ugc => UgcManager;
[Documentation(nameof(RemotePlay), "Provides access to Steam Remote Play helper operations.", null, null)]
public SteamRemotePlayManager RemotePlay => RemotePlayManager;
[Documentation(nameof(Controller), "Provides access to ISteamController bindings.", null, null)]
public SteamControllerManager Controller => ControllerManager;
[Documentation(nameof(Friends), "Provides access to ISteamFriends bindings.", null, null)]
public SteamFriendsManager Friends => FriendsManager;
[Documentation(nameof(GameCoordinator), "Provides access to ISteamGameCoordinator bindings.", null, null)]
public SteamGameCoordinatorManager GameCoordinator => GameCoordinatorManager;
[Documentation(nameof(GameServer), "Provides access to ISteamGameServer bindings.", null, null)]
public SteamGameServerManager GameServer => GameServerManager;
[Documentation(nameof(GameServerStats), "Provides access to ISteamGameServerStats bindings.", null, null)]
public SteamGameServerStatsManager GameServerStats => GameServerStatsManager;
[Documentation(nameof(HtmlSurface), "Provides access to ISteamHTMLSurface bindings.", null, null)]
public SteamHtmlSurfaceManager HtmlSurface => HtmlSurfaceManager;
[Documentation(nameof(Input), "Provides access to ISteamInput bindings.", null, null)]
public SteamInputManager Input => InputManager;
[Documentation(nameof(Inventory), "Provides access to ISteamInventory bindings.", null, null)]
public SteamInventoryManager Inventory => InventoryManager;
[Documentation(nameof(Matchmaking), "Provides access to ISteamMatchmaking bindings.", null, null)]
public SteamMatchmakingManager Matchmaking => MatchmakingManager;
[Documentation(nameof(MatchmakingServers), "Provides access to ISteamMatchmakingServers bindings.", null, null)]
public SteamMatchmakingServersManager MatchmakingServers => MatchmakingServersManager;
[Documentation(nameof(Music), "Provides access to ISteamMusic bindings.", null, null)]
public SteamMusicManager Music => MusicManager;
[Documentation(nameof(Parties), "Provides access to ISteamParties bindings.", null, null)]
public SteamPartiesManager Parties => PartiesManager;
[Documentation(nameof(RemoteStorage), "Provides access to ISteamRemoteStorage bindings.", null, null)]
public SteamRemoteStorageManager RemoteStorage => RemoteStorageManager;
[Documentation(nameof(Screenshots), "Provides access to ISteamScreenshots bindings.", null, null)]
public SteamScreenshotsManager Screenshots => ScreenshotsManager;
[Documentation(nameof(UserStats), "Provides access to ISteamUserStats bindings.", null, null)]
public SteamUserStatsManager UserStats => UserStatsManager;
[Documentation(nameof(Utils), "Provides access to ISteamUtils bindings.", null, null)]
public SteamUtilsManager Utils => UtilsManager;
[Documentation(nameof(Video), "Provides access to ISteamVideo bindings.", null, null)]
public SteamVideoManager Video => VideoManager;
private SteamManager()
{
try