Exemplo n.º 1
0
        private void OnTrophyClick(CUIEvent uiEvent)
        {
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();
            uint          commonUInt32Param = uiEvent.m_eventParams.commonUInt32Param1;

            this.ShowTrophyDetail(masterAchieveInfo, commonUInt32Param);
        }
Exemplo n.º 2
0
        private void OnChangeAchievement(CUIEvent uiEvent)
        {
            CAchieveInfo2            masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();
            ListView <CAchieveItem2> listView          = new ListView <CAchieveItem2>();

            this.m_CurTrophies = masterAchieveInfo.GetTrophies(enTrophyState.Finish);
            for (int i = this.m_CurTrophies.Count - 1; i >= 0; i--)
            {
                if (this.m_CurTrophies[i] != null && Array.IndexOf <CAchieveItem2>(this.SelectedTrophies, this.m_CurTrophies[i]) < 0)
                {
                    listView.Add(this.m_CurTrophies[i]);
                }
            }
            if (listView.Count == 0)
            {
                Singleton <CUIManager> .GetInstance().OpenTips(Singleton <CTextManager> .GetInstance().GetText("Achievement_Trophy_Select_Err_1"), false, 1.5f, null, new object[0]);

                return;
            }
            if (uiEvent.m_eventParams.tag >= 0 && uiEvent.m_eventParams.tag < this.SelectedTrophies.Length)
            {
                this.TargetReplaceIdx = (byte)uiEvent.m_eventParams.tag;
                CUIFormScript form = Singleton <CUIManager> .GetInstance().OpenForm("UGUI/Form/System/Achieve/Form_Trophy_Select.prefab", false, true);

                this.RefreshAchievementSelectForm(form);
                return;
            }
            Singleton <CUIManager> .GetInstance().OpenTips("数据异常,请稍后重试", false, 1.5f, null, new object[0]);
        }
Exemplo n.º 3
0
        public static void OnReceiveGetTrophyRewardRsp(CSPkg msg)
        {
            Singleton <CUIManager> .GetInstance().CloseSendMsgAlert();

            SCPKG_GET_TROPHYLVL_REWARD_RSP stGetTrophyLvlmentRewardRsp = msg.stPkgData.stGetTrophyLvlmentRewardRsp;

            if (stGetTrophyLvlmentRewardRsp.iResult < 0)
            {
                Singleton <CUIManager> .GetInstance().OpenTips(string.Format("奖励领取失败,请稍后再试 {0}", stGetTrophyLvlmentRewardRsp.iResult), false, 1.5f, null, new object[0]);

                return;
            }
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();
            int           num = (int)(stGetTrophyLvlmentRewardRsp.dwTrophyLvl - 1u);

            if (num < 0 || (long)num > (long)((ulong)masterAchieveInfo.TrophyRewardInfoArrCnt))
            {
                return;
            }
            CTrophyRewardInfo cTrophyRewardInfo = masterAchieveInfo.TrophyRewardInfoArr[num];

            CUseable[] trophyRewards = cTrophyRewardInfo.GetTrophyRewards();
            Singleton <CUIManager> .instance.OpenAwardTip(trophyRewards, null, false, enUIEventID.None, false, false, "Form_Award");

            cTrophyRewardInfo.State = TrophyState.GotRewards;
            Singleton <EventRouter> .GetInstance().BroadCastEvent(EventID.ACHIEVE_TROPHY_REWARD_INFO_STATE_CHANGE);
        }
Exemplo n.º 4
0
        private void OnMenuChange(CUIEvent uiEvent)
        {
            CUIListScript cUIListScript = uiEvent.m_srcWidgetScript as CUIListScript;

            if (cUIListScript == null)
            {
                return;
            }
            int selectedIndex = cUIListScript.GetSelectedIndex();

            if (selectedIndex < 0 || selectedIndex > 2)
            {
                DebugHelper.Assert(false, "Achievement type form selected menu indx out of range!");
                return;
            }
            this.CurMenu = (CAchievementSystem.enTypeMenu)selectedIndex;
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            this.m_CurAchieveSeries = new ListView <CAchieveItem2>();
            CAchievementSystem.enTypeMenu curMenu = this.CurMenu;
            if (curMenu != CAchievementSystem.enTypeMenu.All)
            {
                if (curMenu == CAchievementSystem.enTypeMenu.Not_Finish)
                {
                    this.m_CurAchieveSeries = masterAchieveInfo.GetTrophies(enTrophyState.UnFinish);
                    this.m_CurAchieveSeries.Sort(new CAchieveSort());
                }
            }
            else
            {
                this.m_CurAchieveSeries = masterAchieveInfo.GetTrophies(enTrophyState.All);
                this.m_CurAchieveSeries.Sort(new CAchieveSort());
            }
            this.RefreshOverviewForm(uiEvent.m_srcFormScript);
        }
