Esempio n. 1
0
        public static bool ActivityCanGetReward(int activityid, IDictionary activitydata)
        {
            bool state = false;

            if (activitydata == null)
            {
                return(state);
            }
            int current = EB.Dot.Integer("current", activitydata, 0);

            if (activityid / 1000 == 1)
            {
                return(false);
            }
            List <Hotfix_LT.Data.TimeLimitActivityStageTemplate> stages = Hotfix_LT.Data.EventTemplateManager.Instance.GetTimeLimitActivityStages(activityid);

            for (int i = 0; i < stages.Count; i++)
            {
                Hotfix_LT.Data.TimeLimitActivityStageTemplate stage = stages[i];
                int had = EB.Dot.Integer("stages." + stage.id, activitydata, 0);
                if (current >= stage.stage && stage.num > had)
                {
                    state = true;
                    break;
                }
            }
            return(state);
        }
Esempio n. 2
0
        protected override void UpdateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage, int data)
        {
            if (stage == null)
            {
                return;
            }

            int       stageid = stage.id;
            Hashtable activityData;

            DataLookupsCache.Instance.SearchDataByID("tl_acs." + activity_id, out activityData);
            UILabel realmNumLabel = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/TotleTimesLabel", stageid)).GetComponent <UILabel>();
            int     rewardgot     = 0;
            int     selfgot       = EB.Dot.Integer(string.Format("stages.{0}", stageid), activityData, 0);
            int     TotleNum      = 1;

            if (stage.realm_num > 0)//服务器公共可领取次数
            {
                TotleNum  = stage.realm_num;
                rewardgot = EB.Dot.Integer(string.Format("realm_num.{0}", stageid), activityData, 0);
                realmNumLabel.gameObject.CustomSetActive(true);
                realmNumLabel.text = string.Format(EB.Localizer.GetString("ID_ACTIVITY_REALM_CHALLENGE_NUM"), TotleNum - rewardgot);
            }
            int score = EB.Dot.Integer("total", activityData, 0);

            if (score >= stage.stage && (rewardgot >= TotleNum || selfgot > 0))
            {
                SetButtonToReceived(stageid, (selfgot > 0) ? null : EB.Localizer.GetString("ID_FINISHED"));
            }
        }
Esempio n. 3
0
        protected override void CreateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage)
        {
            int       stageid  = stage.stage;
            var       rewards  = stage.reward_items;
            Transform itemRoot = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}", stageid));

            if (itemRoot == null)
            {
                var     item = UIControllerHotfix.InstantiateEx(RewardTemplate, RewardTemplate.transform.parent, stageid.ToString());
                UILabel hint = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/HintLabel", stageid)).GetComponent <UILabel>();
                hint.text = EB.Localizer.GetString(string.Format("ID_ACTIVITY_TURNTABLE_{0}", stageid));
            }
            UIGrid    GiftGrid = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/GiftGrid", stageid)).GetComponent <UIGrid>();
            Hashtable activityData;

            DataLookupsCache.Instance.SearchDataByID("tl_acs." + activity_id, out activityData);
            int hasGet = EB.Dot.Integer(string.Format("stages.{0}", stage.id), activityData, 0);

            for (var i = 0; i < rewards.Count; i++)
            {
                var rewardItem = UIControllerHotfix.InstantiateEx <LTShowItem>(ItemTemplate, GiftGrid.transform, stage.id.ToString());
                rewardItem.LTItemData = new LTShowItemData(rewards[i].id, rewards[i].quantity, rewards[i].type, false);
                rewardItem.mDMono.transform.Find("HasGet").gameObject.CustomSetActive(hasGet > 0);
            }
            GiftGrid.Reposition();
        }
Esempio n. 4
0
 public TimeActivityExchangeTypeScrollItemData()
 {
     id             = 0;
     sort           = 0;
     had            = 0;
     stage_template = null;
     current        = 0;
     total          = 0;
 }
Esempio n. 5
0
 private Hotfix_LT.Data.TimeLimitActivityStageTemplate FindStageTpl(List <Hotfix_LT.Data.TimeLimitActivityStageTemplate> datas, int stage)
 {
     Hotfix_LT.Data.TimeLimitActivityStageTemplate data = new Hotfix_LT.Data.TimeLimitActivityStageTemplate();
     for (int i = 0; i < datas.Count; i++)
     {
         if (datas[i].stage == stage)
         {
             data = datas[i]; break;
         }
     }
     return(data);
 }
