少年修仙传客户端代码仓库
Client_PangDeRong
2018-09-18 f293a7484f17baf6c6b156f4e5a719a532fbe1fc
1559 兑换码开发
5个文件已修改
137 ■■■■■ 已修改文件
System/FriendSystem/MailAllModel.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/AwardExchangeModel.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/ExchangeGetItemWin.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/ExchangeGetItemWin.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/ModelCenter.cs 1 ●●●● 补丁 | 查看 | 原始文档 | 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;
        }