private void Validate() { #if UNITY_EDITOR || DEBUGBUILD cheats.SetActive(true); Destroy(GetComponent <CheatEnabler>()); return; #endif AssetReferenceLoader.DestroyOrUnload(gameObject); }
private static void OpenAddressableMenu <T>(IKeyEvaluator menuReference) where T : IUserInterface { AssetReferenceLoader.LoadAssetReferenceAsynchronously <GameObject>(menuReference, (returnVariable) => { var menu = Instantiate(returnVariable).GetComponent <T>(); AssetReferenceLoader.DestroyOrUnload(returnVariable); menu.Enable(); }); }
protected virtual void OnEnable() { if (Instance != null) { Debug.LogWarning("There are 2 " + name + " singletons in the scene. Removing " + gameObject + "."); AssetReferenceLoader.DestroyOrUnload(gameObject); //Destroy(gameObject); return; } Instance = FindObjectOfType(typeof(T)) as T; if (Instance == null) { Debug.LogError("Can not find singleton: " + name + "."); } }
private IEnumerator CreateListAsynchronously(DynamicAchievementManager.Achievement[] achievements) { var amountOfAchievements = achievements.Length; AssetReferenceLoader.LoadAssetReferenceAsynchronously <GameObject>(DisplayItemPrefab, (returnVariable) => { DisplayItemAddressableAsGameObject = returnVariable; AssetReferenceLoader.DestroyOrUnload(returnVariable); }); yield return(WaitUntilAssetReferenceIsLoadedAsynchronously); for (var i = 0; i < amountOfAchievements; i++) { var achievement = achievements[i]; CreateListItemAsynchronously(achievement, DynamicAchievementManager.ReturnDescription(achievement), DynamicAchievementManager.ReturnReward(achievement), DynamicAchievementManager.ReturnSpriteAssetReference(achievement), DynamicAchievementManager.ReturnUnlockedState(achievement)); } DisplayItemAddressableAsGameObject = null; ListCreated = true; }
private IEnumerator ConvertPoolListIntoQueueOfGameObjects(Action callBack) { var poolsCache = pools; foreach (var pool in poolsCache) { var objectPool = new Queue <GameObject>(); var maximumAmountOfObjectsInCurrentPool = pool.maximumActiveObjects; var assetReference = pool.assetReference; AssetReferenceLoader.LoadAssetReferenceAsynchronously <GameObject>(assetReference, (returnVariable) => { _currentAddressableAsGameObject = returnVariable; AssetReferenceLoader.DestroyOrUnload(returnVariable); }); yield return(WaitUntilAssetReferenceIsLoadedAsynchronously); for (var i = 0; i < maximumAmountOfObjectsInCurrentPool; i++) { var gameObjectCache = Instantiate(_currentAddressableAsGameObject); gameObjectCache.SetActive(false); objectPool.Enqueue(gameObjectCache); } _currentAddressableAsGameObject = null; if (PoolDictionary.ContainsKey(pool.index)) { DebuggingAid.Debugging.DisplayDebugMessage("Replacing object pool " + pool.index + ". "); PoolDictionary.Remove(pool.index); } PoolDictionary.Add(pool.index, objectPool); } pools = null; callBack(); }
private void UnloadSelf() { AssetReferenceLoader.DestroyOrUnload(gameObject); Destroy(gameObject); }