using UKTSDK; using UnityEngine; public sealed class SDKManager { private int sdkType = 0; private BaseSdk _sdk; public BaseSdk sdk { set { } get { if (_sdk == null) { Debug.Log(sdkType); if (sdkType == 0) { _sdk = new SDK_PC(); } else if(sdkType == 1) { _sdk = new SDK_AND(); } else { _sdk = new SDK_IOS(); } } return _sdk; } } private SDKManager() { // 宏定义应该是预编译的,这里在预编译的时候保存一下 #if UNITY_IOS sdkType = 2; #elif UNITY_ANDROID sdkType = 1; #elif UNITY_EDITOR sdkType = 0; #endif } public static SDKManager ins { get { return Nested.instance; } } private class Nested { // 显式静态构造告诉C#编译器 // 未标记类型BeforeFieldInit static Nested() { } internal static readonly SDKManager instance = new SDKManager(); } }