Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -213,6 +213,8 @@ Register(typeof(HC005_tagGCCrossRealmPKBillboardInfo), typeof(DTCC005_tagGCCrossRealmPKBillboardInfo)); Register(typeof(HC006_tagGCCrossRealmPKSeasonState), typeof(DTCC006_tagGCCrossRealmPKSeasonState)); Register(typeof(HA815_tagMCZhuXianDecomposeResult), typeof(DTCA815_tagMCZhuXianDecomposeResult)); Register(typeof(HAA1F_tagMCLuckyTreasureInfo), typeof(DTCAA1F_tagMCLuckyTreasureInfo)); Register(typeof(HAA1E_tagMCLuckyTreasureResultInfo), typeof(DTCAA1E_tagMCLuckyTreasureResultInfo)); #region 背包 Register(typeof(H0724_tagRolePackCanUseCount), typeof(DTC0724_tagRolePackCanUseCount)); Core/NetworkPackage/ClientPack/ClientToMapServer/CAA SaleActivity/CAA08_tagCMStartLuckyTreasure.cs
New file @@ -0,0 +1,16 @@ using UnityEngine; using System.Collections; // AA 08 开始幸运鉴宝 #tagCMStartLuckyTreasure public class CAA08_tagCMStartLuckyTreasure : GameNetPackBasic { public CAA08_tagCMStartLuckyTreasure () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xAA08; } public override void WriteToBytes () { } } Core/NetworkPackage/ClientPack/ClientToMapServer/CAA SaleActivity/CAA08_tagCMStartLuckyTreasure.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 225d2cb7faa21894990324cc70551fc9 timeCreated: 1550036943 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1E_tagMCLuckyTreasureResultInfo.cs
New file @@ -0,0 +1,19 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // AA 1E 幸运鉴宝结果信息 #tagMCLuckyTreasureResultInfo public class DTCAA1E_tagMCLuckyTreasureResultInfo : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HAA1E_tagMCLuckyTreasureResultInfo vNetData = vNetPack as HAA1E_tagMCLuckyTreasureResultInfo; ModelCenter.Instance.GetModel<LuckyTreasureModel>().UpdateLuckyTreasureResult(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1E_tagMCLuckyTreasureResultInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 2bcf78c754cc56f429694d6f8fd9f3c0 timeCreated: 1550036943 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1F_tagMCLuckyTreasureInfo.cs
New file @@ -0,0 +1,19 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // AA 1F 幸运鉴宝活动信息 #tagMCLuckyTreasureInfo public class DTCAA1F_tagMCLuckyTreasureInfo : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HAA1F_tagMCLuckyTreasureInfo vNetData = vNetPack as HAA1F_tagMCLuckyTreasureInfo; OperationTimeHepler.Instance.UpdateLuckyTreasure(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1F_tagMCLuckyTreasureInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 73e9ffc8024789740a625c583b4cd026 timeCreated: 1550036944 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1E_tagMCLuckyTreasureResultInfo.cs
New file @@ -0,0 +1,25 @@ using UnityEngine; using System.Collections; // AA 1E 幸运鉴宝结果信息 #tagMCLuckyTreasureResultInfo public class HAA1E_tagMCLuckyTreasureResultInfo : GameNetPackBasic { public ushort LuckyPoint; // 当前幸运点 public byte HasFree; // 是否免费过 public uint ItemID; // 物品ID public ushort ItemCnt; //物品数量 public byte IsBind; // 是否绑定 public HAA1E_tagMCLuckyTreasureResultInfo () { _cmd = (ushort)0xAA1E; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out LuckyPoint, vBytes, NetDataType.WORD); TransBytes (out HasFree, vBytes, NetDataType.BYTE); TransBytes (out ItemID, vBytes, NetDataType.DWORD); TransBytes (out ItemCnt, vBytes, NetDataType.WORD); TransBytes (out IsBind, vBytes, NetDataType.BYTE); } } Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1E_tagMCLuckyTreasureResultInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: c5a095dc04a8c324fb1a80f21d824b47 timeCreated: 1550036944 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1F_tagMCLuckyTreasureInfo.cs
New file @@ -0,0 +1,41 @@ using UnityEngine; using System.Collections; // AA 1F 幸运鉴宝活动信息 #tagMCLuckyTreasureInfo public class HAA1F_tagMCLuckyTreasureInfo : GameNetPackBasic { public string StartDate; // 开始日期 y-m-d public string EndtDate; // 结束日期 y-m-d public byte ResetType; // 重置类型,0-0点重置;1-5点重置 public ushort LimitLV; // 限制等级 public ushort LuckyPoint; // 总幸运值 public ushort Count; // 物品数 public tagMCLuckyTreasureItem[] ItemList; // 随机库物品信息 public HAA1F_tagMCLuckyTreasureInfo () { _cmd = (ushort)0xAA1F; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out StartDate, vBytes, NetDataType.Chars, 10); TransBytes (out EndtDate, vBytes, NetDataType.Chars, 10); TransBytes (out ResetType, vBytes, NetDataType.BYTE); TransBytes (out LimitLV, vBytes, NetDataType.WORD); TransBytes (out LuckyPoint, vBytes, NetDataType.WORD); TransBytes (out Count, vBytes, NetDataType.WORD); ItemList = new tagMCLuckyTreasureItem[Count]; for (int i = 0; i < Count; i ++) { ItemList[i] = new tagMCLuckyTreasureItem(); TransBytes (out ItemList[i].ItemID, vBytes, NetDataType.DWORD); TransBytes (out ItemList[i].ItemCnt, vBytes, NetDataType.WORD); TransBytes (out ItemList[i].IsBind, vBytes, NetDataType.BYTE); } } public struct tagMCLuckyTreasureItem { public uint ItemID; // 物品ID public ushort ItemCnt; // 物品数量 public byte IsBind; // 是否绑定 } } Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1F_tagMCLuckyTreasureInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: b7f45b59365fc6848935aa59177a83a2 timeCreated: 1550036944 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/OpenServerActivity/AutoTreasureAwardsRow.cs
@@ -9,24 +9,27 @@ { [SerializeField] List<AwardItem> awardItems = new List<AwardItem>(); LuckyTreasureModel luckyTreasureModel { get { return ModelCenter.Instance.GetModel<LuckyTreasureModel>(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } public void SetDisplay(int row,int sum) public void SetDisplay(int row) { int length = awardItems.Count; var autoLuckyItems = luckyTreasureModel.autoLuckyItems; for(int i = 0; i < length; i++) { var awardItem = awardItems[i]; int index = awardItems.Count * row + i; if(index < sum) if(index < autoLuckyItems.Count) { awardItem.itemObj.SetActive(true); ItemCellModel itemCellModel = new ItemCellModel(10101, true); var luckyItem = autoLuckyItems[index]; ItemCellModel itemCellModel = new ItemCellModel(luckyItem.itemId,false,(ulong)luckyItem.itemCount,luckyItem.isBind); awardItem.itemBaisc.Init(itemCellModel); awardItem.itemBaisc.cellBtn.RemoveAllListeners(); awardItem.itemBaisc.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(10101, true); ItemAttrData attrData = new ItemAttrData(luckyItem.itemId, false, (ulong)luckyItem.itemCount,-1,luckyItem.isBind); tipsModel.SetItemTipsModel(attrData); }); System/OpenServerActivity/AutomaticTreasureWin.cs
@@ -16,8 +16,8 @@ LuckyTreasureModel luckyTreasureModel { get { return ModelCenter.Instance.GetModel<LuckyTreasureModel>(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } int length = 13; List<AutoTreasureAwardsRow> awardsRows = new List<AutoTreasureAwardsRow>(); #region Built-in protected override void BindController() { @@ -31,6 +31,7 @@ protected override void OnPreOpen() { luckyTreasureModel.UpdateLuckyResultEvent += UpdateLuckyResult; SetDisplay(); } @@ -41,6 +42,8 @@ protected override void OnPreClose() { luckyTreasureModel.isAutoLuckyTreasure = false; luckyTreasureModel.UpdateLuckyResultEvent -= UpdateLuckyResult; OnDestroyAwardsRow(); } protected override void OnAfterClose() @@ -53,6 +56,40 @@ { awardsRows.Clear(); UpdateAwardsItem(); UpdateLuckyTreasureState(); } private void UpdateLuckyResult() { UpdateAwardsItem(); } private void UpdateLuckyTreasureState() { treasureBtn.RemoveAllListeners(); if (luckyTreasureModel.isAutoLuckyTreasure) { treasureBtn_Text.text = Language.Get("LuckyTreasure104"); treasureBtn.AddListener(ClickStopLuckyTreasure); } else { treasureBtn_Text.text = Language.Get("LuckyTreasure105"); treasureBtn.AddListener(ClickLuckyTreasure); } } private void ClickStopLuckyTreasure() { luckyTreasureModel.isAutoLuckyTreasure = false; UpdateLuckyTreasureState(); } private void ClickLuckyTreasure() { luckyTreasureModel.isAutoLuckyTreasure = true; luckyTreasureModel.SendStartLuckyTreasure(); UpdateLuckyTreasureState(); } private void UpdateAwardsItem() @@ -61,14 +98,15 @@ for(int i = 0; i < awardsRows.Count; i++) { var treasureAwardsRow = awardsRows[i]; treasureAwardsRow.SetDisplay(i,length); treasureAwardsRow.SetDisplay(i); } } private void CreateAwardsRow() { int row = length /10; if(length % 10 > 0) var autoLuckyItems = luckyTreasureModel.autoLuckyItems; int row = autoLuckyItems.Count / 10; if(autoLuckyItems.Count % 10 > 0) { row += 1; } System/OpenServerActivity/LuckyAwardsGroup.cs
@@ -10,25 +10,26 @@ { [SerializeField] List<AwardCell> awardCells = new List<AwardCell>(); ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } LuckyTreasureModel luckyTreasureModel { get { return ModelCenter.Instance.GetModel<LuckyTreasureModel>(); } } public override void Refresh(CellView cell) { int length = awardCells.Count; var treasureItems = luckyTreasureModel.GetOperation().luckTreasureItems; for (int i = 0; i < length; i++) { var awardCell = awardCells[i]; int index = cell.index * length + i; List<int> awardIds = null; if(index < awardIds.Count) if(index < treasureItems.Count) { int awardId = awardIds[i]; var treasureItem = treasureItems[index]; awardCell.itemBaisc.gameObject.SetActive(true); ItemCellModel itemCellModel = new ItemCellModel(awardId, true); ItemCellModel itemCellModel = new ItemCellModel(treasureItem.itemId,false,(ulong)treasureItem.itemCount,treasureItem.isBind); awardCell.itemBaisc.Init(itemCellModel); awardCell.itemBaisc.cellBtn.RemoveAllListeners(); awardCell.itemBaisc.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(awardId, true); ItemAttrData attrData = new ItemAttrData(treasureItem.itemId, false, (ulong)treasureItem.itemCount,-1,treasureItem.isBind); tipsModel.SetItemTipsModel(attrData); }); } System/OpenServerActivity/LuckyResultInfo.cs
@@ -3,6 +3,7 @@ using EnhancedUI.EnhancedScroller; using System; using System.Collections.Generic; using TableConfig; namespace Snxxz.UI @@ -15,8 +16,17 @@ public override void Refresh(CellView cell) { string info = luckyTreasureModel.resultInfolist[cell.index]; infoText.text = info; string playerName = luckyTreasureModel.resultInfolist[cell.index]; OperationLuckyTreasure.LuckyTreasureItem luckyItem = null; luckyTreasureModel.GetOperation().TryGetLuckBigAward(out luckyItem); string treasureDes = string.Empty; if(luckyItem != null) { var itemConfig = Config.Instance.Get<ItemConfig>(luckyItem.itemId); treasureDes = StringUtility.Contact(itemConfig,"x",luckyItem.itemCount); treasureDes = UIHelper.AppendStringColor(itemConfig.ItemColor,treasureDes); } infoText.text = Language.Get("LuckyTreasure106",playerName,treasureDes); } } } System/OpenServerActivity/LuckyTreasureModel.cs
@@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using TableConfig; namespace Snxxz.UI { @@ -9,49 +10,64 @@ [XLua.LuaCallCSharp] public class LuckyTreasureModel : Model, IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk, IOpenServerActivity { public string resultInfoLocalSave { get; private set; } public List<string> resultInfolist { get; private set; } public event Action<int> onStateUpate; private bool isLogin = true; public bool isAutoLuckyTreasure = false; public override void Init() { ParseFuncConfig(); DTCA003_tagUniversalGameRecInfo.onGetUniversalGameInfo += UpdateLuckyMessage; OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent; OpenServerActivityCenter.Instance.Register((int)OpenServerActivityCenter.OSActivityType.LuckyTreasure, this); maxLuckValue = 600; curLuckValue = 300; } public void OnBeforePlayerDataInitialize() { autoLuckyItems.Clear(); isAutoLuckyTreasure = false; curLuckValue = 0; curLuckyItem = null; resultInfolist.Clear(); isLogin = true; } public void OnAfterPlayerDataInitialize() { int playerId = (int)PlayerDatas.Instance.baseData.PlayerID; resultInfoLocalSave = StringUtility.Contact("LuckyTreasureResult", playerId); GetLocalSaveData(); } public void OnPlayerLoginOk() { isLogin = false; } public override void UnInit() { DTCA003_tagUniversalGameRecInfo.onGetUniversalGameInfo -= UpdateLuckyMessage; OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent; OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent; } public bool IsOpen { get { return false; } } public bool IsOpen { get { return OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.LuckyTreasure); } } public bool IsAdvance { get { return false; } } public bool priorityOpen { get { return false; } } public bool priorityOpen { get { return OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.LuckyTreasure); } } public OperationLuckyTreasure GetOperation() { @@ -97,36 +113,124 @@ } } #region 表数据 public int maxLuckValue { get; private set;} public int luckAwardId { get; private set; } //幸运大奖物品id public int maxRecordResultNum { get; private set; } //记录鉴宝结果最大条数 public event Action UpdateResultEvent; private void GetLocalSaveData() { string[] infos = LocalSave.GeStringArray(resultInfoLocalSave); resultInfolist = infos == null ? new List<string>() : infos.ToList(); } private void SetAwardResultLocalSave(string info) #region 表数据 public int luckyTreasurePrice { get; private set; } public int luckyTreasurePoint { get; private set; } public void ParseFuncConfig() { resultInfolist = resultInfolist == null ? new List<string>() : resultInfolist; if (resultInfolist.Count >= 3) { resultInfolist.RemoveAt(resultInfolist.Count - 1); } resultInfolist.Insert(0, info); LocalSave.SetStringArray(resultInfoLocalSave, resultInfolist.ToArray()); if (UpdateResultEvent != null) { UpdateResultEvent(); } var luckyAppraisal = Config.Instance.Get<FuncConfigConfig>("LuckyAppraisal"); luckyTreasurePrice = int.Parse(luckyAppraisal.Numerical1); luckyTreasurePoint = int.Parse(luckyAppraisal.Numerical2); } #endregion #region 协议 public int curLuckValue { get; private set; } public bool isFree { get; private set;} public OperationLuckyTreasure.LuckyTreasureItem curLuckyItem { get; private set; } public List<OperationLuckyTreasure.LuckyTreasureItem> autoLuckyItems = new List<OperationLuckyTreasure.LuckyTreasureItem>(); public event Action UpdateLuckyResultEvent; public event Action UpdateMessageEvent; public void UpdateLuckyTreasureResult(HAA1E_tagMCLuckyTreasureResultInfo resultInfo) { curLuckValue = resultInfo.LuckyPoint; isFree = resultInfo.HasFree == 0; if(resultInfo.ItemID != 0) { curLuckyItem = new OperationLuckyTreasure.LuckyTreasureItem((int)resultInfo.ItemID,resultInfo.ItemCnt,resultInfo.IsBind); if (isAutoLuckyTreasure) { var luckyItem = new OperationLuckyTreasure.LuckyTreasureItem((int)resultInfo.ItemID, resultInfo.ItemCnt, resultInfo.IsBind); autoLuckyItems.Add(luckyItem); if (!WindowCenter.Instance.IsOpen<AutomaticTreasureWin>()) { WindowCenter.Instance.Open<AutomaticTreasureWin>(); } if(IsBigLuckItem()) { WindowCenter.Instance.Close<AutomaticTreasureWin>(); } else { SendStartLuckyTreasure(); } } } if (UpdateLuckyResultEvent != null) { UpdateLuckyResultEvent(); } } public List<string> resultInfolist = new List<string>(); public void UpdateLuckyMessage(HA003_tagUniversalGameRecInfo recInfo) { if (recInfo.Type != 12) return; foreach (var item in recInfo.UniversalGameRec) { string playerName = item.StrValue1; if(isLogin) { resultInfolist.Add(playerName); } else { resultInfolist.Insert(0, playerName); } } if(UpdateMessageEvent != null) { UpdateMessageEvent(); } } public void SendStartLuckyTreasure() { if(!isFree) { ulong haveMoney = UIHelper.GetMoneyCnt(1); if (haveMoney < (ulong)luckyTreasurePrice) { isAutoLuckyTreasure = false; WindowCenter.Instance.Open<RechargeTipWin>(); return; } } var playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>(); int remainGrid = playerPack.GetReaminGridCount(PackType.rptItem); if(remainGrid < 1) { isAutoLuckyTreasure = false; SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_676165",PackType.rptItem); return; } CAA08_tagCMStartLuckyTreasure startLuckyTreasure = new CAA08_tagCMStartLuckyTreasure(); GameNetSystem.Instance.SendInfo(startLuckyTreasure); } #endregion public bool IsBigLuckItem() { var operation = GetOperation(); if(operation != null) { if (curLuckyItem != null) { OperationLuckyTreasure.LuckyTreasureItem luckyItem = null; if (operation.TryGetLuckBigAward(out luckyItem)) { return luckyItem.itemId == curLuckyItem.itemId; } } } return false; } } } System/OpenServerActivity/LuckyTreasureWin.cs
@@ -39,23 +39,26 @@ protected override void OnPreOpen() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerData; luckyTreasureModel.UpdateMessageEvent += UpdateMessageInfo; luckyTreasureModel.UpdateLuckyResultEvent += UpdateLuckyResult; SetDisplay(); } protected override void OnAfterOpen() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerData; luckyTreasureModel.UpdateResultEvent += UpdateResultInfo; } protected override void LateUpdate() { base.LateUpdate(); UpdateLuckValue(); } protected override void OnPreClose() { luckyTreasureModel.UpdateResultEvent -= UpdateResultInfo; luckyTreasureModel.UpdateLuckyResultEvent -= UpdateLuckyResult; luckyTreasureModel.UpdateMessageEvent -= UpdateMessageInfo; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerData; } protected override void OnAfterClose() @@ -70,38 +73,52 @@ if (operation == null) return; UpdateRemainMoney(); UpdateResultInfo(); UpdateMessageInfo(); UpdateAwards(); UpdateLuckValue(); UpdateLuckyTreasureState(); operationTimeText.text = operation.ToDisplayTime(); luckValueSlider.value = luckyTreasureModel.curLuckValue; ruleText.text = Language.Get("LuckyTreasure101",luckyTreasureModel.luckyTreasurePoint); luckValueSlider.minValue = 0; luckValueSlider.maxValue = luckyTreasureModel.maxLuckValue; int luckAwardId = luckyTreasureModel.luckAwardId; ItemCellModel itemCellModel = new ItemCellModel(luckAwardId, true); luckAward_Item.Init(itemCellModel); luckAward_Item.cellBtn.RemoveAllListeners(); luckAward_Item.cellBtn.AddListener(() => luckValueSlider.maxValue = operation.sumLuckPoint; OperationLuckyTreasure.LuckyTreasureItem luckyItem = null; if(operation.TryGetLuckBigAward(out luckyItem)) { ItemAttrData attrData = new ItemAttrData(luckAwardId, true); tipsModel.SetItemTipsModel(attrData); }); ItemCellModel itemCellModel = new ItemCellModel(luckyItem.itemId); luckAward_Item.Init(itemCellModel); luckAward_Item.cellBtn.RemoveAllListeners(); luckAward_Item.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(luckyItem.itemId); tipsModel.SetItemTipsModel(attrData); }); } } private void UpdateLuckyResult() { UpdateLuckValue(); UpdateLuckyTreasureState(); } private void UpdateAwards() { var luckyItems = operation.luckTreasureItems; awardsCtrl.Refresh(); for(int i = 0; i < 4; i++) for(int i = 0; i < luckyItems.Count; i++) { awardsCtrl.AddCell(ScrollerDataType.Header,i); } awardsCtrl.Restart(); } private void UpdateResultInfo() private void UpdateMessageInfo() { var results = luckyTreasureModel.resultInfolist; resultCtrl.Refresh(); for(int i = 0; i < 5; i++) for(int i = 0; i < results.Count; i++) { resultCtrl.AddCell(ScrollerDataType.Header,i); } @@ -138,19 +155,26 @@ remainMoneyText.text = moneyNum.ToString(); } private void UpdateLuckyTreasureState() { goldTreasureBtn.gameObject.SetActive(!luckyTreasureModel.isFree); freeTreasureBtn.gameObject.SetActive(luckyTreasureModel.isFree); } private void ClickAutoTreasure() { WindowCenter.Instance.Open<AutomaticTreasureWin>(); luckyTreasureModel.isAutoLuckyTreasure = true; luckyTreasureModel.SendStartLuckyTreasure(); } private void ClickGoldTreasure() { luckyTreasureModel.SendStartLuckyTreasure(); } private void ClickFreeTreasure() { luckyTreasureModel.SendStartLuckyTreasure(); } } System/OpenServerActivity/OpenServerActivityWin.cs
@@ -634,6 +634,7 @@ WindowCenter.Instance.Open<FestivalRedpackWin>(true); break; case 20: WindowCenter.Instance.Open<LuckyTreasureWin>(true); break; case 21: WindowCenter.Instance.Open<LoginRewardWin>(true); System/OpenServerActivity/OperationLuckyTreasure.cs
@@ -6,9 +6,14 @@ { public class OperationLuckyTreasure : OperationBase { public int sumLuckPoint; //// 总幸运值 public List<LuckyTreasureItem> luckTreasureItems = new List<LuckyTreasureItem>(); public override void Reset() { base.Reset(); sumLuckPoint = 0; luckTreasureItems.Clear(); } public override string ToDisplayTime() @@ -58,11 +63,37 @@ return totalDays; } public void ParsePackage(HAA19_tagMCActWishingWellInfo package) public void ParsePackage(HAA1F_tagMCLuckyTreasureInfo package) { for (int i = 0; i < package.Count; i++) { var itemInfo = package.ItemList[i]; LuckyTreasureItem treasureItem = new LuckyTreasureItem((int)itemInfo.ItemID,itemInfo.ItemCnt,itemInfo.IsBind); luckTreasureItems.Add(treasureItem); } } public bool TryGetLuckBigAward(out LuckyTreasureItem treasureItem) { treasureItem = null; if(luckTreasureItems != null && luckTreasureItems.Count > 0) { treasureItem = luckTreasureItems[luckTreasureItems.Count - 1]; } return treasureItem != null; } public class LuckyTreasureItem { public int itemId; public int itemCount; public int isBind; public LuckyTreasureItem(int id, int count, int isBind) { this.itemId = id; this.itemCount = count; this.isBind = isBind; } } } System/Welfare/OperationTimeHepler.cs
@@ -333,7 +333,7 @@ /// 幸运鉴宝 /// </summary> /// <param name="package"></param> public void UpdateLuckyTreasure(HAA19_tagMCActWishingWellInfo package) public void UpdateLuckyTreasure(HAA1F_tagMCLuckyTreasureInfo package) { OperationBase operationBase = null; operationDict.TryGetValue(Operation.LuckyTreasure, out operationBase); @@ -353,8 +353,8 @@ operation.limitLv = package.LimitLV; operation.startDate = ParseOperationDate(package.StartDate); operation.endDate = ParseOperationDate(package.EndtDate); operation.dayReset = package.IsDayReset == 1; operation.resetType = package.ResetType; operation.sumLuckPoint = package.LuckyPoint; operation.ParsePackage(package); if (operationTimeUpdateEvent != null) { @@ -962,12 +962,12 @@ FlashRushToBuy, //限时抢购 WishingWellInfo, //许愿池 AccumulateRecharge,//累计充值 LuckyTreasure,//幸运鉴宝 LoginReward,//登录奖励 FestivalRedpack,//节日红包 NewYearFairyCeremony, //春节仙界盛典 SpringFestival,//春节巡礼 OpenServiceAchievement,//七日巡礼 LuckyTreasure,//幸运鉴宝 max, } } System/WindowBase/ModelCenter.cs
@@ -229,6 +229,7 @@ RegisterModel<FestivalRedpackModel>(); RegisterModel<NewYearFairylandCeremonyModel>(); RegisterModel<JadeDynastyGemModel>(); RegisterModel<LuckyTreasureModel>(); inited = true; }