Beispiel #1
0
    //#####################################################################################################
    void Awake()
    {
        Instance = this;

        canvas.gameObject.SetActive(false);
        if (SceneLobby.Instance)
        {
            SceneLobby.Instance.OnChangedMenu += OnChangedLobbyState;
        }

        HeroManager.onPromotedHeroData += OnPromoteHero;
    }
Beispiel #2
0
    void RelocationLimitBreak()
    {
        StartCoroutine(ResetContainer());

        sacrificeHeroList.Clear();
        containerList.Clear();

        if (OnLimitBreakEnd != null)
        {
            OnLimitBreakEnd();
        }
        if (scrollBattleHero.gameObject.activeSelf || scrollterritoryHero.gameObject.activeSelf)
        {
            UIHeroInfo.Init(limitBreakHero);
        }
    }
Beispiel #3
0
    IEnumerator ShowHeroInfo()
    {
        //씬 불러옴
        Scene scene = SceneManager.GetSceneByName("HeroInfo");
        if (!scene.isLoaded)
        {
            yield return StartCoroutine(AssetLoader.Instance.LoadLevelAsync("scene/heroinfo", "HeroInfo", true));
            //SceneLobby.Instance.SceneChange(state);

            scene = SceneManager.GetSceneByName("HeroInfo");

            while (!scene.isLoaded)
                yield return null;
        }

        if (UIHeroInfo.Instance)
            UIHeroInfo.Init(battleHero);
    }
Beispiel #4
0
    IEnumerator ShowHeroInfoA(HeroData heroData)
    {
        //씬 불러옴
        Scene scene = SceneManager.GetSceneByName("HeroInfo");

        if (!scene.isLoaded)
        {
            yield return(StartCoroutine(AssetLoader.Instance.LoadLevelAsync("scene/heroinfo", "HeroInfo", true)));

            scene = SceneManager.GetSceneByName("HeroInfo");

            while (!scene.isLoaded)
            {
                yield return(null);
            }
        }

        if (UIHeroInfo.Instance)
        {
            UIHeroInfo.Init(heroData);
        }
    }
Beispiel #5
0
    /// <summary> 한계돌파를 위한 제물 사용하는 부분 </summary>
    IEnumerator PotentialMaxUp()
    {
        int beforeLimitBreak = limitBreakHero.limitBreak;


        int count = 0;

        for (int i = 0; i < sacrificeHeroList.Count; i++)
        {
            HeroData heroData = HeroManager.heroDataDic[sacrificeHeroList[i]];
            if (heroData.limitBreak == 0)
            {
                limitBreakHero.limitBreak += 1;
                count += 1;
            }
            else
            {
                limitBreakHero.limitBreak += heroData.limitBreak + 1;
                count += heroData.limitBreak + 1;
            }
        }

        count += unlimitedJeweluse;

        int afterLimitBreak = beforeLimitBreak + count;

        yield return(StartCoroutine(CheckUseEnhaceStoneAndRuby()));

        yield return(StartCoroutine(PotentialMaxUpdate(count)));

        //yield return (StartCoroutine(PoolRemover(sacrificeHeroList)));

        yield return(StartCoroutine(ResetContainer()));

        if (sacrificeHeroList.Count > 0)
        {
            HeroManager.HeroDelete(sacrificeHeroList);

            while (!HeroManager.isDelete)
            {
                yield return(null);
            }
        }

        //정리될때까지 한프레임 쉬고
        yield return(null);

        if (OnLimitBreakEnd != null)
        {
            OnLimitBreakEnd();
        }

        sacrificeHeroList.Clear();
        containerList.Clear();

        if (scrollBattleHero.gameObject.activeSelf || scrollterritoryHero.gameObject.activeSelf)
        {
            UIHeroInfo.Init(limitBreakHero);
        }


        UIPopupManager.ShowOKPopup("한계돌파 완료", "한계돌파 결과\n" + beforeLimitBreak + "단계 → " + afterLimitBreak + "단계\n" + "훈련 포인트" + " : " + beforePoint + " → " + afterPoint + "\n" +
                                   "반환된 강화석 수량 : " + enhancePoint.ToStringABC(), null);
    }