| Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA14_tagMCXJSDRecharge.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairylandCeremony/CeremonyFirepartyWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairylandCeremony/FairylandCeremonyModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/BoxGetItemWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | 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()