Exemplo n.º 5
0
        public static void OnNotifyAchieveDoneDataChange(CSPkg msg)
        {
            Singleton <CUIManager> .GetInstance().CloseSendMsgAlert();

            SCPKG_ACHIEVEMENT_DONE_DATA_CHG_NTF stAchievementDoneDataChgNtf = msg.stPkgData.stAchievementDoneDataChgNtf;
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            masterAchieveInfo.OnAchieveDoneDataChange(stAchievementDoneDataChgNtf.stAchievementDoneData);
        }
Exemplo n.º 6
0
        public static void OnRecieveAchieveInfo(CSPkg msg)
        {
            Singleton <CUIManager> .GetInstance().CloseSendMsgAlert();

            SCPKG_ACHIEVEMENT_INFO_NTF stGetAchievememtInfoNtf = msg.stPkgData.stGetAchievememtInfoNtf;
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            masterAchieveInfo.OnServerAchieveInfo(ref stGetAchievememtInfoNtf.stAchievementInfo);
        }
Exemplo n.º 7
0
        public static void OnTrophyLevelUp(CSPkg msg)
        {
            Singleton <CUIManager> .GetInstance().CloseSendMsgAlert();

            SCPKG_NTF_TROPHYLVLUP stNtfTrophyLvlUp  = msg.stPkgData.stNtfTrophyLvlUp;
            CAchieveInfo2         masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            masterAchieveInfo.TrophyLevelUp(stNtfTrophyLvlUp.dwOldTrophyLvl, stNtfTrophyLvlUp.dwNewTrophyLvl);
            Singleton <EventRouter> .GetInstance().BroadCastEvent(EventID.ACHIEVE_TROPHY_REWARD_INFO_STATE_CHANGE);
        }
Exemplo n.º 8
0
        public static void OnNotifyAchieveStateChange(CSPkg msg)
        {
            Singleton <CUIManager> .GetInstance().CloseSendMsgAlert();

            SCPKG_ACHIEVEMENT_STATE_CHG_NTF stAchievementStateChgNtf = msg.stPkgData.stAchievementStateChgNtf;
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            masterAchieveInfo.ChangeAchieveState(ref stAchievementStateChgNtf.stAchievementData);
            Singleton <CAchievementSystem> .GetInstance().ProcessMostRecentlyDoneAchievements(false);

            Singleton <EventRouter> .GetInstance().BroadCastEvent(EventID.ACHIEVE_TROPHY_REWARD_INFO_STATE_CHANGE);
        }
Exemplo n.º 9
0
        private void OnGetTrophyReward(CUIEvent uiEvent)
        {
            int           tag = uiEvent.m_eventParams.tag;
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            CTrophyRewardInfo[] trophyRewardInfoArr = masterAchieveInfo.TrophyRewardInfoArr;
            if (tag < 0 || tag >= trophyRewardInfoArr.Length)
            {
                return;
            }
            CTrophyRewardInfo cTrophyRewardInfo = trophyRewardInfoArr[tag];

            this.SendGetTrophyRewardReq(cTrophyRewardInfo.Cfg.dwTrophyLvl);
        }
Exemplo n.º 10
0
        private void OnBrowseAllRewards(CUIEvent uiEvent)
        {
            CUIFormScript cUIFormScript = Singleton <CUIManager> .GetInstance().OpenForm("UGUI/Form/System/Achieve/Form_Trophy_Rewards.prefab", false, true);

            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();
            CUIListScript component         = cUIFormScript.GetWidget(0).GetComponent <CUIListScript>();

            if (component != null)
            {
                this.m_TrophyRewardInfoWithRewardList = masterAchieveInfo.GetTrophyRewardInfoWithRewards();
                this.m_TrophyRewardInfoWithRewardList.Sort(new CTrophyRewardInfoSort());
                component.SetElementAmount(this.m_TrophyRewardInfoWithRewardList.Count);
            }
        }
