Ejemplo n.º 1
0
        IEnumerator PreloadAsync(AssetStep step, AssetLanguage language)
        {
            asset.SetResrouceTable(step, language);
            while (!asset.Resource.IsTableLoaded)
            {
                yield return(null);
            }

            bool isPreloaded = false;

            asset.Resource.LoadPrefab("Loading.prefab", (Loading prefab) =>
            {
                var loading = Instantiate <Loading>(prefab);
                AssetBundlePreloader preloader = asset.GetResourcePreloader();
                preloader.StartPreloading();
                loading.Init(preloader, () =>
                {
                    Destroy(loading.gameObject);
                    isPreloaded = true;
                });
            });
            while (!isPreloaded)
            {
                yield return(null);
            }
        }
Ejemplo n.º 2
0
        IEnumerator Start()
        {
            asset.Init();
            yield return(PreloadAsync(AssetStep.Title, AssetLanguage.English));

            bool          isTitleFinished = false;
            AssetLanguage language        = default(AssetLanguage);

            asset.Resource.LoadPrefab("Title.prefab", (Title prefab) =>
            {
                var title = Instantiate <Title>(prefab);
                title.Init(
                    (AssetLanguage l) =>
                {
                    language        = l;
                    isTitleFinished = true;
                    Destroy(title.gameObject);
                },
                    () => StartCoroutine(ClearAsync()));
            });
            while (!isTitleFinished)
            {
                yield return(null);
            }

            yield return(PreloadAsync(AssetStep.All, language));

            asset.Resource.LoadPrefab("End.prefab", (End prefab) =>
            {
                var end = Instantiate <End>(prefab);
                end.Init(asset);
            });
        }
Ejemplo n.º 3
0
        string GetLanguagePart(AssetLanguage language)
        {
            switch (language)
            {
            case AssetLanguage.English: return("[en]");

            case AssetLanguage.Japanese: return("[jp]");

            default:
                Debug.LogError($"unknown asset language: {language}");
                return("");
            }
        }
Ejemplo n.º 4
0
 public void Init(Action <AssetLanguage> startAction, Action clearAction)
 {
     toggleEn.onValueChanged.RemoveAllListeners();
     toggleEn.onValueChanged.AddListener(b => { if (b)
                                                {
                                                    language = AssetLanguage.English;
                                                }
                                         });
     toggleJp.onValueChanged.RemoveAllListeners();
     toggleJp.onValueChanged.AddListener(b => { if (b)
                                                {
                                                    language = AssetLanguage.Japanese;
                                                }
                                         });
     startButton.onClick.RemoveAllListeners();
     startButton.onClick.AddListener(() => startAction?.Invoke(language));
     clearButton.onClick.RemoveAllListeners();
     clearButton.onClick.AddListener(() => clearAction?.Invoke());
 }