public static void StartCutScene(System.Action _EndCall = null) { if (StartCheck) { return; } EndCall = _EndCall; GameInfoBase.NotTimeUpdate = true; Time.timeScale = 1; StartCheck = true; CutSceneSendMessage.PauseAllUnits(true); spawnCtlr = getSpawnController(); spawnCtlr.setNpcActiveExceptBoss(false); G_GameInfo.GameInfo.StartCoroutine(SetCutScene()); //< 기본 UI들을 숨겨준다 UIMgr.setHudPanelVisible(false); UIMgr.setInGameBoardPanelVisible(false); TempCoroutine.instance.StartCoroutine(BossAnimationPlayed()); }
public static void StartBossCutScene(System.Action _EndCall = null) { if (StartCheck) { return; } EndCall = _EndCall; GameInfoBase.NotTimeUpdate = true; //< 기본 UI들을 숨겨준다 //GameObject InGameHUDPanelGO = UIMgr.GetUI("UIPanel/InGameHUDPanel"); UIMgr.setHudPanelVisible(false); UIMgr.setInGameBoardPanelVisible(false); Time.timeScale = 1; StartCheck = true; CutSceneSendMessage.PauseAllUnits(true); spawnCtlr = getSpawnController(); spawnCtlr.setNpcActiveExceptBoss(false); bossCutSceneCoroutine = DoBossCutScene2(); G_GameInfo.GameInfo.StartCoroutine(bossCutSceneCoroutine); }
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(); }
public static void EndCinemaScene() { UIHelper.SetMainCameraActive(true); if (spawnCtlr != null) { spawnCtlr.setNpcActiveExceptBoss(true); } if (EndCall != null) { EndCall(); } EndCall = null; StartCheck = false; GameInfoBase.NotTimeUpdate = false; Time.timeScale = GameDefine.DefaultTimeScale; CutSceneSendMessage.PauseAllUnits(false); UIMgr.setHudPanelVisible(true); UIMgr.setInGameBoardPanelVisible(true); }
//< 씬이 종료될때 호출되는곳 public static void EndScene(bool InGame = true) { UIHelper.SetMainCameraActive(true); if (spawnCtlr != null) { spawnCtlr.setNpcActiveExceptBoss(true); } if (EndCall != null) { EndCall(); } EndCall = null; StartCheck = false; CutSceneEventDic.Clear(); if (InGame) { GameInfoBase.NotTimeUpdate = false; } Time.timeScale = GameDefine.DefaultTimeScale; for (int i = 0; i < EffectList.Count; i++) { if (EffectList[i] != null) { DestroyImmediate(EffectList[i]); } } EffectList.Clear(); // GameObject panel = UIMgr.GetUI("CutSceneSkipPanel"); // if (panel != null) // panel.GetComponent<UIBasePanel>().Close(); if (InGame) { CutSceneSendMessage.PauseAllUnits(false); GameObject appearPanel = UIMgr.GetUI("UIPanel/AppearBossPanel"); if (appearPanel != null) { appearPanel.GetComponent <AppearBossPanel>().Close(); } UIMgr.setHudPanelVisible(true); UIMgr.setInGameBoardPanelVisible(true); } if (seq != null) { Destroy(seq.gameObject); } if (CutSceneSendMessage._CameraFadeEventObj != null) { Destroy(CutSceneSendMessage._CameraFadeEventObj.gameObject); } if (startCamObj != null) { Destroy(startCamObj); } if (startRootObj != null) { Destroy(startRootObj); } if (InGame) { TempCoroutine.instance.FrameDelay(0.1f, () => { //< 혹시나 포커싱카메라가 없을수도있기에 체크 if (G_GameInfo.GameInfo.FocusingCam == null) { G_GameInfo.GameInfo.FocusingCam = ResourceMgr.InstAndGetComponent <FocusingCamera>("Camera/FocusingCamera"); G_GameInfo.GameInfo.FocusingCam.SetTargetCamera(CameraManager.instance.mainCamera); if (SkillEventMgr.Live) { SkillEventMgr.instance.Setup(CameraManager.instance.RtsCamera, G_GameInfo.GameInfo.FocusingCam); } } //< 포커싱카메라가 안꺼져있을수있으므로 꺼줌 if (G_GameInfo.GameInfo.FocusingCam != null && G_GameInfo.GameInfo.FocusingCam.gameObject.activeSelf) { G_GameInfo.GameInfo.FocusingCam.EndUpdate(); } }); } GameObject UIShadowLight = GameObject.Find("UI_ShadowLight"); //cyoung 추가 if (UIShadowLight != null) { UIShadowLight.GetComponent <Light> ().enabled = true; } }