コード例 #1
0
        public static void LoadCustomAssetApi(AssetInfo assetInfo, PrefabObject o, ref GameEntity loadCounter, Dictionary <string, Type> typesInDll)
        {
            string assetName      = assetInfo.AssetName;
            string assetBundleUri = o.Resources.Bundle;

            RequestAsset requestAsset =
                new RequestAsset(assetName, assetBundleUri, new object[] { o, assetInfo });
            GameEntity counter = loadCounter;


            requestAsset.OnFinish += responseAsset =>
            {
                RequestTexture requestDownLoad = new RequestTexture(Settings.Instance().ApiHost + o.Resources.Icon, 128, 128, TextureFormat.DXT1);

                requestDownLoad.OnFinish += responseUri =>
                {
                    ResponseTexture responseTexture = (ResponseTexture)responseUri;
                    Texture2D       texture2D       = responseTexture.Texture;

                    Sprite sprite = Sprite.Create(texture2D, new Rect(0, 0, 128, 128), Vector2.zero);
                    CreatePrefabEntity(responseAsset, ref counter, o, sprite);
                };

                requestDownLoad.OnError += s => { CreatePrefabEntity(responseAsset, ref counter, o); };
            };
        }
コード例 #2
0
        public IHttpActionResult PutRequestAsset(int id, RequestAsset requestAsset)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != requestAsset.RequestAssetId)
            {
                return(BadRequest());
            }

            db.Entry(requestAsset).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RequestAssetExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #3
0
    /// <summary>
    /// アセットバンドルからアセットをロード
    /// </summary>
    public void LoadAsset(string assetBundleName, string assetName, Action <UnityEngine.Object> onEnded = null)
    {
        // アセットバンドルロード
        LoadAssetBundle(assetBundleName, bundle => {
            // アセットロード
            string key        = string.Format("{0}/{1}", assetBundleName, assetName);
            IAssetRequest req = null;
            if (mAssetRequestList.TryGetValue(key, out req))
            {
                // 登録済み
                req.AddEndedRequest(onEnded);
                return;
            }
#if UNITY_EDITOR
            if (IsSimulationMode)
            {
                req = new RequestAssetForSimulateMode();
            }
#endif
            if (req == null)
            {
                req = new RequestAsset();
            }
            req.Start(bundle, assetBundleName, assetName, onEnded);
            mAssetRequestList[key] = req;
        });
    }
コード例 #4
0
        public IHttpActionResult GetRequestAsset(int id)
        {
            RequestAsset requestAsset = db.RequestAssets.Find(id);

            if (requestAsset == null)
            {
                return(NotFound());
            }

            return(Ok(requestAsset));
        }
コード例 #5
0
        public static void CreatePrefabApi(AssetInfo assetInfo, PrefabObject o, ref GameEntity loadCounter)
        {
            string assetName      = assetInfo.AssetName;
            string assetBundleUri = o.Resources.Bundle;

            RequestAsset requestAsset =
                new RequestAsset(assetName, assetBundleUri, new object[] { o, assetInfo });
            GameEntity counter = loadCounter;

            requestAsset.OnFinish += response => { CreatePrefabEntity(response, ref counter, o); };
            //ToDo OnError
        }
コード例 #6
0
        public IHttpActionResult PostRequestAsset(RequestAsset requestAsset)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.RequestAssets.Add(requestAsset);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = requestAsset.RequestAssetId }, requestAsset));
        }
コード例 #7
0
        public IHttpActionResult DeleteRequestAsset(int id)
        {
            RequestAsset requestAsset = db.RequestAssets.Find(id);

            if (requestAsset == null)
            {
                return(NotFound());
            }

            db.RequestAssets.Remove(requestAsset);
            db.SaveChanges();

            return(Ok(requestAsset));
        }
コード例 #8
0
ファイル: ApiLoader.cs プロジェクト: RobboVariwn/VarBot
        private void LoadCustomAssetApi(AssetInfo assetInfo, PrefabObject o)
        {
            string assetName      = assetInfo.AssetName;
            string assetBundleUri = ProjectData.IsMobileVr() ? o.AndroidBundleResource : o.BundleResource;

            RequestAsset requestAsset =
                new RequestAsset(assetName, assetBundleUri, new object[] { o, assetInfo });

            requestAsset.OnFinish += responseAsset =>
            {
                FeedBackText = LanguageManager.Instance.GetTextValue("LOADING")
                               + " "
                               + o.Config.i18n.GetCurrentLocale()
                               + "...";
                CountLoadedObjects++;

                if (LoaderAdapter.OnDownLoadUpdate != null)
                {
                    LoaderAdapter.OnDownLoadUpdate(CountLoadedObjects
                                                   / (float)LoadCounter.loadObjectsCounter.PrefabsCount);
                }

                RequestTexture requestDownLoad = new RequestTexture(Settings.Instance().ApiHost + o.IconResource,
                                                                    128,
                                                                    128,
                                                                    ProjectData.IsMobileVr() ? TextureFormat.ASTC_RGB_6x6 : TextureFormat.DXT1);

                requestDownLoad.OnFinish += responseUri =>
                {
                    ResponseTexture responseTexture = (ResponseTexture)responseUri;
                    Texture2D       texture2D       = responseTexture.Texture;

                    Sprite sprite = Sprite.Create(texture2D,
                                                  new Rect(0,
                                                           0,
                                                           128,
                                                           128),
                                                  Vector2.zero);
                    CreatePrefabEntity(responseAsset, o, sprite);
                };

                requestDownLoad.OnError += s => { CreatePrefabEntity(responseAsset, o); };
            };
        }