コード例 #1
0
    IEnumerator ResultAction(bool isSuccess, PlayerController playerCtlr)
    {
        yield return(new WaitForSeconds(2));

        UIMgr.instance.UICamera.enabled = true;

        HudPanel.Hide();
        UIMgr.GetUI("UIPanel/InGameBoardPanel").GetComponent <InGameBoardPanel>().Hide();

        yield return(null);

        Debug.Log(string.Format("End {0} GetValue={1}/{2}", SpecialGameState.IsGoldStage ? "Gold":"Exp", GetTotalValue, MaxValue));
        //if (!SpecialGameState.IsGoldStage)
        //{
        //    NetworkClient.instance.SendPMsgExpBattleCompleteC(StageId, isSuccess ? 1 : 0, (int)GetTotalValue);
        //}
        //else
        //{
        //    NetworkClient.instance.SendPMsgCoinBattleCompleteC(StageId, isSuccess ? 1 : 0, (int)GetTotalValue);
        //}

        //초기화.
        GetTotalValue = 0;
        //DropRewardDic.Clear();
        //SpecialGameState.MonList.Clear();
        OpenResultPanel(isSuccess);
        yield return(null);
    }
コード例 #2
0
    protected override IEnumerator GameStartReady()
    {
        while (true)
        {
#if UNITY_EDITOR
            if (GameObject.Find("SpawnTestManager"))
            {
                SingleGameState.IsMapLoad = true;
            }
#endif
            if (SingleGameState.IsMapLoad)
            {
                break;
            }

            yield return(null);
        }

        SceneManager.instance.ShowLoadingTipPanel(false);

        float delay = 1f + Time.time;
        while (true)
        {
            if (delay < Time.time)
            {
                break;
            }

            yield return(null);
        }

        //SearchPathEffect();

        //싱글게임 진입 플래그 만족이 아닐경우
        Quest.QuestInfo info = QuestManager.instance.CheckSubQuest(QuestSubType.SINGLEGAMEPLAY, StageId);
        if (info == null)
        {
            IsQuestClear = false;
            GameStart();
        }
        else if (0 < info.QuestTalkSceneID)
        {
            IsQuestClear = true;

            UIMgr.OpenMissionPanel(info.ID);
            HudPanel.Hide();//꺼놓는다.
        }

        DungeonTable.StageInfo stage = _LowDataMgr.instance.GetStageInfo(StageId);
        if (stage != null)
        {
            TimeLimit = stage.LimitTime;
        }
        else
        {
            Debug.LogError(" stage info is null!");
        }
    }
コード例 #3
0
    IEnumerator ResultAction(bool isSuccess, PlayerController playerCtlr)
    {
        yield return(new WaitForSeconds(2));

        HudPanel.Hide();
        UIMgr.GetUI("UIPanel/InGameBoardPanel").GetComponent <InGameBoardPanel>().Hide();

        uint totalKillCount = _AchieveFightData.KillBossCount + _AchieveFightData.KillMonsterCount, totalDieCount = _AchieveFightData.DieCount;

        NetworkClient.instance.SendPMsgTowerBattleCompleteC(StageId, totalDieCount, totalKillCount, PlayTime, isSuccess);

        yield return(null);
    }
コード例 #4
0
    IEnumerator ResultAction(bool isSuccess)
    {
        //yield return new WaitForSeconds(1);

        UIMgr.instance.UICamera.enabled = true;

        HudPanel.Hide();
        UIMgr.GetUI("UIPanel/InGameBoardPanel").GetComponent <InGameBoardPanel>().Hide();

        NetworkClient.instance.SendPMsgArenaFightCompleteC(isSuccess);

        yield return(null);
    }
コード例 #5
0
    IEnumerator ResultAction(bool isSuccess)
    {
        yield return(new WaitForSeconds(1));

        UIMgr.instance.UICamera.enabled = true;

        HudPanel.Hide();
        UIMgr.GetUI("UIPanel/InGameBoardPanel").GetComponent <InGameBoardPanel>().Hide();
        NetworkClient.instance.SendPMsgBossBattleCompleteC(StageId, isSuccess, NetData.instance._RewardData.GetExp);

        //if (!isSuccess)
        //{
        //    //< 모든 유닛을 숨김
        //    Unit[] allUnits = new Unit[characterMgr.allUnitDic.Values.Count];
        //    characterMgr.allUnitDic.Values.CopyTo(allUnits, 0);
        //    foreach (Unit unit in allUnits)
        //        unit.gameObject.SetActive(false);
        //}

        yield return(null);
    }
コード例 #6
0
    public override void EndGame(bool isSuccess)
    {
        if (!IsStartGame)//이미 처리중 중복처리 막는다
        {
            return;
        }

        base.EndGame(isSuccess);

        HudPanel.GameEnd(isSuccess);

        TempCoroutine.instance.FrameDelay(1f, () =>
        {
            UIMgr.instance.UICamera.enabled = true;

            HudPanel.Hide();
            UIMgr.GetUI("UIPanel/InGameBoardPanel").GetComponent <InGameBoardPanel>().Hide();

            OverrideGameEnd(isSuccess);
        });
    }
コード例 #7
0
    IEnumerator ResultAction(bool isSuccess, PlayerController playerCtlr, uint clearGrade)//, TotalGachaData totalData)
    {
        UIMgr.instance.UICamera.enabled = true;

        HudPanel.Hide();
        UIMgr.GetUI("UIPanel/InGameBoardPanel").GetComponent <InGameBoardPanel>().Hide();

        yield return(null);

        //iFunClient.instance.ReqLeaveRoom();
        yield return(null);

        if (!isSuccess)
        {
            //< 모든 유닛을 숨김
            Unit[] allUnits = new Unit[characterMgr.allUnitDic.Values.Count];
            characterMgr.allUnitDic.Values.CopyTo(allUnits, 0);
            foreach (Unit unit in allUnits)
            {
                unit.gameObject.SetActive(false);
            }
        }

        yield return(new WaitForSeconds(1));

        if (FreeFightGameState.GameMode == GAME_MODE.FREEFIGHT)
        {
            SceneManager.instance.LobbyActionEvent(_STATE.SINGLE_GAME, _ACTION.GO_TOWN, UI_OPEN_TYPE.NONE);
        }
        else
        {
            if (isSuccess)
            {
                Time.timeScale = 0.1f;
                float endSlowDuration = 0.25f;
                if (G_GameInfo.CharacterMgr != null && G_GameInfo.CharacterMgr.BossUnit != null)
                {
                    G_GameInfo.CharacterMgr.BossUnit.BossEndShaderChange();
                }

                StartCoroutine(RestoreTimeScale(endSlowDuration, () => {
                    //UIMgr.Open("UIPanel/ResultRewardStarPanel", isSuccess);
                    OpenResultPanel(true);
                }));

                if (_GameEndEventPanel != null)
                {
                    _GameEndEventPanel.StartEvent(1, rtsCamera);
                }
            }
            else
            {
                OpenResultPanel(false); //UIMgr.Open("UIPanel/ResultRewardStarPanel", false);
            }
        }

        //여기서 초기화. 실제로 이것은 Frefight일 경우에만 사용하므로.
        // SceneManager.GameMode = GAME_MODE.NONE;
        //G_GameInfo.GameMode = GAME_MODE.NONE;

        yield return(null);
    }