public void OverrideGameEnd(bool isSuccess) { if (SingleGameState.IsTest) { SceneManager.instance.ActionEvent(_ACTION.GO_TOWN); SingleGameState.IsTest = false; } if (isSuccess) { if (UiState == 1)//넷트워크에서 처리가 잘됨. 좋은거 { #if UNITY_EDITOR if (SceneManager.instance.testData.bCutSceneTest && GameObject.Find("CinemaSceneManager") != null) { CinemaSceneManager csm = GameObject.Find("CinemaSceneManager").GetComponent <CinemaSceneManager> (); SingleGameInfo stageinfo = (SingleGameInfo)G_GameInfo.GameInfo; bool bPlayCutScene = false; if (csm.getCinemaSceneStartTypeByStageID(stageinfo.StageId) == CinemaSceneManager.StartType.AFTER_CLEAR) { bPlayCutScene = true; } if (stageinfo.StageId == 310) // 3-10 has two conditions, BEFORE_GAME_START and AFTER_CLEAR, { if (csm.getCinemaSceneStartTypeByStageID(stageinfo.StageId) == CinemaSceneManager.StartType.BEFORE_GAME_START) { bPlayCutScene = true; } } if (bPlayCutScene) { int idx = 0; if (stageinfo.StageId == 310) { idx = 2; } CutSceneMgr.StartCinemaScene(false, idx, idx, () => { OpenResultPanel(true); }); return; } } #endif OpenResultPanel(true); } else//클라가 먼저 실행됨 네트워크에서 처리. { UiState = 2; } } else { UiState = 2; NetworkClient.instance.SendPMsgStageCompleteC((int)StageId, 0, new int[] { 0, 0, 0 }); } }
void Start() { if (instance == null) { instance = this; eventCnt = 0; Stageinfo = (SingleGameInfo)G_GameInfo.GameInfo; setActiveSequences(false); } }
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(); }
void Update() { if (bossUnit != null) { if (bossUnit.CharInfo.Hp < bossUnit.CharInfo.MaxHp / 2) { QuestInfo questInfo = QuestManager.instance.GetLastestUnCompleteQuestInfo(); if (questInfo != null && getCinemaSceneStartType(questInfo.unTaskId) == CinemaSceneManager.StartType.DURING_BATTLE) { if (eventCnt == 0) { eventCnt = 1; int startSeqIdx = getCinemaSceneStartingSeqIndex(questInfo.unTaskId); int endSeqIdx = getCinemaSceneEndingSeqIndex(questInfo.unTaskId); CutSceneMgr.StartCinemaScene(true, startSeqIdx, endSeqIdx, null); } } #if UNITY_EDITOR else { if (SceneManager.instance.testData.bCutSceneTest) { SingleGameInfo stageinfo = (SingleGameInfo)G_GameInfo.GameInfo; CinemaSceneManager csm = GameObject.Find("CinemaSceneManager").GetComponent <CinemaSceneManager> (); if (csm.getCinemaSceneStartTypeByStageID(stageinfo.StageId) == CinemaSceneManager.StartType.DURING_BATTLE) { if (eventCnt == 0) { eventCnt = 1; int startSeqIdx = getCinemaSceneStartingSeqIndex(questInfo.unTaskId); int endSeqIdx = getCinemaSceneEndingSeqIndex(questInfo.unTaskId); CutSceneMgr.StartCinemaScene(true, startSeqIdx, endSeqIdx, null); } } } } #endif } } }
public void OverrideGameStart(uint questID) { //QuestInfo quest = QuestManager.instance.GetLastQuestInfo(); prevQuestID = questID; if (GameObject.Find("CinemaSceneManager") != null) { CinemaSceneManager csm = GameObject.Find("CinemaSceneManager").GetComponent <CinemaSceneManager> (); if (csm.getCinemaSceneStartType(questID) == CinemaSceneManager.StartType.BEFORE_GAME_START) { int startSeqIdx = csm.getCinemaSceneStartingSeqIndex(questID); int endSeqIdx = csm.getCinemaSceneEndingSeqIndex(questID); CutSceneMgr.StartCinemaScene(true, startSeqIdx, endSeqIdx, () => { HudPanel.Show(); GameStart(); }); return; } } HudPanel.Show(); GameStart(); }