//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, January 08, 2019 //-------------------------------------------------------- using EnhancedUI.EnhancedScroller; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; using System; namespace Snxxz.UI { [XLua.Hotfix] public class OpenServiceAchievementCell : ScrollerUI { [SerializeField] Text m_TextA; [SerializeField] Text m_TextB; [SerializeField] Text m_TextC; [SerializeField] Transform m_ItemList; [SerializeField] Button m_Btn; [SerializeField] Text m_BtnText; [SerializeField] GameObject m_Miss;//错过 [SerializeField] GameObject m_Reach;//未达成 [SerializeField] GameObject m_Draw;//已领取 OpenServiceAchievementModel model { get { return ModelCenter.Instance.GetModel(); } } ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel()); } } public override void Refresh(CellView cell) { int ID = cell.index; var config = Config.Instance.Get(ID); if (config==null||!model.WeekPartyDayInfoDic.ContainsKey(model.SelectedNow) || !model.WeekPartyActionDic.ContainsKey(ID)) { return; } var WeekPartyAction = model.WeekPartyActionDic[ID]; int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//已领奖次数 int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//已完成次数 int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes; if (number - rewardNum > 0) { m_TextA.text = Language.Get("OSA_1", (number - rewardNum)); } else { m_TextA.text = Language.Get("OSA_1", WeekPartyAction.SingleTimes); } m_TextB.text = string.Format(config.Description,1); m_TextC.text = Language.Get("OSA_1", WeekPartyAction.Point); for (int i = 0; i < m_ItemList.childCount; i++) { GameObject Obj = m_ItemList.GetChild(i).gameObject; ItemCell itemCell = Obj.GetComponent(); if (i < WeekPartyAction.WeekPartyItem.Length) { Obj.SetActive(true); var Item = WeekPartyAction.WeekPartyItem[i]; ItemCellModel cellModel = new ItemCellModel(Item.ItemID, true, (ulong)Item.ItemCnt, Item.IsBind); itemCell.Init(cellModel); itemCell.cellBtn.SetListener(() => { ItemAttrData attrData = new ItemAttrData(Item.ItemID, false, (ulong)Item.ItemCnt, -1, Item.IsBind); itemTipsModel.SetItemTipsModel(attrData); }); } else { Obj.SetActive(false); } } if (model.SelectedNow != model.DayNow) { if (model.SelectedNow > model.DayNow)//还未到达的天数 { m_Btn.gameObject.SetActive(false); m_Miss.SetActive(false); m_Reach.SetActive(false); m_Draw.SetActive(false); } else//已过的天数 { if (WeekPartyAction.SingleTimes > carryOutNum)//未到达 { m_Btn.gameObject.SetActive(false); m_Miss.SetActive(false); m_Reach.SetActive(true); m_Draw.SetActive(false); } else { if (rewardNum >= number)//已经领完 { m_Btn.gameObject.SetActive(false); m_Miss.SetActive(false); m_Reach.SetActive(false); m_Draw.SetActive(true); } else//还未领取 { m_Btn.gameObject.SetActive(true); m_BtnText.text = Language.Get("RealmPractice109");//领取 m_Miss.SetActive(false); m_Reach.SetActive(false); m_Draw.SetActive(false); m_Btn.SetListener(()=> { DebugEx.LogError("-----------------------------"); }); } } } } else//当前天 { if (WeekPartyAction.SingleTimes > carryOutNum)//未到达(前往) { m_Btn.gameObject.SetActive(true); m_BtnText.text = Language.Get("RealmPractice108");//前往 m_Miss.SetActive(false); m_Reach.SetActive(false); m_Draw.SetActive(false); m_Btn.SetListener(() => { WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.jump); }); } else { if (rewardNum >= number)//已经领完 { m_Btn.gameObject.SetActive(false); m_Miss.SetActive(false); m_Reach.SetActive(false); m_Draw.SetActive(true); } else//还未领取 { m_Btn.gameObject.SetActive(true); m_BtnText.text = Language.Get("RealmPractice109");//领取 m_Miss.SetActive(false); m_Reach.SetActive(false); m_Draw.SetActive(false); m_Btn.SetListener(() => { DebugEx.LogError("-----------------------------"); }); } } } } } }