using System; using UnityEngine; using UnityEngine.Android; namespace SmartBowSDK { public static class PermissionManager { public static void Request(string permission, Action onGranted, Action onDenied = null, Action onDontAsk = null) { // ÒÑÓÐȨÏÞ if (Permission.HasUserAuthorizedPermission(permission)) { Debug.Log($"[Permission] Already Granted: {permission}"); onGranted?.Invoke(); return; } Debug.Log($"[Permission] Request: {permission}"); var callbacks = new PermissionCallbacks(); callbacks.PermissionGranted += p => { Debug.Log($"[Permission] Granted: {p}"); onGranted?.Invoke(); }; callbacks.PermissionDenied += p => { Debug.Log($"[Permission] Denied: {p}"); onDenied?.Invoke(); }; callbacks.PermissionDeniedAndDontAskAgain += p => { Debug.Log($"[Permission] DontAskAgain: {p}"); onDontAsk?.Invoke(); }; Permission.RequestUserPermission(permission, callbacks); } public static bool Has(string permission) { return Permission.HasUserAuthorizedPermission(permission); } } }