Пример #1
0
    protected override IEnumerator GameStartReady()
    {
        while (true)
        {
            if (ArenaGameState.IsMapLoad)
            {
                break;
            }

            yield return(null);
        }

        if (HudPanel == null)
        {
            while (HudPanel == null)
            {
                yield return(null);
            }
        }

        //yield return new WaitForSeconds(1f);
        ChangeLeader(0, false);
        SceneManager.instance.ShowLoadingTipPanel(false);
        CameraManager.instance.RtsCamera.Distance = 16f;
        HudPanel.StartEffCountDown();
        yield return(new WaitForSeconds(3f));

        //Fx_IN_countdown_02B번체
        //Fx_IN_countdown_02G간체
        if (SystemDefine.LocalEff.Equals("_B"))
        {
            UIHelper.CreateEffectInGame(HudPanel.transform, "Fx_IN_countdown_02B");
        }
        else
        {
            UIHelper.CreateEffectInGame(HudPanel.transform, "Fx_IN_countdown_02G");
        }

        yield return(new WaitForSeconds(1f));

        //HudPanel.StartTweenScale(false);

        TimeLimit = _LowDataMgr.instance.GetEtcTableValue <float>(EtcID.PvPTime);
        GameStart();
    }
    protected override IEnumerator GameStartReady()
    {
        SoundManager.instance.PlayBgmSoundClip(null);

        while (true)
        {
            if (SpecialGameState.IsMapLoad)
            {
                break;
            }

            yield return(null);
        }

        if (HudPanel == null)
        {
            while (HudPanel == null)
            {
                yield return(null);
            }
        }

        SceneManager.instance.ShowLoadingTipPanel(false);
        yield return(new WaitForSeconds(1f));

        if (GameMode == GAME_MODE.SPECIAL_EXP)
        {
            SoundManager.instance.PlaySfxSound(eUISfx.UI_count_exp_dungeon, true);
        }
        else
        {
            SoundManager.instance.PlaySfxSound(eUISfx.UI_count_gold_dungeon, true);
        }

        HudPanel.StartEffCountDown();
        int count = 3;

        while (0 < count)
        {
            --count;
            yield return(new WaitForSeconds(1f));
        }

        //플레이 시간 저장.
        if (SpecialGameState.IsGoldStage)
        {
            DungeonTable.EquipInfo goldLowData = _LowDataMgr.instance.GetLowDataEquipBattle((byte)StageId);
            TimeLimit = 9999;// goldLowData.LimitTime;
        }
        else
        {
            DungeonTable.SkillInfo expLowData = _LowDataMgr.instance.GetLowDataSkillBattle((byte)StageId);
            TimeLimit = expLowData.LimitTime;
        }

        int loopCount = SpawnUnitList.Count;

        for (int i = 0; i < loopCount; i++)
        {
            SpawnUnitList[i].gameObject.SetActive(true);
            SpawnUnitList[i].SetObstacleAvoidance(false);
            SpawnUnitList[i].StaticState(false);

            if (SpawnUnitList[i] is Npc)
            {
                string     path  = "Effect/_UI/_INGAME/Fx_IN_enter_01";
                GameObject effGo = GameObject.Instantiate(Resources.Load(path)) as GameObject;
                effGo.transform.parent        = SpawnUnitList[i].transform;
                effGo.transform.localScale    = SpawnUnitList[i].transform.localScale;
                effGo.transform.localPosition = Vector3.zero;
            }
        }

        GameStart();

        yield return(new WaitForSeconds(0.1f));

        SceneManager.instance.CurrentStateBase().PlayMapBGM(Application.loadedLevelName);
    }