少年修仙传客户端代码仓库
hch
2019-08-24 be88c90d385409c1ef0645b3a497ed341ddb531c
0312 烟火新优化
4个文件已修改
221 ■■■■ 已修改文件
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA14_tagMCXJSDRecharge.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairylandCeremony/CeremonyFirepartyWin.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairylandCeremony/FairylandCeremonyModel.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/BoxGetItemWin.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA14_tagMCXJSDRecharge.cs
@@ -3,15 +3,24 @@
// AA 14 仙界盛典充值大礼 #tagMCXJSDRecharge
public class HAA14_tagMCXJSDRecharge : GameNetPackBasic {
public class HAA14_tagMCXJSDRecharge : GameNetPackBasic
{
    public byte State;    //0-不可领 1-可领 2-已领取
    public uint CTGTotal;    //本次活动已累计充值,单位元
    public ushort FireworksBuyCount;    //已购买高级烟花数
    public uint FirewordsScore;    //当前累计所有烟花总积分
    public HAA14_tagMCXJSDRecharge () {
    public HAA14_tagMCXJSDRecharge()
    {
        _cmd = (ushort)0xAA14;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out State, vBytes, NetDataType.BYTE);
    public override void ReadFromBytes(byte[] vBytes)
    {
        TransBytes(out State, vBytes, NetDataType.BYTE);
        TransBytes(out CTGTotal, vBytes, NetDataType.DWORD);
        TransBytes(out FireworksBuyCount, vBytes, NetDataType.WORD);
        TransBytes(out FirewordsScore, vBytes, NetDataType.DWORD);
    }
}
}
System/FairylandCeremony/CeremonyFirepartyWin.cs
@@ -9,18 +9,26 @@
    public class CeremonyFirepartyWin : Window
    {
        [SerializeField] Button buyBtn;
        [SerializeField] Text buyPriceText;
        [SerializeField] Text remainTimeText;
        [SerializeField] CommonItemBaisc fireItem;
        [SerializeField] List<CommonItemBaisc> itemBaiscs = new List<CommonItemBaisc>();
        [SerializeField] Text buyPriceText;
        //增加至尊烟花
        [SerializeField] Button buyBtnZZ;
        [SerializeField] CommonItemBaisc fireItemZZ;
        [SerializeField] List<CommonItemBaisc> itemBaiscsZZ = new List<CommonItemBaisc>();
        [SerializeField] Text buyPriceTextZZ;
        [SerializeField] Text remainTimeText;
        [SerializeField] Text CntBuyZZCnt;
        List<FairylandCeremonyModel.AwardItem> itemlist;
        List<FairylandCeremonyModel.AwardItem> itemlistZZ;
        FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } }
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        StoreConfig storeConfig;
        StoreConfig storeConfigZZ;
        protected override void BindController()
        {
@@ -29,22 +37,26 @@
        protected override void AddListeners()
        {
            buyBtn.AddListener(ClickBuy);
            buyBtnZZ.AddListener(ClickBuyZZ);
        }
        protected override void OnPreOpen()
        {
            GlobalTimeEvent.Instance.secondEvent += RefreshSecond;
            ceremonyModel.RefreshRechargeStateAct += ShowBuyZZCnt;
            itemlist = ceremonyModel.GetFireAwardlist();
            itemlistZZ = ceremonyModel.GetFireAwardZZlist();
            Init();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            GlobalTimeEvent.Instance.secondEvent -= RefreshSecond;
            ceremonyModel.RefreshRechargeStateAct -= ShowBuyZZCnt;
        }
        protected override void OnAfterClose()
@@ -54,11 +66,18 @@
        private void Init()
        {
            InitFire();
            InitFireZZ();
            ShowBuyZZCnt();
            RefreshSecond();
        }
        private void InitFire()
        {
            storeConfig = ceremonyModel.GetFireIdByLv();
            if (storeConfig == null) return;
            buyPriceText.text = storeConfig.MoneyNumber.ToString();
            ItemCellModel fireModel = new ItemCellModel(storeConfig.ItemID,true,(ulong)storeConfig.ItemCnt);
            ItemCellModel fireModel = new ItemCellModel(storeConfig.ItemID, true, (ulong)storeConfig.ItemCnt);
            fireItem.Init(fireModel);
            fireItem.button.AddListener(() =>
            {
@@ -73,7 +92,7 @@
                {
                    itemBaiscs[i].gameObject.SetActive(true);
                    FairylandCeremonyModel.AwardItem itemData = itemlist[i];
                    ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true,(ulong)itemData.itemCount);
                    ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true, (ulong)itemData.itemCount);
                    itemBaiscs[i].Init(cellModel);
                    itemBaiscs[i].button.RemoveAllListeners();
                    itemBaiscs[i].button.AddListener(() =>
@@ -87,7 +106,54 @@
                }
            }
            RefreshSecond();
        }
        private void InitFireZZ()
        {
            storeConfigZZ = ceremonyModel.GetFireIdZZByLv();
            if (storeConfigZZ == null) return;
            buyPriceTextZZ.text = storeConfigZZ.MoneyNumber.ToString();
            ItemCellModel fireModel = new ItemCellModel(storeConfigZZ.ItemID, true, (ulong)storeConfigZZ.ItemCnt);
            fireItemZZ.Init(fireModel);
            fireItemZZ.button.AddListener(() =>
            {
                ItemTipUtility.Show(storeConfigZZ.ItemID);
            });
            if (itemlistZZ == null) return;
            for (int i = 0; i < itemBaiscsZZ.Count; i++)
            {
                if (i < itemlistZZ.Count)
                {
                    itemBaiscsZZ[i].gameObject.SetActive(true);
                    FairylandCeremonyModel.AwardItem itemData = itemlistZZ[i];
                    ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true, (ulong)itemData.itemCount);
                    itemBaiscsZZ[i].Init(cellModel);
                    itemBaiscsZZ[i].button.RemoveAllListeners();
                    itemBaiscsZZ[i].button.AddListener(() =>
                    {
                        ItemTipUtility.Show(itemData.itemId);
                    });
                }
                else
                {
                    itemBaiscsZZ[i].gameObject.SetActive(false);
                }
            }
        }
        private void ShowBuyZZCnt()
        {
            FuncConfigConfig fireAwardConfig = FuncConfigConfig.Get("CeremonyFireParty");
            int moneyPerCount = int.Parse(fireAwardConfig.Numerical3);
            int total = ceremonyModel.ctgTotal / moneyPerCount;
            if (total - ceremonyModel.fireworksBuyCount <= 0)
                CntBuyZZCnt.text = StringUtility.Contact("<color=#FF0000FF>", 0, "/", total, "</color>");
            else
                CntBuyZZCnt.text = StringUtility.Contact("<color=#00FF00FF>", total - ceremonyModel.fireworksBuyCount, "/", total, "</color>");
        }
        private void RefreshSecond()
