using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using Steamworks.Data;
namespace Steamworks
{
///
/// Undocumented Parental Settings
///
public static class SteamVideo
{
static ISteamVideo _internal;
internal static ISteamVideo Internal
{
get
{
SteamClient.ValidCheck();
if ( _internal == null )
{
_internal = new ISteamVideo();
_internal.Init();
}
return _internal;
}
}
internal static void Shutdown()
{
_internal = null;
}
internal static void InstallEvents()
{
BroadcastUploadStart_t.Install( x => OnBroadcastStarted?.Invoke() );
BroadcastUploadStop_t.Install( x => OnBroadcastStopped?.Invoke( x.Result ) );
}
public static event Action OnBroadcastStarted;
public static event Action OnBroadcastStopped;
///
/// Return true if currently using Steam's live broadcasting
///
public static bool IsBroadcasting
{
get
{
int viewers = 0;
return Internal.IsBroadcasting( ref viewers );
}
}
///
/// If we're broadcasting, will return the number of live viewers
///
public static int NumViewers
{
get
{
int viewers = 0;
if ( !Internal.IsBroadcasting( ref viewers ) )
return 0;
return viewers;
}
}
}
}