Exemplo n.º 11
0
        private void OnContinueProcessDoneAchievements(CUIEvent uiEvent)
        {
            this.m_isShowing = false;
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            if (masterAchieveInfo.MostLatelyDoneAchievements.get_Count() == 0)
            {
                return;
            }
            masterAchieveInfo.MostLatelyDoneAchievements.RemoveAt(0);
            Singleton <CTimerManager> .GetInstance().AddTimer(200, 1, delegate(int sequence)
            {
                this.Process(false);
            });
        }
Exemplo n.º 12
0
        public void Process(bool force = false)
        {
            if (this.m_isShowing)
            {
                return;
            }
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            if (masterAchieveInfo.MostLatelyDoneAchievements.get_Count() == 0)
            {
                return;
            }
            if (!Singleton <CLobbySystem> .GetInstance().IsInLobbyForm() || Singleton <CMatchingSystem> .GetInstance().IsInMatching || Singleton <CMatchingSystem> .GetInstance().IsInMatchingTeam || Singleton <CUIManager> .GetInstance().GetForm(CMatchingSystem.PATH_MATCHING_CONFIRMBOX) != null)
            {
                return;
            }
            if (!force)
            {
                string[] array = new string[]
                {
                    Singleton <CMallSystem> .GetInstance().sMallFormPath,
                    "Form_NewHeroOrSkin.prefab"
                };
                for (int i = 0; i < array.Length; i++)
                {
                    CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(array[i]);

                    if (form != null && !form.IsClosed())
                    {
                        return;
                    }
                }
            }
            CUIFormScript form2 = Singleton <CUIManager> .GetInstance().GetForm("Form_NobeLevelUp.prefab");

            if (form2 != null && !form2.IsClosed())
            {
                return;
            }
            uint num = masterAchieveInfo.MostLatelyDoneAchievements.get_Item(0);

            if (!masterAchieveInfo.m_AchiveItemDic.ContainsKey(num))
            {
                return;
            }
            this.OpenShareForm(num);
        }
Exemplo n.º 13
0
        private void RefreshData(uint achievementId)
        {
            this.ResetData();
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            this.m_curAchieveItem = masterAchieveInfo.m_AchiveItemDic[achievementId];
            CAchieveItem2 head = this.m_curAchieveItem.GetHead();

            if (head == this.m_curAchieveItem)
            {
                this.m_isNewTrophy = true;
            }
            else
            {
                this.m_isNewTrophy = false;
            }
            uint num = 0u;

            masterAchieveInfo.GetTrophyProgress(ref num, ref this.m_nextPoint);
            uint num2 = 0u;

            for (int i = 0; i < masterAchieveInfo.MostLatelyDoneAchievements.get_Count(); i++)
            {
                CAchieveItem2 cAchieveItem = masterAchieveInfo.m_AchiveItemDic[masterAchieveInfo.MostLatelyDoneAchievements.get_Item(i)];
                num2 += cAchieveItem.Cfg.dwPoint;
            }
            this.m_startPoint = num - num2;
            this.m_endPoint   = this.m_startPoint + this.m_curAchieveItem.Cfg.dwPoint;
            CTrophyRewardInfo trophyRewardInfoByPoint = masterAchieveInfo.GetTrophyRewardInfoByPoint(this.m_startPoint);
            CTrophyRewardInfo cTrophyRewardInfo       = this.m_curTrophyRewardInfo = masterAchieveInfo.GetTrophyRewardInfoByPoint(this.m_endPoint);
            CTrophyRewardInfo trophyRewardInfoByIndex = masterAchieveInfo.GetTrophyRewardInfoByIndex(cTrophyRewardInfo.Index + 1);

            if (trophyRewardInfoByPoint.Cfg.dwTrophyLvl == cTrophyRewardInfo.Cfg.dwTrophyLvl)
            {
                this.m_achievePointsFrom = Utility.Divide(this.m_startPoint - trophyRewardInfoByIndex.MinPoint, trophyRewardInfoByIndex.GetPointStep());
                this.m_achievePointsTo   = Utility.Divide(this.m_endPoint - trophyRewardInfoByIndex.MinPoint, trophyRewardInfoByIndex.GetPointStep());
            }
            else
            {
                this.m_achievePointsFrom = 0f;
                this.m_achievePointsTo   = Utility.Divide(this.m_endPoint - trophyRewardInfoByIndex.MinPoint, trophyRewardInfoByIndex.GetPointStep());
            }
        }