Esempio n. 6
0
        void InitItems()
        {
            if (curIdc == LTWelfareModel.Instance.ComeBackLoginDayCount)
            {
                return;
            }
            curIdc        = LTWelfareModel.Instance.ComeBackLoginDayCount;
            DayLabel.text = string.Format(EB.Localizer.GetString("ID_WELFARE_QIRI_LEIJI"), curIdc);
            List <Hotfix_LT.Data.TimeLimitActivityStageTemplate> stages = Hotfix_LT.Data.EventTemplateManager.Instance.GetTimeLimitActivityStages(LTWelfareModel.ComeBackActivityID);

            for (int i = 0; i < Items.Count; ++i)
            {
                Hotfix_LT.Data.TimeLimitActivityStageTemplate data = FindStageTpl(stages, i + 1);
                List <LTShowItemData> itemDatas = new List <LTShowItemData>();
                eReceiveState         state     = eReceiveState.cannot;
                if (data != null && data.reward_items != null)
                {
                    for (int j = 0; j < data.reward_items.Count; j++)
                    {
                        string id    = data.reward_items[j].id.ToString();
                        int    count = data.reward_items[j].quantity;
                        string type  = data.reward_items[j].type;
                        itemDatas.Add(new LTShowItemData(id, count, type, false));
                    }
                    if (i + 1 <= curIdc)
                    {
                        if (GetReceiveState(i + 1))
                        {
                            state = eReceiveState.have;
                        }
                        else
                        {
                            state = eReceiveState.can;
                        }
                    }
                    else
                    {
                        state = eReceiveState.cannot;
                    }
                }
                Items[i].SetUI(new RewardStageData(data.id, i + 1, itemDatas, state), LTWelfareSevenDayAwardItem.ItemType.ComeBack);
            }
        }
Esempio n. 7
0
        public override void SetData(object netData)
        {
            base.SetData(netData);
            //
            Items = new List <LTWelfareSevenDayAwardItem>();
            DynamicMonoILR[] items = mDMono.transform.Find("GiftGrid").GetComponentsInChildren <DynamicMonoILR>();
            for (int i = 0; i < items.Length; i++)
            {
                LTWelfareSevenDayAwardItem temp = items[i]._ilrObject as LTWelfareSevenDayAwardItem;
                if (temp != null)
                {
                    Items.Add(temp);
                    temp.mDMono.gameObject.SetActive(false);
                }
            }
            //
            int ActivityId = EB.Dot.Integer("activity_id", netData, 0);
            //
            Hashtable activityData;

            DataLookupsCache.Instance.SearchDataByID("tl_acs." + ActivityId, out activityData);
            int LoginDayCount = EB.Dot.Integer("total", activityData, 0);
            //获取相应连续几日活动的配置数据
            List <Hotfix_LT.Data.TimeLimitActivityStageTemplate> stages = Hotfix_LT.Data.EventTemplateManager.Instance.GetTimeLimitActivityStages(ActivityId);

            for (int i = 0; i < Items.Count; ++i)
            {
                if (stages.Count > i)
                {
                    Hotfix_LT.Data.TimeLimitActivityStageTemplate data = FindStageTpl(stages, i + 1);
                    List <LTShowItemData> itemDatas = new List <LTShowItemData>();
                    eReceiveState         state     = eReceiveState.cannot;
                    if (data != null && data.reward_items != null)
                    {
                        for (int j = 0; j < data.reward_items.Count; j++)
                        {
                            string id    = data.reward_items[j].id.ToString();
                            int    count = data.reward_items[j].quantity;
                            string type  = data.reward_items[j].type;
                            itemDatas.Add(new LTShowItemData(id, count, type, false));
                        }
                        if (i + 1 <= LoginDayCount)
                        {
                            if (GetReceiveState(stages[i].id, activityData))
                            {
                                state = eReceiveState.have;
                            }
                            else
                            {
                                state = eReceiveState.can;
                            }
                        }
                        else
                        {
                            state = eReceiveState.cannot;
                        }
                    }
                    Items[i].SetUI(new RewardStageData(stages[i].id, stages[i].activity_id, stages[i].stage, itemDatas, state), LTWelfareSevenDayAwardItem.ItemType.Activity);
                    Items[i].mDMono.gameObject.SetActive(true);
                }
            }
            //GiftGrid.Reposition();
            SetItemsPos(stages.Count);
        }
Esempio n. 8
0
 protected override void UpdateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage, int data)
 {
 }
