コード例 #1
0
ファイル: AddressableLoader.cs プロジェクト: kolpet/Cardgame
        private void LoadAsset(string path, AssetLoaderKey assetKey)
        {
            UnityEngine.Object asset;
            if (loadedAssets.ContainsKey(path) == false)
            {
                asset = Resources.Load <Sprite>(path);
                loadedAssets[path]  = asset;
                loadedObjects[path] = new List <GameObject>();
            }
            else
            {
                asset = loadedAssets[path];
            }

            if (asset != null)
            {
                AssetLoader loadAsset = assetKey.loader.LoadAsset;
                loadAsset.Invoke(assetKey.key, asset);

                if (Collection.Contains(assetKey.obj) == false)
                {
                    Collection.Add(assetKey.obj);
                    var notify = assetKey.obj.AddComponent <NotifyOnDestroy>();
                    loadedObjects[path].Add(assetKey.obj);
                    notify.Destroyed += Remove;
                    notify.Path       = path;
                }
            }
        }
コード例 #2
0
ファイル: AddressableLoader.cs プロジェクト: kolpet/Cardgame
        public void GetAssets(GameObject obj, IAssetLoader assetLoader, AssetRequest request)
        {
            var poolableKey = new AssetLoaderKey(obj, assetLoader, request.key);

            LoadAsset(request.path, poolableKey);
        }