Exemplo n.º 14
0
        private void RefreshShareForm()
        {
            if (this.m_curTrophyRewardInfo == null)
            {
                return;
            }
            if (this.m_shareForm == null)
            {
                this.m_shareForm = Singleton <CUIManager> .GetInstance().GetForm("UGUI/Form/System/Achieve/Form_Achievement_Share.prefab");
            }
            if (this.m_shareForm == null)
            {
                return;
            }
            CAchieveInfo2     masterAchieveInfo       = CAchieveInfo2.GetMasterAchieveInfo();
            CTrophyRewardInfo trophyRewardInfoByIndex = masterAchieveInfo.GetTrophyRewardInfoByIndex(this.m_curTrophyRewardInfo.Index + 1);

            if (this.m_isNewTrophy)
            {
            }
            Text component = this.m_shareForm.GetWidget(0).GetComponent <Text>();

            component.set_text(this.m_curAchieveItem.Cfg.szName);
            Text component2 = this.m_shareForm.GetWidget(5).GetComponent <Text>();

            component2.set_text(this.m_curAchieveItem.GetAchievementDesc());
            Text component3 = this.m_shareForm.GetWidget(7).GetComponent <Text>();

            component3.set_text(this.m_curAchieveItem.GetAchievementTips());
            GameObject widget     = this.m_shareForm.GetWidget(6);
            Image      component4 = widget.GetComponent <Image>();

            component4.SetSprite(this.m_curAchieveItem.GetAchieveImagePath(), this.m_shareForm, true, false, false, false);
            GameObject widget2 = this.m_shareForm.GetWidget(18);

            CAchievementSystem.SetAchieveBaseIcon(widget2.transform, this.m_curAchieveItem, this.m_shareForm);
            Image      component5 = this.m_shareForm.GetWidget(20).GetComponent <Image>();
            GameObject widget3    = this.m_shareForm.GetWidget(12);
            GameObject widget4    = this.m_shareForm.GetWidget(19);
            Text       component6 = this.m_shareForm.GetWidget(11).GetComponent <Text>();
            Text       component7 = widget3.GetComponent <Text>();
            Text       component8 = this.m_shareForm.GetWidget(16).GetComponent <Text>();

            component5.SetSprite(this.m_curTrophyRewardInfo.GetTrophyImagePath(), this.m_shareForm, true, false, false, false);
            component8.set_text(string.Format("{0}/{1}", this.m_endPoint - trophyRewardInfoByIndex.MinPoint, trophyRewardInfoByIndex.GetPointStep()));
            component6.set_text(this.m_curTrophyRewardInfo.Cfg.dwTrophyLvl.ToString());
            if (masterAchieveInfo.GetWorldRank() == 0u)
            {
                widget4.CustomSetActive(true);
                widget3.CustomSetActive(false);
            }
            else
            {
                widget3.CustomSetActive(true);
                component7.set_text(masterAchieveInfo.GetWorldRank().ToString());
                widget4.CustomSetActive(false);
            }
            this.DoTrophyTween();
            Text component9 = this.m_shareForm.GetWidget(10).GetComponent <Text>();

            ShareSys.SetSharePlatfText(component9);
            if (CSysDynamicBlock.bSocialBlocked)
            {
                Transform transform = this.m_shareForm.transform.Find("Panel_ShareAchievement_Btn");
                if (transform != null)
                {
                    transform.gameObject.CustomSetActive(false);
                }
                Transform transform2 = this.m_shareForm.transform.Find("Panel_NewAchievement_Btn/Btn_Share");
                if (transform2 != null)
                {
                    transform2.gameObject.CustomSetActive(false);
                }
            }
        }
