using System.Threading.Tasks;
using UnityEngine;
namespace BaseGames.Platform
{
///
/// IPlatformService 的空实现,无平台 SDK 时作为默认服务使用。
/// 所有操作均为无操作(no-op)或返回安全默认值。
///
public class NullPlatformService : IPlatformService
{
public bool IsInitialized => true;
public bool IsCloudAvailable => false;
public Task InitializeAsync() => Task.FromResult(true);
public void RunCallbacks() { }
public void Shutdown() { }
public void UnlockAchievement(string achievementId)
=> Debug.Log($"[NullPlatform] UnlockAchievement: {achievementId}");
public void ClearAchievement(string achievementId) { }
public Task IsAchievementUnlocked(string achievementId)
=> Task.FromResult(false);
public void SetStat(string statId, int value) { }
public void IncrementStat(string statId, int increment = 1) { }
public int GetStat(string statId) => 0;
public Task CloudSaveAsync(string fileName, byte[] data) => Task.FromResult(false);
public Task CloudLoadAsync(string fileName) => Task.FromResult(null);
public void SetRichPresence(string key, string value) { }
public void ClearRichPresence() { }
public void SubmitLeaderboardScore(string boardId, long score)
=> Debug.Log($"[NullPlatform] SubmitLeaderboardScore: {boardId} = {score}");
public Task GetLeaderboardEntries(string boardId, int maxCount)
=> Task.FromResult(System.Array.Empty());
public bool IsDLCOwned(string dlcId) => false;
public void ShowOverlay(string dialog) { }
}
}