Пример #1
0
    void OnClickAchievLink()
    {
        if (AchievId <= 0)
        {
            return;
        }

        UIBasePanel equipPanel = UIMgr.GetUIBasePanel("UIPanel/EquipmentPanel");

        Achievement.AchievementInfo achievInfo = _LowDataMgr.instance.GetLowDataAchievInfo(AchievId);
        UIMgr.OpenAchievePanel(equipPanel, 1, (int)achievInfo.Type);

        Hide();
    }
Пример #2
0
    public override void LateInit()
    {
        base.LateInit();

        SelectTitleL      = UserInfo._LeftTitle == 0 ? 1 : UserInfo._LeftTitle;
        SelectTitleR      = UserInfo._RightTitle == 0 ? 2 : UserInfo._RightTitle;
        GetCondition.text = "";

        string leftTitle = null, rightTitle = null;

        if (0 < SelectTitleL)
        {
            Title.TitleInfo info = LowMgr.GetLowDataTitle(SelectTitleL);
            leftTitle = LowMgr.GetLowDataTitleName(info.TitleName);

            Achievement.AchievementInfo achievInfo = _LowDataMgr.instance.GetLowDataAchievInfo(info.LinkAchievement);
            if (achievInfo != null)
            {
                GetCondition.text = string.Format(_LowDataMgr.instance.GetStringCommon(1419), _LowDataMgr.instance.GetStringAchievement(achievInfo.NameId));
            }
        }

        if (0 < SelectTitleR)
        {
            Title.TitleInfo info = LowMgr.GetLowDataTitle(SelectTitleR);
            rightTitle = LowMgr.GetLowDataTitleName(info.TitleName);

            if (string.IsNullOrEmpty(GetCondition.text))
            {
                Achievement.AchievementInfo achievInfo = _LowDataMgr.instance.GetLowDataAchievInfo(info.LinkAchievement);
                if (achievInfo != null)
                {
                    GetCondition.text = string.Format(_LowDataMgr.instance.GetStringCommon(1419), _LowDataMgr.instance.GetStringAchievement(achievInfo.NameId));
                }
            }
        }

        CurTitle.text      = string.Format("{0} {1}", leftTitle, rightTitle); //합친거
        CurLeftTitle.text  = leftTitle;                                       //접두
        CurRightTitle.text = rightTitle;                                      //접미

        NetworkClient.instance.SendPMsgTitleQueryInfoC();                     //칭호 정보 갱신
    }
Пример #3
0
    /// <summary> 칭호 슬롯 선택 콜백함수 </summary>
    void OnClickTitleSlot(uint idx, int arr)
    {
        Title.TitleInfo info = LowMgr.GetLowDataTitle(idx);

        string leftTitle = null, rightTitle = null;

        if (info.Type == 1)//접두
        {
            if (0 < SelectTitleR)
            {
                Title.TitleInfo info2 = LowMgr.GetLowDataTitle(SelectTitleR);
                rightTitle = LowMgr.GetLowDataTitleName(info2.TitleName);
            }

            int childCount = LeftGrid.transform.childCount;
            for (int i = 0; i < childCount; i++)
            {
                if (arr.ToString().Equals(LeftGrid.transform.GetChild(i).name))
                {
                    LeftGrid.transform.GetChild(i).FindChild("select").gameObject.SetActive(true);
                }
                else
                {
                    LeftGrid.transform.GetChild(i).FindChild("select").gameObject.SetActive(false);
                }
            }

            leftTitle    = LowMgr.GetLowDataTitleName(info.TitleName);
            SelectTitleL = idx;
        }
        else if (info.Type == 2)//접미
        {
            if (0 < SelectTitleL)
            {
                Title.TitleInfo info2 = LowMgr.GetLowDataTitle(SelectTitleL);
                leftTitle = LowMgr.GetLowDataTitleName(info2.TitleName);
            }

            int childCount = RightGrid.transform.childCount;
            for (int i = 0; i < childCount; i++)
            {
                if (arr.ToString().Equals(RightGrid.transform.GetChild(i).name))
                {
                    RightGrid.transform.GetChild(i).FindChild("select").gameObject.SetActive(true);
                }
                else
                {
                    RightGrid.transform.GetChild(i).FindChild("select").gameObject.SetActive(false);
                }
            }

            rightTitle   = LowMgr.GetLowDataTitleName(info.TitleName);
            SelectTitleR = idx;
        }

        AchievId = info.LinkAchievement;
        Achievement.AchievementInfo achievInfo = _LowDataMgr.instance.GetLowDataAchievInfo(info.LinkAchievement);
        if (achievInfo != null)
        {
            GetCondition.text = string.Format(_LowDataMgr.instance.GetStringCommon(1419), _LowDataMgr.instance.GetStringAchievement(achievInfo.NameId));
        }

        CurTitle.text      = string.Format("{0} {1}", leftTitle, rightTitle); //합친거
        CurLeftTitle.text  = leftTitle;                                       //접두
        CurRightTitle.text = rightTitle;                                      //접미
    }
