#if UNITY_IOS //&& !UNITY_EDITOR using System; using System.Collections.Generic; using Azerion.BlueStack.API; using Azerion.BlueStack.Internal; namespace Azerion.BlueStack.Platforms.iOS { public class InitializationStatusClient : IInitializationStatusClient { private IntPtr _status; public InitializationStatusClient(IntPtr status) { this._status = status; } public AdapterStatus GetAdapterStatusForClassName(string className) { string description = Utils.PtrToString(Externs.BSUGetInitDescription(this._status, className)); string name = Utils.PtrToString(Externs.BSUGetInitProviderName(this._status, className)); AdapterState state = (AdapterState)Externs.BSUGetInitState(this._status, className); return new AdapterStatus(state, description, name); } public Dictionary GetAdapterStatusMap() { Dictionary map = new Dictionary(); List keys = GetAdapterClassNames(); foreach (string key in keys) { map.Add(key, GetAdapterStatusForClassName(key)); } return map; } public List GetAdapterClassNames() { IntPtr unmanagedAssetArray = Externs.BSUGetInitAdapterClasses(this._status); int numOfAssets = Externs.BSUGetInitNumberOfAdapterClasses( this._status); return Utils.PtrArrayToManagedList(unmanagedAssetArray, numOfAssets); } private void Dispose() { Externs.BSURelease(_status); } ~InitializationStatusClient() { this.Dispose(); } } } #endif