summaryrefslogtreecommitdiff
path: root/Assembly_Firstpass/Steamworks/SteamAppList.cs
blob: fcdfb7f3f63d9c958dda86e582bd1f89a2803382 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Runtime.InteropServices;

namespace Steamworks;

public static class SteamAppList
{
	public static uint GetNumInstalledApps()
	{
		InteropHelp.TestIfAvailableClient();
		return NativeMethods.ISteamAppList_GetNumInstalledApps(CSteamAPIContext.GetSteamAppList());
	}

	public static uint GetInstalledApps(AppId_t[] pvecAppID, uint unMaxAppIDs)
	{
		InteropHelp.TestIfAvailableClient();
		return NativeMethods.ISteamAppList_GetInstalledApps(CSteamAPIContext.GetSteamAppList(), pvecAppID, unMaxAppIDs);
	}

	public static int GetAppName(AppId_t nAppID, out string pchName, int cchNameMax)
	{
		InteropHelp.TestIfAvailableClient();
		IntPtr intPtr = Marshal.AllocHGlobal(cchNameMax);
		int num = NativeMethods.ISteamAppList_GetAppName(CSteamAPIContext.GetSteamAppList(), nAppID, intPtr, cchNameMax);
		pchName = ((num != -1) ? InteropHelp.PtrToStringUTF8(intPtr) : null);
		Marshal.FreeHGlobal(intPtr);
		return num;
	}

	public static int GetAppInstallDir(AppId_t nAppID, out string pchDirectory, int cchNameMax)
	{
		InteropHelp.TestIfAvailableClient();
		IntPtr intPtr = Marshal.AllocHGlobal(cchNameMax);
		int num = NativeMethods.ISteamAppList_GetAppInstallDir(CSteamAPIContext.GetSteamAppList(), nAppID, intPtr, cchNameMax);
		pchDirectory = ((num != -1) ? InteropHelp.PtrToStringUTF8(intPtr) : null);
		Marshal.FreeHGlobal(intPtr);
		return num;
	}

	public static int GetAppBuildId(AppId_t nAppID)
	{
		InteropHelp.TestIfAvailableClient();
		return NativeMethods.ISteamAppList_GetAppBuildId(CSteamAPIContext.GetSteamAppList(), nAppID);
	}
}