void Awake() { GlobalizationSetting(); if (instance != null) { EB.Debug.LogError("There should be only one GameEngine object"); return; } EB.Debug.Log("GameEngine Awake"); #if !DEBUG && USE_BUGLY BuglyManager.InitBugly(); #endif #if USE_AIHELP AIHelp.AIHelpManager.Init(gameObject.name); #endif #if USE_APPSFLYER Appsflyer.AppsflyManager.setIsDebug(ILRDefine.DEBUG); Appsflyer.AppsflyManager.initSDK(gameObject); Appsflyer.AppsflyManager.startSDK(); #endif #if USE_AOSHITANGSDK ASTIsHaveCommond = PlayerPrefs.GetInt("ASTIsHaveCommond", -1) == 1; #endif instance = this; DontDestroyOnLoad(gameObject); Screen.sleepTimeout = SleepTimeout.NeverSleep; // 30/60 for iOS Application.targetFrameRate = TargetFrameRate; // Don't Sync //QualitySettings.vSyncCount = 0; #if DEBUG UnityEngine.Profiling.Profiler.maxNumberOfSamplesPerFrame = 8 * 1024 * 1024; #endif // initialize all layers _defaultLayer = LayerMask.NameToLayer("Default"); _transparentFXLayer = LayerMask.NameToLayer("TransparentFX"); _transparentUI3DLayer = LayerMask.NameToLayer("TransparentUI3D"); _uiLayer = LayerMask.NameToLayer("UI"); _groundLayer = LayerMask.NameToLayer("Ground"); _obstacleLayer = LayerMask.NameToLayer("Obstacle"); _playerLayer = LayerMask.NameToLayer("Player"); _enemyLayer = LayerMask.NameToLayer("Enemy"); _interactableLayer = LayerMask.NameToLayer("Interactable"); _interactiveLayer = LayerMask.NameToLayer("Interactive"); _ui3dLayer = LayerMask.NameToLayer("UI3D"); if (!ApiCheckCompleted) { ApiServerAddress = UserData.defaultApiServerAddress; OtaServerAddress = UserData.localAssetAddress; AuthServerAddress = UserData.defaultAuthServerAddress; } else { ApiServerAddress = string.IsNullOrEmpty(ApiServerAddress) ? UserData.defaultApiServerAddress : ApiServerAddress; OtaServerAddress = string.IsNullOrEmpty(OtaServerAddress) ? UserData.localAssetAddress : OtaServerAddress; AuthServerAddress = string.IsNullOrEmpty(AuthServerAddress) ? UserData.defaultAuthServerAddress : AuthServerAddress; } #if DISABLE_LOTTERY IsFTE = false; #endif InitializeSubSystems(); DebugSystem.Log("Device reports DPI of " + Screen.dpi, "GameEngine"); DebugSystem.Log("Device reports resolution of " + Screen.width + "x" + Screen.height, "GameEngine"); DebugSystem.Log("Device is using " + (UseHDAssets ? "HD" : "SD") + " assets!", "GameEngine"); SupportsStencil = CheckSupportsStencil(); DebugSystem.Log("Device " + (SupportsStencil ? "" : "not") + " support stencil!", "GameEngine"); EventManager.instance.AddListener <GameStateChangedEvent>(OnGameStateChanged); _nextApiUpdate = Time.time + ApiUpdateInterval; LoadingSpinner.Init(); }