@@ -112,6 +178,15 @@
            }
            storeModel.OnClickShopCell(storeConfig);
        }
        private void ClickBuyZZ()
        {
            if (playerPack.GetEmptyGridCount(PackType.Item) < 1)
            {
                SysNotifyMgr.Instance.ShowTip("BagFull");
                return;
            }
            storeModel.OnClickShopCell(storeConfigZZ);
        }
    }
}
System/FairylandCeremony/FairylandCeremonyModel.cs
@@ -12,11 +12,17 @@
        Dictionary<CeremonyType, Dictionary<int, List<int>>> typeLvDict = new Dictionary<CeremonyType, Dictionary<int, List<int>>>();
        Dictionary<int, List<AwardItem>> rechargeAwardDict = new Dictionary<int, List<AwardItem>>();
        public Dictionary<int, int> fireDict = new Dictionary<int, int>();
        public Dictionary<int, int> fireDictZZ = new Dictionary<int, int>();
        List<AllPeoplePartyConfig> allPeoples = new List<AllPeoplePartyConfig>();
        List<AllPeoplePartyAwardConfig> allPeopleAwards = new List<AllPeoplePartyAwardConfig>();
        Dictionary<int, Dictionary<int, List<AwardItem>>> jobToHiAwardDict = new Dictionary<int, Dictionary<int, List<AwardItem>>>();
        Dictionary<string, Dictionary<int, List<AwardItem>>> rankAwardDict = new Dictionary<string, Dictionary<int, List<AwardItem>>>();
        Dictionary<int,Dictionary<int,List<AwardItem>>> fireGiftsDict = new Dictionary<int, Dictionary<int, List<AwardItem>>>();
        Dictionary<int, Dictionary<int, List<AwardItem>>> fireGiftsZZDict = new Dictionary<int, Dictionary<int, List<AwardItem>>>();
        public int ctgTotal { get; private set; }
        public int fireworksBuyCount { get; private set; }
        public int score { get; private set; }
        public override void Init()
        {
            FuncConfigConfig lvConfig = FuncConfigConfig.Get("CeremonyWorldLv");
@@ -60,7 +66,8 @@
            JsonData fireData = JsonMapper.ToObject(fireConfig.Numerical1);
            foreach(var index in fireData.Keys)
            {
                fireDict.Add(int.Parse(index),int.Parse(fireData[index].ToString()));
                fireDict.Add(int.Parse(index), int.Parse(fireData[index][0].ToString()));
                fireDictZZ.Add(int.Parse(index), int.Parse(fireData[index][0].ToString()));
            }
            FuncConfigConfig fireAwardConfig = FuncConfigConfig.Get("CeremonyFireAward");
@@ -86,6 +93,30 @@
                }
               
            }
            // 至尊烟花的奖励
            JsonData fireAwardDataZZ = JsonMapper.ToObject(fireAwardConfig.Numerical2);
            foreach (var index in fireAwardDataZZ.Keys)
            {
                Dictionary<int, List<AwardItem>> jobFireAwardDict = new Dictionary<int, List<AwardItem>>();
                fireGiftsZZDict.Add(int.Parse(index), jobFireAwardDict);
                foreach (var job in fireAwardDataZZ[index].Keys)
                {
                    List<AwardItem> awardItems = new List<AwardItem>();
                    jobFireAwardDict.Add(int.Parse(job), awardItems);
                    if (fireAwardDataZZ[index][job].IsArray)
                    {
                        for (int i = 0; i < fireAwardDataZZ[index][job].Count; i++)
                        {
                            JsonData itemData = fireAwardDataZZ[index][job][i];
                            AwardItem item = new AwardItem(int.Parse(itemData[0].ToString()), int.Parse(itemData[1].ToString()),
                                int.Parse(itemData[2].ToString()));
                            awardItems.Add(item);
                        }
                    }
                }
            }
            allPeoples = AllPeoplePartyConfig.GetValues();
            allPeopleAwards = AllPeoplePartyAwardConfig.GetValues();
