| System/FriendSystem/MailAllModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/AwardExchangeModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/ExchangeGetItemWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/ExchangeGetItemWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/WindowBase/ModelCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/FriendSystem/MailAllModel.cs
@@ -62,6 +62,8 @@ get { return m_dailyModel ?? (m_dailyModel = ModelCenter.Instance.GetModel<DailyQuestModel>()); } } AwardExchangeModel exchangeModel { get { return ModelCenter.Instance.GetModel<AwardExchangeModel>(); } } public MailAllModel() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInit; @@ -158,12 +160,14 @@ if (mailModelDict.ContainsKey(mailModel.PackList[i].GUID)) { MailInfo info = mailModelDict[mailModel.PackList[i].GUID]; switch(GetMailType(info)) string mailTitle = GetMailTitle(info); if(mailTitle.Contains("<gcode>")) { case "CodeRewardMail": WindowCenter.Instance.Open<ExchangeGetItemWin>(); break; exchangeModel.SetAwardExchangeModel(info.Items); } else if(GetMailType(info) == "CodeRewardMail") { exchangeModel.SetAwardExchangeModel(info.Items); } } } @@ -428,6 +432,7 @@ } } mailTitleStr = mailTitleStr.Replace("<gcode>",""); } public string GetMailType(MailInfo info) @@ -444,6 +449,28 @@ return string.Empty; } public string GetMailTitle(MailInfo info) { if (smatch.IsMatch(info.Text)) { Match match = smatch.Match(info.Text); MailConfig _mailModel = Config.Instance.Get<MailConfig>(match.Groups[1].Value); if (_mailModel != null) { return _mailModel.Title; } } else { string[] mailContentArray = info.Text.Split(new string[] { "<$_$>" }, StringSplitOptions.RemoveEmptyEntries); if (mailContentArray.Length > 0) { return mailContentArray[1]; } } return string.Empty; } StringBuilder todayDailySB = new StringBuilder(); public string GetTodayDailyNotify(DateTime getTime) { System/Welfare/AwardExchangeModel.cs
@@ -7,8 +7,9 @@ { public class AwardExchangeModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk { public PlayerPackModel.DecomposeGetMatInfo[] getItems { get; private set; } public MailItemModel[] getItems { get; private set; } bool isLogin = true; public override void Init() { @@ -16,7 +17,7 @@ public void OnBeforePlayerDataInitialize() { isLogin = true; } public void OnAfterPlayerDataInitialize() @@ -26,12 +27,29 @@ public void OnPlayerLoginOk() { isLogin = false; } public override void UnInit() { } public void SetAwardExchangeModel(MailItemModel[] Items) { getItems = null; if (Items == null || isLogin) return; getItems = Items; if(!WindowCenter.Instance.CheckOpen<ExchangeGetItemWin>()) { WindowCenter.Instance.Open<ExchangeGetItemWin>(); } } public void ClearAwardExchangeModel() { getItems = null; } } } System/Welfare/ExchangeGetItemWin.cs
@@ -6,37 +6,31 @@ { public class ExchangeGetItemWin : Window { [SerializeField] GameObject getItemObj; [SerializeField] RectTransform getItemParent; [SerializeField] Button sureBtn; [SerializeField] List<CommonItemBaisc> itemBaiscs = new List<CommonItemBaisc>(); List<GameObject> GetItemlist = new List<GameObject>(); AwardExchangeModel exchange { get { return ModelCenter.Instance.GetModel<AwardExchangeModel>(); } } AwardExchangeModel exchangeModel { get { return ModelCenter.Instance.GetModel<AwardExchangeModel>(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } protected override void BindController() { } protected override void AddListeners() { sureBtn.AddListener(CloseClick); } protected override void OnPreOpen() { getItemObj.SetActive(false); CreateGetItem(); SetDisplayModel(); } protected override void OnAfterOpen() { transform.SetAsLastSibling(); } protected override void OnPreClose() { DestroyGetItemlist(); exchangeModel.ClearAwardExchangeModel(); } protected override void OnAfterClose() @@ -44,42 +38,33 @@ } private void CreateGetItem() private void SetDisplayModel() { GetItemlist.Clear(); if (exchange.getItems == null) return; if (exchangeModel == null) return; for (int i = 0; i < exchange.getItems.Length; i++) for(int i = 0; i < itemBaiscs.Count; i++) { GameObject item = Instantiate(getItemObj); PlayerPackModel.DecomposeGetMatInfo matInfo = exchange.getItems[i]; item.transform.SetParent(getItemParent); item.transform.localPosition = Vector3.zero; item.transform.localScale = Vector3.one; item.name = StringUtility.Contact("getItem",i); item.gameObject.SetActive(true); CommonItemBaisc itemBasic = item.transform.Find("CommonItemCell").GetComponent<CommonItemBaisc>(); ItemCellModel cellModel = new ItemCellModel(matInfo.ItemID, false, (ulong)matInfo.Count, matInfo.IsBind, "", PackType.rptDeleted, false, ConfigParse.Analysis(matInfo.UserData)); itemBasic.Init(cellModel); itemBasic.cellBtn.RemoveAllListeners(); itemBasic.cellBtn.AddListener(() => if(i < exchangeModel.getItems.Length) { ItemAttrData attrData = new ItemAttrData(matInfo.ItemID, false, (ulong)matInfo.Count, -1, matInfo.IsBind, false, PackType.rptDeleted, "", ConfigParse.Analysis(matInfo.UserData)); tipsModel.SetItemTipsModel(attrData); }); itemBasic.gameObject.SetActive(true); GetItemlist.Add(item); } } private void DestroyGetItemlist() { for (int i = 0; i < GetItemlist.Count; i++) { Destroy(GetItemlist[i]); MailItemModel itemModel = exchangeModel.getItems[i]; itemBaiscs[i].gameObject.SetActive(true); ItemCellModel cellModel = new ItemCellModel((int)itemModel.ItemID,false ,(ulong)itemModel.Count, itemModel.IsBind,"",PackType.rptDeleted, false,ConfigParse.Analysis(itemModel.UserData)); itemBaiscs[i].Init(cellModel); itemBaiscs[i].cellBtn.RemoveAllListeners(); itemBaiscs[i].cellBtn.AddListener(()=> { ItemAttrData attrData = new ItemAttrData((int)itemModel.ItemID, false , (ulong)itemModel.Count,-1,itemModel.IsBind,false, PackType.rptDeleted, "", ConfigParse.Analysis(itemModel.UserData)); tipsModel.SetItemTipsModel(attrData); }); } else { itemBaiscs[i].gameObject.SetActive(false); } } } System/Welfare/ExchangeGetItemWin.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: b88138dfb3783c34db741e9d6a847c2a timeCreated: 1531139769 guid: b367524e0821f67439d7c80ed1a0254f timeCreated: 1537257075 licenseType: Pro MonoImporter: serializedVersion: 2 System/WindowBase/ModelCenter.cs
@@ -194,6 +194,7 @@ RegisterModel<GodBeastModel>(); RegisterModel<PrayForDurgModel>(); RegisterModel<FeatureNoticeModel>(); RegisterModel<AwardExchangeModel>(); inited = true; }