public static void StartCinemaScene(bool bShowPanelAfterFinish = true, int seqIdx = 0, int endSeqIdx = 0, System.Action _EndCall = null) { if (StartCheck) { return; } EndCall = _EndCall; GameInfoBase.NotTimeUpdate = true; Time.timeScale = 1; StartCheck = true; CutSceneSendMessage.PauseAllUnits(true); cinemaSceneManager = GameObject.Find("CinemaSceneManager").GetComponent <CinemaSceneManager> (); cinemaSceneManager.storeAliveCamera(); cinemaSceneManager.setActiveSequences(true); cinemaSceneManager.InActiveOtherCharsExceptMe(NetData.instance.GetUserInfo()._userCharIndex); cinemaSceneManager.seqs[endSeqIdx].PlaybackFinished = (sequence) => { EndCinemaScene(); cinemaSceneManager.setActiveSequences(false); cinemaSceneManager.restoreUnactivedCamera(); cinemaSceneManager.closeDialogPanel(); // endScene에서 UIPanel들을 살려주기 때문에 컷씬 종료후 UIPanel을 보지 않으려면 revicePanel을 false로 해준다. if (bShowPanelAfterFinish == false) { CutSceneSendMessage.PauseAllUnits(true); UIMgr.setHudPanelVisible(false); UIMgr.setInGameBoardPanelVisible(false); ChatPopup chat = UIMgr.OpenChatPopup(); if (chat != null) { chat.Hide(); } //UIMgr.setChatPopupVisible(false); } }; cinemaSceneManager.seqs[seqIdx].Play(); }