Beispiel #1
0
    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());
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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();
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
    //< 씬이 종료될때 호출되는곳
    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;
        }
    }