@@ -186,7 +217,12 @@
                    break;
            }
            if(RefreshRechargeStateAct != null)
            ctgTotal = (int)info.CTGTotal;
            fireworksBuyCount = info.FireworksBuyCount;
            score = (int)info.FirewordsScore;
            if (RefreshRechargeStateAct != null)
            {
                RefreshRechargeStateAct();
            }
@@ -313,6 +349,14 @@
            StoreConfig storeConfig = StoreConfig.Get(storeId);
            return storeConfig;
        }
        public StoreConfig GetFireIdZZByLv()
        {
            int index = GetWorldLvIndex(CeremonyType.Fire);
            int storeId = 0;
            fireDictZZ.TryGetValue(index, out storeId);
            StoreConfig storeConfig = StoreConfig.Get(storeId);
            return storeConfig;
        }
        public List<AwardItem> GetFireAwardlist()
        {
@@ -327,6 +371,20 @@
            return null;
        }
        public List<AwardItem> GetFireAwardZZlist()
        {
            int index = GetWorldLvIndex(CeremonyType.Fire);
            if (fireGiftsZZDict.ContainsKey(index))
            {
                if (fireGiftsZZDict[index].ContainsKey(PlayerDatas.Instance.baseData.Job))
                {
                    return fireGiftsZZDict[index][PlayerDatas.Instance.baseData.Job];
                }
            }
            return null;
        }
        public bool CheckIsBuyFireCondi(StoreConfig storeConfig,int buyNum = 1)
        {
            ulong price =(ulong)(storeConfig.MoneyNumber * buyNum);
System/KnapSack/Logic/BoxGetItemWin.cs
@@ -92,28 +92,35 @@
        private void UpdateFireEffect()
        {
            if (BoxModel.getItems == null) return;
            if (!fireEffect.IsPlaying)
            {
                fireEffect.Play();
                return;
            }
            bool isFireBox = false;
            foreach (var key in ceremonyModel.fireDict.Keys)
            {
                StoreConfig storeConfig = StoreConfig.Get(ceremonyModel.fireDict[key]);
                if (storeConfig != null)
                {
                    if (storeConfig.ItemID == BoxModel.itemId)
                    {
                        isFireBox = true;
                        if (!fireEffect.IsPlaying)
                        {
                            fireEffect.Play();
                            return;
                        }
                    }
                }
            }
            if (!isFireBox)
            {
                fireEffect.Stop();
            }
            //bool isFireBox = false;
            //foreach (var key in ceremonyModel.fireDict.Keys)
            //{
            //    StoreConfig storeConfig = StoreConfig.Get(ceremonyModel.fireDict[key]);
            //    if (storeConfig != null)
            //    {
            //        if (storeConfig.ItemID == BoxModel.itemId)
            //        {
            //            isFireBox = true;
            //            if (!fireEffect.IsPlaying)
            //            {
            //                fireEffect.Play();
            //                return;
            //            }
            //        }
            //    }
            //}
            //if (!isFireBox)
            //{
            //    fireEffect.Stop();
            //}
        }
        private void ShowUICtrl()