Esempio n. 9
0
        public override void Fill(TimeActivityExchangeTypeScrollItemData itemData)
        {
            if (itemData == null)
            {
                Clean();
                return;
            }
            Data = itemData;
            Hotfix_LT.Data.TimeLimitActivityStageTemplate stagetpl = Data.stage_template;
            if (stagetpl == null)
            {
                return;
            }
            if (m_StageLabel != null)
            {
                m_StageLabel.text = string.Format(EB.Localizer.GetString("ID_LEVEL_FORMAT"), stagetpl.stage.ToString());
            }
            int rewardcount = stagetpl.reward_items.Count;

            for (int i = 0; i < m_ShowItems.Count; i++)
            {
                if (rewardcount > i)
                {
                    var item = stagetpl.reward_items[i];
                    m_ShowItems[i].LTItemData = new LTShowItemData(item.id, item.quantity, item.type, false);
                    m_ShowItems[i].mDMono.gameObject.SetActive(true);
                }
                else
                {
                    m_ShowItems[i].mDMono.gameObject.SetActive(false);
                }
            }

            if (stagetpl == null)
            {
                return;
            }
            if (Data.total < stagetpl.stage)
            {
                if (Data.current < stagetpl.stage)
                {
                    m_ExchangeButton.transform.GetComponent <UISprite>().color      = new Color(1, 0, 1);
                    m_ExchangeButton.transform.GetComponent <UISprite>().spriteName = "Ty_Button_2";
                    m_ExchangeButton.isEnabled = false;
                    if (m_StageLabel != null)
                    {
                        m_ExchangeButtonLabel.text = EB.Localizer.GetString("ID_BUTTON_LABEL_PULL");
                    }
                }
                else
                {
                    m_ExchangeButton.transform.GetComponent <UISprite>().color      = new Color(1, 1, 1);
                    m_ExchangeButton.transform.GetComponent <UISprite>().spriteName = "Ty_Button_3";
                    m_ExchangeButton.isEnabled = true;
                    if (m_StageLabel != null)
                    {
                        m_ExchangeButtonLabel.text = EB.Localizer.GetString("ID_BUTTON_LABEL_PULL");
                    }
                }
                return;
            }
            else
            {
                if (Data.had == 0)
                {
                    m_ExchangeButton.transform.GetComponent <UISprite>().color      = new Color(1, 1, 1);
                    m_ExchangeButton.transform.GetComponent <UISprite>().spriteName = "Ty_Button_3";
                    m_ExchangeButton.isEnabled = true;
                    if (m_StageLabel != null)
                    {
                        m_ExchangeButtonLabel.text = EB.Localizer.GetString("ID_BUTTON_LABEL_PULL");
                    }
                }
                else if (Data.had == 1 && isOpen)
                {
                    //额外机会
                    m_ExchangeButton.transform.GetComponent <UISprite>().color      = new Color(1, 1, 1);
                    m_ExchangeButton.transform.GetComponent <UISprite>().spriteName = LTChargeManager.Instance.IsSilverVIP() ? "Ty_Button_3" : "Ty_Button_2";
                    m_ExchangeButton.isEnabled = true;
                    if (m_StageLabel != null)
                    {
                        m_ExchangeButtonLabel.text = EB.Localizer.GetString("ID_BUTTON_LABEL_PULL_MORE");
                    }
                }
                else
                {
                    m_ExchangeButton.transform.GetComponent <UISprite>().color      = new Color(1, 0, 1);
                    m_ExchangeButton.transform.GetComponent <UISprite>().spriteName = "Ty_Button_2";
                    m_ExchangeButton.isEnabled = false;
                    if (m_StageLabel != null)
                    {
                        m_ExchangeButtonLabel.text = EB.Localizer.GetString("ID_BUTTON_LABEL_HAD_PULL");
                    }
                }
                mDMono.gameObject.CustomSetActive(true);
            }
        }
