69 lines
1.8 KiB
C#
69 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Steamworks.Data;
|
|
|
|
namespace Steamworks
|
|
{
|
|
/// <summary>
|
|
/// Undocumented Parental Settings
|
|
/// </summary>
|
|
public class SteamParental : SteamSharedClass<SteamParental>
|
|
{
|
|
internal static ISteamParentalSettings? Internal => Interface as ISteamParentalSettings;
|
|
|
|
internal override bool InitializeInterface( bool server )
|
|
{
|
|
SetInterface( server, new ISteamParentalSettings( server ) );
|
|
if ( Interface is null || Interface.Self == IntPtr.Zero ) return false;
|
|
|
|
InstallEvents( server );
|
|
|
|
return true;
|
|
}
|
|
|
|
internal static void InstallEvents( bool server )
|
|
{
|
|
Dispatch.Install<SteamParentalSettingsChanged_t>( x => OnSettingsChanged?.Invoke(), server );
|
|
}
|
|
|
|
/// <summary>
|
|
/// Parental Settings Changed
|
|
/// </summary>
|
|
public static event Action? OnSettingsChanged;
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static bool IsParentalLockEnabled => Internal != null && Internal.BIsParentalLockEnabled();
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static bool IsParentalLockLocked => Internal != null && Internal.BIsParentalLockLocked();
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static bool IsAppBlocked( AppId app ) => Internal != null && Internal.BIsAppBlocked( app.Value );
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static bool BIsAppInBlockList( AppId app ) => Internal != null && Internal.BIsAppInBlockList( app.Value );
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static bool IsFeatureBlocked( ParentalFeature feature ) => Internal != null && Internal.BIsFeatureBlocked( feature );
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static bool BIsFeatureInBlockList( ParentalFeature feature ) => Internal != null && Internal.BIsFeatureInBlockList( feature );
|
|
}
|
|
}
|