예제 #1
0
    private IEnumerator SaveLoadedObjectsPathFromBundle()
    {
        var bundlesData = new XVScenesDataList();

        if (PlayerPrefs.HasKey("bundles"))
        {
            var allBundlesJson = PlayerPrefs.GetString("bundles");
            bundlesData = JsonUtility.FromJson <XVScenesDataList>(allBundlesJson);
        }

        UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle(InputFieldURL.text, 1, 0);

        yield return(www.SendWebRequest());

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);
        }
        else
        {
            if (!bundlesData.list.Contains(InputFieldURL.text))
            {
                bundlesData.Add(InputFieldURL.text);
            }
            var json = JsonUtility.ToJson(bundlesData);
            PlayerPrefs.SetString("bundles", json);
        }

        InputFieldURL.text = String.Empty;
    }
예제 #2
0
파일: Saver.cs 프로젝트: yehorvasin/XV
    public string CreateAndSaveNewScene(int id)
    {
        //TODO: Get old list and add to new

        var list = new XVScenesDataList();

        list.Add("scene" + id);

        var json = JsonUtility.ToJson(list);

        return(json);
    }
예제 #3
0
    public IEnumerator LoadObjectsFromBundle()
    {
        XVScenesDataList bundlesData = null;

        if (PlayerPrefs.HasKey("bundles"))
        {
            var json = PlayerPrefs.GetString("bundles");
            bundlesData = JsonUtility.FromJson <XVScenesDataList>(json);
        }

        if (bundlesData != null)
        {
            foreach (var data in bundlesData.list)
            {
                UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle(data, 1, 0);
                yield return(www.SendWebRequest());

                if (www.isNetworkError || www.isHttpError)
                {
                    Debug.Log(www.error);
                }
                else
                {
                    AssetBundle bundle  = DownloadHandlerAssetBundle.GetContent(www);
                    var         objects = bundle.LoadAllAssets <GameObject>();
                    foreach (var obj in objects)
                    {
                        _resourcesObjects.Add(obj);
                    }

                    bundle.Unload(false);
                }
            }
        }

        isReady = true;
    }