IEnumerator CameraTargetType() { if (dialogues[lineCount].tf_target != null) { DisappearObjects(false); } else if (dialogues[lineCount].cameraType == CameraType.Reset) { DisappearObjects(true); StartCoroutine(theSprite.HalfSpriteDisappearCoroutine()); } switch (dialogues[lineCount].cameraType) { case CameraType.ObjectFront: theCam.CameraTargetting(dialogues[lineCount].tf_target); new WaitUntil(() => CameraController.isFinish); break; case CameraType.Reset: theCam.CameraTargetting(null, 0.05f, true, false); break; case CameraType.FadeIn: SettingUI(false); SplashManager.isfinish = false; StartCoroutine(theSplash.FadeIn(false, true)); yield return(new WaitUntil(() => SplashManager.isfinish)); break; case CameraType.FadeOut: SettingUI(false); SplashManager.isfinish = false; StartCoroutine(theSplash.FadeOut(false, true, true)); yield return(new WaitUntil(() => SplashManager.isfinish)); break; case CameraType.FlashIn: SettingUI(false); SplashManager.isfinish = false; StartCoroutine(theSplash.FadeIn(true, true)); yield return(new WaitUntil(() => SplashManager.isfinish)); break; case CameraType.FlashOut: SettingUI(false); SplashManager.isfinish = false; StartCoroutine(theSplash.FadeOut(true, true, false)); yield return(new WaitUntil(() => SplashManager.isfinish)); break; case CameraType.ShowCutScene: SettingUI(false); CutSceneManager.isFinished = false; StartCoroutine(theCutScene.CutSceneCoroutine(dialogues[lineCount].spriteName[contextCount], true)); yield return(new WaitUntil(() => CutSceneManager.isFinished)); break; case CameraType.HideCutScene: SettingUI(false); CutSceneManager.isFinished = false; StartCoroutine(theCutScene.CutSceneCoroutine(null, false)); yield return(new WaitUntil(() => CutSceneManager.isFinished)); theCam.CameraTargetting(dialogues[lineCount].tf_target); break; case CameraType.AppearSlideCG: SlideManager.isFinished = false; StartCoroutine(theSlide.AppearSlide(SplitSlideCGName())); yield return(new WaitUntil(() => SlideManager.isFinished)); theCam.CameraTargetting(dialogues[lineCount].tf_target); break; case CameraType.DisappearSlideCG: SlideManager.isFinished = false; StartCoroutine(theSlide.DisAppearSlide()); yield return(new WaitUntil(() => SlideManager.isFinished)); theCam.CameraTargetting(dialogues[lineCount].tf_target); break; case CameraType.ChangeSlideCG: SlideManager.isChanged = false; StartCoroutine(theSlide.ChangeSlide(SplitSlideCGName())); yield return(new WaitUntil(() => SlideManager.isChanged)); theCam.CameraTargetting(dialogues[lineCount].tf_target); break; } StartCoroutine(TypeWriter()); }
public IEnumerator CutSceneCoroutine(string p_CutSceneName, bool p_isShow) { SplashManager.isfinish = false; StartCoroutine(theSplash.FadeOut(true, false, true)); yield return(new WaitUntil(() => SplashManager.isfinish)); if (theSlide.CheckSlide()) { StartCoroutine(theSlide.DisAppearSlide()); } if (p_isShow) { Sprite t_Sprite = Resources.Load <Sprite>("CutScenes/" + p_CutSceneName); if (t_Sprite != null) { img_CutScene.gameObject.SetActive(true); img_CutScene.sprite = t_Sprite; theCam.CameraTargetting(null, 0.05f, true, false); } else { Debug.LogError("잘못된 컷신 CG파일 이름입니다"); } } else { img_CutScene.gameObject.SetActive(false); } SplashManager.isfinish = false; StartCoroutine(theSplash.FadeIn(true, false)); yield return(new WaitUntil(() => SplashManager.isfinish)); yield return(new WaitForSeconds(0.5f)); isFinished = true; }