SquareDash/Library/PackageCache/com.unity.services.mediation@1.0.5/Runtime/Api/Public/MediationService.cs
kingjuulian06 0efb85038a Arbeit 2
2023-11-21 22:03:49 +01:00

52 lines
1.5 KiB
C#

using System;
using System.Threading.Tasks;
using UnityEngine;
namespace Unity.Services.Mediation
{
/// <summary>
/// Mediation API for the Unity Mediation SDK.
/// </summary>
public static class MediationService
{
internal static IMediationServiceImpl s_Instance;
/// <summary>
/// Single entry point to all Mediation service features.
/// </summary>
public static IMediationService Instance
{
get
{
if (s_Instance == null)
{
throw new InvalidOperationException($"MediationService has not been initialized. Please consider calling {nameof(MediationService.Initialize)} before accessing {nameof(Instance)}");
}
return s_Instance;
}
}
/// <summary>
/// The initialization state of the mediation sdk.
/// </summary>
public static InitializationState InitializationState => s_Instance?.InitializationState ?? InitializationState.Uninitialized;
internal static Task Initialize(string gameId, string installId)
{
if (s_Instance == null)
{
s_Instance = new MediationServiceImpl();
}
return s_Instance.Initialize(gameId, installId);
}
#if UNITY_EDITOR
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)]
internal static void EditorReset()
{
s_Instance = null;
}
#endif
}
}