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); }
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")); } }
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(); }
public TimeActivityExchangeTypeScrollItemData() { id = 0; sort = 0; had = 0; stage_template = null; current = 0; total = 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); }
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); } }
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); }
protected override void UpdateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage, int data) { }
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); } }
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); } } }
protected abstract void UpdateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage, int data);
protected abstract void CreateSubItem(Hotfix_LT.Data.TimeLimitActivityStageTemplate stage);