Esempio n. 10
0
        protected override void CreateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage)
        {
            int    stageid  = stage.id;
            var    rewards  = stage.reward_items;
            var    item     = UIControllerHotfix.InstantiateEx(RewardTemplate, RewardTemplate.transform.parent, stageid.ToString());
            UIGrid GiftGrid = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/GiftGrid", stageid)).GetComponent <UIGrid>();

            Hashtable activityData;

            DataLookupsCache.Instance.SearchDataByID("tl_acs." + activity_id, out activityData);

            for (var i = 0; i < rewards.Count; i++)
            {
                var rewardItem = UIControllerHotfix.InstantiateEx <LTShowItem>(ItemTemplate, GiftGrid.transform, i.ToString());
                rewardItem.LTItemData = new LTShowItemData(rewards[i].id, rewards[i].quantity, rewards[i].type, false);
            }
            GiftGrid.Reposition();

            int score = EB.Dot.Integer("total", activityData, 0);

            UIButton btn           = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/ReceiveButton", stageid)).GetComponent <UIButton>();
            UILabel  hint          = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/HintLabel", stageid)).GetComponent <UILabel>();
            UILabel  progress      = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/ProgressLabel", stageid)).GetComponent <UILabel>();
            UILabel  realmNumLabel = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/TotleTimesLabel", stageid)).GetComponent <UILabel>();

            if (score >= stage.stage)
            {
                btn.gameObject.CustomSetActive(true);
                hint.gameObject.CustomSetActive(false);
                progress.gameObject.CustomSetActive(false);

                int rewardgot = 0;
                int selfgot   = EB.Dot.Integer(string.Format("stages.{0}", stageid), activityData, 0);
                int TotleNum  = 1;
                if (stage.realm_num > 0)//服务器公共可领取次数
                {
                    TotleNum  = stage.realm_num;
                    rewardgot = EB.Dot.Integer(string.Format("realm_num.{0}", stageid), activityData, 0);
                    realmNumLabel.gameObject.CustomSetActive(true);
                    realmNumLabel.text = string.Format(EB.Localizer.GetString("ID_ACTIVITY_REALM_CHALLENGE_NUM"), TotleNum - rewardgot);
                }
                else
                {
                    TotleNum  = stage.num;
                    rewardgot = selfgot;
                    realmNumLabel.gameObject.CustomSetActive(false);
                }

                if (rewardgot >= TotleNum || selfgot > 0)
                {
                    SetButtonToReceived(stageid, (selfgot > 0) ? null : EB.Localizer.GetString("ID_FINISHED"));
                }
                else
                {
                    UILabel btnlabel = mDMono.transform.Find(string.Format("ScrollView/Placeholder/Grid/{0}/ReceiveButton/Label", stageid)).GetComponent <UILabel>();
                    btnlabel.text = EB.Localizer.GetString("ID_BUTTON_LABEL_PULL");
                    int curRealmNum = stage.realm_num;
                    btn.onClick.Add(
                        new EventDelegate(GetReward(stageid,
                                                    delegate() { SetButtonToReceived(stageid); },
                                                    delegate()
                    {
                        UpdateAllSubItem(0);
                    })));
                }
            }
            else
            {
                btn.gameObject.CustomSetActive(false);
                hint.gameObject.CustomSetActive(true);
                progress.gameObject.CustomSetActive(true);
                Hotfix_LT.Data.TimeLimitActivityTemplate activity = Hotfix_LT.Data.EventTemplateManager.Instance.GetTimeLimitActivity(activity_id);

                if (stage.activity_id == 2001 || stage.activity_id >= 6501 && stage.activity_id <= 6505)//累计充值
                {
                    if (activity.title != null)
                    {
                        hint.text = string.Format(activity.title, (float)stage.stage / 100);
                    }
                    progress.text = string.Format("({0}/{1})", (float)score / 100, (float)stage.stage / 100);
                }
                //else if (stage.activity_id == 6506)//副本活动//改用大层后不再需要处理
                //{
                //    var data = SceneTemplateManager.Instance.GetLostChallengeChapterById(stage.stage);
                //    var data2 = SceneTemplateManager.Instance.GetLostChallengeChapterById(score);
                //    if (activity.title != null) hint.text = string.Format(activity.title, data.CurChapter);
                //    progress.text = string.Format("({0}/{1})", (data2 == null ? 0 : (data2.CurChapter - (data2.IsBoss ? 0 : 1))), data.CurChapter);
                //}
                else
                {
                    if (activity.title != null)
                    {
                        hint.text = string.Format(activity.title, stage.stage);
                    }
                    progress.text = string.Format("({0}/{1})", score, stage.stage);
                }
                if (stage.realm_num > 0)//服务器公共可领取次数
                {
                    int rewardgot = 0;
                    int TotleNum  = 1;
                    TotleNum  = stage.realm_num;
                    rewardgot = EB.Dot.Integer(string.Format("realm_num.{0}", stageid), activityData, 0);
                    realmNumLabel.gameObject.CustomSetActive(true);
                    realmNumLabel.text = string.Format(EB.Localizer.GetString("ID_ACTIVITY_REALM_CHALLENGE_NUM"), TotleNum - rewardgot);
                }
            }
        }
Esempio n. 11
0
 protected abstract void UpdateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage, int data);
Esempio n. 12
0
 protected abstract void CreateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage);