99 lines
3.4 KiB
C#
99 lines
3.4 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Steamworks.Data;
|
|
|
|
|
|
namespace Steamworks
|
|
{
|
|
internal static class SteamAPI
|
|
{
|
|
internal static class Native
|
|
{
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_Init", CallingConvention = CallingConvention.Cdecl )]
|
|
[return: MarshalAs( UnmanagedType.I1 )]
|
|
public static extern bool SteamAPI_Init();
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_RunCallbacks", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern void SteamAPI_RunCallbacks();
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_RegisterCallback", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern void SteamAPI_RegisterCallback( IntPtr pCallback, int callback );
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_UnregisterCallback", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern void SteamAPI_UnregisterCallback( IntPtr pCallback );
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_RegisterCallResult", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern void SteamAPI_RegisterCallResult( IntPtr pCallback, SteamAPICall_t callback );
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_UnregisterCallResult", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern void SteamAPI_UnregisterCallResult( IntPtr pCallback, SteamAPICall_t callback );
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_Shutdown", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern void SteamAPI_Shutdown();
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_GetHSteamUser", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern HSteamUser SteamAPI_GetHSteamUser();
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_GetHSteamPipe", CallingConvention = CallingConvention.Cdecl )]
|
|
public static extern HSteamPipe SteamAPI_GetHSteamPipe();
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_RestartAppIfNecessary", CallingConvention = CallingConvention.Cdecl )]
|
|
[return: MarshalAs( UnmanagedType.I1 )]
|
|
public static extern bool SteamAPI_RestartAppIfNecessary( uint unOwnAppID );
|
|
|
|
}
|
|
static internal bool Init()
|
|
{
|
|
return Native.SteamAPI_Init();
|
|
}
|
|
|
|
static internal void RunCallbacks()
|
|
{
|
|
Native.SteamAPI_RunCallbacks();
|
|
}
|
|
|
|
static internal void RegisterCallback( IntPtr pCallback, int callback )
|
|
{
|
|
Native.SteamAPI_RegisterCallback( pCallback, callback );
|
|
}
|
|
|
|
static internal void UnregisterCallback( IntPtr pCallback )
|
|
{
|
|
Native.SteamAPI_UnregisterCallback( pCallback );
|
|
}
|
|
|
|
static internal void RegisterCallResult( IntPtr pCallback, SteamAPICall_t callback )
|
|
{
|
|
Native.SteamAPI_RegisterCallResult( pCallback, callback );
|
|
}
|
|
|
|
static internal void UnregisterCallResult( IntPtr pCallback, SteamAPICall_t callback )
|
|
{
|
|
Native.SteamAPI_UnregisterCallResult( pCallback, callback );
|
|
}
|
|
|
|
static internal void Shutdown()
|
|
{
|
|
Native.SteamAPI_Shutdown();
|
|
}
|
|
|
|
static internal HSteamUser GetHSteamUser()
|
|
{
|
|
return Native.SteamAPI_GetHSteamUser();
|
|
}
|
|
|
|
static internal HSteamPipe GetHSteamPipe()
|
|
{
|
|
return Native.SteamAPI_GetHSteamPipe();
|
|
}
|
|
|
|
static internal bool RestartAppIfNecessary( uint unOwnAppID )
|
|
{
|
|
return Native.SteamAPI_RestartAppIfNecessary( unOwnAppID );
|
|
}
|
|
|
|
}
|
|
}
|