using System;
using UnityEngine;

namespace Cute;

public static class AchievementManager
{
	private static IAchievementCallback mCallback;

	public static void Initialize(IAchievementCallback callback)
	{
		mCallback = callback;
	}

	public static void ShowAchievementsUI()
	{
		Social.ShowAchievementsUI();
	}

	public static void ReleaseAchievement(string id)
	{
		Social.ReportProgress(id, 100.0, delegate(bool success)
		{
			if (mCallback != null)
			{
				mCallback.OnReleaseAchievement(success);
			}
		});
	}

	public static void ProceedAchievement(string id, float value)
	{
		Social.ReportProgress(id, value, delegate(bool success)
		{
			if (mCallback != null)
			{
				mCallback.OnProceedAchievement(success);
			}
		});
	}

	public static void ResetAchievements(Action<bool> callback)
	{
	}

	public static void LoadAchievements()
	{
		if (mCallback != null)
		{
			Social.LoadAchievements(mCallback.OnLoadAchievements);
		}
	}

	public static void LoadAchievementDescriptions()
	{
		if (mCallback != null)
		{
			Social.LoadAchievementDescriptions(mCallback.OnLoadAchievementDescriptions);
		}
	}
}
