Ejemplo n.º 1
0
 private void Validate()
 {
     #if UNITY_EDITOR || DEBUGBUILD
     cheats.SetActive(true);
     Destroy(GetComponent <CheatEnabler>());
     return;
     #endif
     AssetReferenceLoader.DestroyOrUnload(gameObject);
 }
Ejemplo n.º 2
0
 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();
     });
 }
Ejemplo n.º 3
0
        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;
    }
Ejemplo n.º 5
0
    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();
    }
Ejemplo n.º 6
0
 private void UnloadSelf()
 {
     AssetReferenceLoader.DestroyOrUnload(gameObject);
     Destroy(gameObject);
 }