Exemplo n.º 15
0
        private void RefreshOverviewForm(CUIFormScript overviewForm = null)
        {
            if (overviewForm == null)
            {
                overviewForm = Singleton <CUIManager> .GetInstance().GetForm("UGUI/Form/System/Achieve/Form_Trophy_Overview.prefab");
            }
            if (overviewForm == null)
            {
                return;
            }
            CUIListScript component = overviewForm.GetWidget(1).GetComponent <CUIListScript>();

            if (component != null)
            {
                component.SetElementAmount(this.m_CurAchieveSeries.Count);
            }
            GameObject widget  = overviewForm.GetWidget(2);
            GameObject widget2 = overviewForm.GetWidget(3);
            GameObject widget3 = overviewForm.GetWidget(7);
            GameObject widget4 = overviewForm.GetWidget(8);
            GameObject widget5 = overviewForm.GetWidget(9);
            GameObject widget6 = overviewForm.GetWidget(10);
            GameObject widget7 = overviewForm.GetWidget(4);
            GameObject widget8 = overviewForm.GetWidget(5);
            GameObject widget9 = overviewForm.GetWidget(6);

            if (widget == null || widget2 == null || widget3 == null || widget4 == null || widget7 == null || widget8 == null || widget9 == null || widget5 == null || widget6 == null)
            {
                DebugHelper.Assert(false, "Some of Trophy overview form widgets is null");
                return;
            }
            Text          component2        = widget.GetComponent <Text>();
            Text          component3        = widget2.GetComponent <Text>();
            Image         component4        = widget6.GetComponent <Image>();
            Image         component5        = widget3.GetComponent <Image>();
            Text          component6        = widget4.GetComponent <Text>();
            CAchieveInfo2 masterAchieveInfo = CAchieveInfo2.GetMasterAchieveInfo();

            if (masterAchieveInfo.LastDoneTrophyRewardInfo != null)
            {
                component4.SetSprite(masterAchieveInfo.LastDoneTrophyRewardInfo.GetTrophyImagePath(), overviewForm, true, false, false, false);
            }
            component2.set_text((masterAchieveInfo.LastDoneTrophyRewardInfo == null) ? "0" : string.Format("{0}", masterAchieveInfo.LastDoneTrophyRewardInfo.Cfg.dwTrophyLvl));
            if (masterAchieveInfo.GetWorldRank() == 0u)
            {
                widget5.CustomSetActive(true);
                widget2.CustomSetActive(false);
            }
            else
            {
                widget5.CustomSetActive(false);
                widget2.CustomSetActive(true);
                component3.set_text(masterAchieveInfo.GetWorldRank().ToString());
            }
            uint num  = 0u;
            uint num2 = 0u;

            masterAchieveInfo.GetTrophyProgress(ref num, ref num2);
            CTrophyRewardInfo trophyRewardInfoByPoint = masterAchieveInfo.GetTrophyRewardInfoByPoint(num);
            CTrophyRewardInfo trophyRewardInfoByIndex = masterAchieveInfo.GetTrophyRewardInfoByIndex(trophyRewardInfoByPoint.Index + 1);

            component5.set_fillAmount(Utility.Divide(num - trophyRewardInfoByIndex.MinPoint, trophyRewardInfoByIndex.MaxPoint - trophyRewardInfoByIndex.MinPoint));
            component6.set_text(string.Format("{0}/{1}", num - trophyRewardInfoByIndex.MinPoint, trophyRewardInfoByIndex.MaxPoint - trophyRewardInfoByIndex.MinPoint));
            Text              component7 = widget7.GetComponent <Text>();
            CUIListScript     component8 = widget8.GetComponent <CUIListScript>();
            CUIEventScript    component9 = widget9.GetComponent <CUIEventScript>();
            CTrophyRewardInfo firstTrophyRewardInfoAwardNotGot = masterAchieveInfo.GetFirstTrophyRewardInfoAwardNotGot();

            if (firstTrophyRewardInfoAwardNotGot == null)
            {
                widget7.CustomSetActive(false);
                widget9.CustomSetActive(false);
                component8.SetElementAmount(0);
            }
            else
            {
                bool       flag          = false;
                CUseable[] trophyRewards = firstTrophyRewardInfoAwardNotGot.GetTrophyRewards();
                if (!firstTrophyRewardInfoAwardNotGot.HasGotAward() && firstTrophyRewardInfoAwardNotGot.IsFinish())
                {
                    flag = true;
                }
                widget7.CustomSetActive(true);
                component7.set_text(string.Format("{0}级奖励:", firstTrophyRewardInfoAwardNotGot.Cfg.dwTrophyLvl));
                component8.SetElementAmount(trophyRewards.Length);
                for (int i = 0; i < trophyRewards.Length; i++)
                {
                    CUIListElementScript elemenet = component8.GetElemenet(i);
                    CUICommonSystem.SetItemCell(overviewForm, elemenet.GetWidget(0), trophyRewards[i], false, false, false, false);
                }
                widget9.CustomSetActive(true);
                if (flag)
                {
                    CUICommonSystem.SetButtonEnableWithShader(widget9.GetComponent <Button>(), true, true);
                    component9.SetUIEvent(enUIEventType.Click, enUIEventID.Achievement_Get_Trophy_Reward, new stUIEventParams
                    {
                        tag = firstTrophyRewardInfoAwardNotGot.Index
                    });
                }
                else
                {
                    CUICommonSystem.SetButtonEnableWithShader(widget9.GetComponent <Button>(), false, true);
                }
            }
        }