Пример #4
0
    void Update()
    {
        if (IsStopUpdate || SceneManager.instance.IsShowLoadingPanel())
        {
            return;
        }

        if (TownState.TownActive && _TownState != null && _TownState.IsEndSceneLoad)//마을일 경우 처리할 곳.
        {
            if (0 < SystemList.Count)
            {
                if (!NoticeGo[(int)NoticeType.System].activeSelf)
                {
                    NoticeGo[(int)NoticeType.System].SetActive(true);
                }
                else if (SystemList[0].TimeDataUpdate())//시스템 메세지 업데이트
                {
                    SystemList.RemoveAt(0);
                    if (SystemList.Count <= 0)
                    {
                        NoticeGo[(int)NoticeType.System].SetActive(false);
                    }
                }
            }

            if (0 < GameList.Count)
            {
                if (!NoticeGo[(int)NoticeType.Game].activeSelf)
                {
                    NoticeGo[(int)NoticeType.Game].SetActive(true);
                }
                else if (GameList[0].TimeDataUpdate())//게임 알림 메세지 업데이트
                {
                    GameList.RemoveAt(0);
                    if (GameList.Count <= 0)
                    {
                        NoticeGo[(int)NoticeType.Game].SetActive(false);
                    }
                }
            }

            if (NoticeGo[(int)NoticeType.Quest].activeSelf)
            {
                if (_QuestData.Update())//퀘스트
                {
                    NoticeGo[(int)NoticeType.Quest].SetActive(false);
                }

                //이자식은 페널 다 가림 얘 끝나고 나머지 처리하자.
                return;
            }

            if (0 < AchieveType)//업적 알림
            {
                bool run = true;
                if (!_AchievData.IsStart)//초기화 시켜준다.
                {
                    UIBasePanel gachaPanel = UIMgr.GetUIBasePanel("UIPanel/GachaPanel");
                    if (gachaPanel != null && !(gachaPanel as GachaPanel).IsEndAni)
                    {
                        run = false;
                    }
                    else
                    {
                        if (AchieveTabType == 0)
                        {
                            //일일
                            Achievement.DailyInfo dailyAchievInfo = _LowDataMgr.instance.GetLowDataDaiylAchievementInfo(AchieveType, AchieveLv);
                            if (dailyAchievInfo == null)
                            {
                                AchieveType    = 0;
                                AchieveSubType = 0;
                                AchieveLv      = 0;
                                return;
                            }

                            AchievLbl.text = _LowDataMgr.instance.GetStringAchievement(dailyAchievInfo.DescId);
                        }
                        else
                        {
                            //일반
                            Achievement.AchievementInfo achievInfo = _LowDataMgr.instance.GetAchieveInfo(AchieveType, AchieveSubType, AchieveLv);
                            if (achievInfo == null)//문제있음.
                            {
                                AchieveType    = 0;
                                AchieveSubType = 0;
                                AchieveLv      = 0;
                                return;
                            }

                            AchievLbl.text = _LowDataMgr.instance.GetStringAchievement(achievInfo.DescriptionId);
                        }

                        float       achievDuration = 0;
                        UITweener[] achievTweens   = NoticeGo[(int)NoticeType.Achiev].transform.FindChild("UI_Txt").GetComponents <UITweener>();
                        for (int i = 0; i < achievTweens.Length; i++)
                        {
                            if (achievDuration < achievTweens[i].delay + achievTweens[i].duration)
                            {
                                achievDuration = achievTweens[i].delay + achievTweens[i].duration;
                            }

                            achievTweens[i].ResetToBeginning();
                            achievTweens[i].PlayForward();
                        }

                        _AchievData.TimeInit(0, achievDuration);
                        SoundManager.instance.PlaySfxSound(eUISfx.UI_achive_attendence_alarm, false);//업적 달성 알림음 / 혜택 달성음

                        GameObject eff = UIHelper.CreateEffectInGame(NoticeGo[(int)NoticeType.Achiev].transform.FindChild("effect"), "Fx_UI_Achievement_01");
                        Destroy(eff, 2f);

                        NoticeGo[(int)NoticeType.Achiev].SetActive(true);
                    }
                }

                if (run && _AchievData.Update())
                {
                    NoticeGo[(int)NoticeType.Achiev].SetActive(false);
                    AchieveType    = 0;
                    AchieveSubType = 0;
                    AchieveLv      = 0;
                }
            }

            if (0 < GetUseItemList.Count)
            {
                UpdateGetUseItem();
            }
        }
        else if (!TownState.TownActive)//마을이 아닐 경우 처리할 곳.,
        {
            if (0 < SystemList.Count)
            {
                if (!NoticeGo[(int)NoticeType.System].activeSelf)
                {
                    NoticeGo[(int)NoticeType.System].SetActive(true);
                }
                else if (SystemList[0].TimeDataUpdate())//시스템 메세지 업데이트
                {
                    SystemList.RemoveAt(0);
                    if (SystemList.Count <= 0)
                    {
                        NoticeGo[(int)NoticeType.System].SetActive(false);
                    }
                }
            }

            if (0 < GameList.Count)
            {
                if (!NoticeGo[(int)NoticeType.Game].activeSelf)
                {
                    NoticeGo[(int)NoticeType.Game].SetActive(true);
                }
                else if (GameList[0].TimeDataUpdate())//게임 알림 메세지 업데이트
                {
                    GameList.RemoveAt(0);
                    if (GameList.Count <= 0)
                    {
                        NoticeGo[(int)NoticeType.Game].SetActive(false);
                    }
                }
            }
        }

        if (NoticeGo[(int)NoticeType.PowerUp].activeSelf && _StatUpData.Update())//전투력 상승
        {
            NoticeGo[(int)NoticeType.PowerUp].SetActive(false);
        }

        if (NoticeGo[(int)NoticeType.LevelUp].activeSelf && _LevelUpData.Update())//레벨업.
        {
            NoticeGo[(int)NoticeType.LevelUp].SetActive(false);
        }

        if (IsMsgUpdate)//메세지
        {
            UpdateMessage();
        }

        if (0 < GetItemList.Count)
        {
            UpdateGetMailItem();
        }
    }