private IEnumerator ShowProcess() { TitleProcess titleProcess = this; yield return(new WaitForSeconds(0.5f)); Thread thread = titleProcess.CopyProcess(); thread.Start(); yield return(new WaitWhile(() => thread.IsAlive)); if (FizzleSettings.CommandArgs.ContainsKey("skiplogo")) { yield return(SceneManager.LoadSceneAsync(1)); } else { titleProcess.subtitle = PythonGenerator.LoadYaml("~/Text/subtitle.yml"); yield return(titleProcess.blackObj.FadeIn()); yield return(new WaitForSeconds(4.0F)); yield return(titleProcess.blackObj.FadeOut()); DestroyImmediate(titleProcess.splashObj); titleProcess.loadingObj.transform.Find("loading tip").GetComponent <Text>().text = titleProcess.subtitle["loading-tip"].ToString(); Image loadingImage = titleProcess.loadingObj.transform.Find("loading image").GetComponent <Image>(); Text loadingText = titleProcess.loadingObj.transform.Find("loading text").GetComponent <Text>(); yield return(new WaitForSeconds(0.5F)); yield return(titleProcess.blackObj.FadeIn()); yield return(new WaitForSeconds(4.0F)); loadingText.text = titleProcess.subtitle["loading-text"].ToString(); titleProcess.StartCoroutine(titleProcess.ShowAnimation(loadingImage)); AsyncOperation result = SceneManager.LoadSceneAsync(1); result.allowSceneActivation = false; yield return(new WaitUntil(() => result.progress >= 0.85F)); yield return(new WaitForSeconds(5.0F)); yield return(titleProcess.blackObj.FadeOut()); yield return(new WaitForSeconds(0.6F)); result.allowSceneActivation = true; } }
internal static List <KeyValuePair <string, string> > LoadSceneInfo(string path, out string levelId) { FizzleJson fizzleJson1 = PythonGenerator.LoadYaml(path + "/level-info.yml"); Directory.SetCurrentDirectory(new DirectoryInfo(CommonTools.ConvertPath(path)).FullName); levelId = fizzleJson1["level-id"].ToString(); if (levelId == "official") { levelId = "official0"; } FizzleJson fizzleJson2 = fizzleJson1["level-mapping"]; List <KeyValuePair <string, string> > keyValuePairList2 = new List <KeyValuePair <string, string> >(fizzleJson2.Count()); keyValuePairList2.AddRange(InternalLoadSceneInfo(fizzleJson2).CreateEnumerable()); return(keyValuePairList2); }