Core/SDK/SDKUtility.cs
@@ -923,7 +923,7 @@ m_Json["roleID"] = roleID; m_Json["roleName"] = roleName; m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag; m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; m_Json["level"] = "1"; @@ -941,7 +941,7 @@ m_Json["roleID"] = roleID; m_Json["roleName"] = roleName; m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag; m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; m_Json["level"] = PlayerDatas.Instance.baseData.LV; @@ -960,7 +960,7 @@ m_Json["roleID"] = PlayerDatas.Instance.PlayerId.ToString(); m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName; m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag; m_Json["sid"] = ServerListCenter.Instance.currentServer.region_flag; m_Json["serverName"] = ServerListCenter.Instance.currentServer.name; m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName; m_Json["level"] = PlayerDatas.Instance.baseData.LV; Fight/Actor/Skill/AttackHandler.cs
@@ -63,8 +63,8 @@ if (soConfig.hitEffectId != 0) { SFXController _controller = SFXPlayUtility.Instance.PlayEffectAsync(soConfig.hitEffectId, target.MP_Hit.position, Vector3.forward); target.MP_Hit.position, Vector3.forward); _controller.transform.rotation = CameraController.Instance.CameraObject.transform.rotation * Quaternion.Euler(0, 0, Random.Range(0, 360)); // 播放受击音效 Fight/GameActor/GAMgr.cs
@@ -571,6 +571,7 @@ if (_actor != null) { _actor.InitNpcConfig((int)npcID); _actor.Init(serverInstID, m_ClientId.Request(), group, null); BuildManagerRelation(_actor, _actorClassType); Fight/GameActor/GA_NpcClientFightNorm.cs
@@ -108,6 +108,8 @@ protected override void OnMainModelLoaded() { base.OnMainModelLoaded(); if (NpcConfig.NPCID == 1002) { m_Obstacle = SoMap.CreateImpasse.General(Pos, Root.eulerAngles, new Vector3(3, 10, 1)); Fight/GameActor/GA_NpcSummonFight.cs
@@ -8,8 +8,6 @@ protected override void OnInit(GameNetPackBasic package) { base.OnInit(package); m_H0408 = package as H0408_tagPlayerSummonNPCAppear; if (m_H0408 == null) @@ -22,6 +20,8 @@ ActorInfo.serverBornPos = new UnityEngine.Vector2(m_H0408.PosX, m_H0408.PosY); AdjustPos(m_H0408.PosX, m_H0408.PosY); base.OnInit(package); GActor _parent = GAMgr.Instance.GetBySID(m_H0408.PlayerID); if (_parent != null) { Fight/GameActor/GActorNpcFight.cs
@@ -50,6 +50,19 @@ } } public virtual void InitNpcConfig(int npcID) { if (NpcConfig != null && NpcConfig.NPCID == npcID) { return; } if (npcID > 0) { NpcConfig = Config.Instance.Get<NPCConfig>(npcID); } } protected override void OnInit(GameNetPackBasic package) { base.OnInit(package); @@ -64,18 +77,12 @@ { _npcID = (int)(package as H0435_tagPetAppear).NPCID; } else else if (this is GA_NpcFightNorm) { _npcID = (int)(package as H0406_tagNPCAppear).NPCID; } if (_npcID == 0) { Debug.LogError("加载异常...."); return; } NpcConfig = Config.Instance.Get<NPCConfig>(_npcID); InitNpcConfig(_npcID); if (NpcConfig == null) { System/BetterItemGet/BetterEquipGetModel.cs
@@ -71,6 +71,7 @@ bool isCoolEnd = coolData == null || coolData.GetRemainTime() <= 0 ? true : false; if(isCoolEnd) { DebugEx.Log("UpdateCoolTime:" + _equip.itemId); PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn,guid); ReportConfirmBetterEquip(guid); } @@ -167,11 +168,6 @@ { showEquipRefreshEvent(); } if(CheckIsAutoEquip(betterModel)) { KnapsackTimeCDMgr.Instance.Register(betterModel.itemInfo.ItemGUID, betterModel.itemId, autoEquipCoolTime); } } } else @@ -211,10 +207,6 @@ showEquipRefreshEvent(); } var betterModel = playerPack.GetItemModelByGUID(_guid); if (CheckIsAutoEquip(betterModel)) { KnapsackTimeCDMgr.Instance.Register(betterModel.itemInfo.ItemGUID, betterModel.itemId, autoEquipCoolTime); } } private void OnPackageRefresh(PackType _packType) @@ -223,7 +215,6 @@ { return; } var keys = new List<string>(betterEquipModels.Keys); for (int i = keys.Count - 1; i >= 0; i--) { @@ -280,7 +271,11 @@ } else if (_packType == PackType.rptItem) { OnPackageRefresh(_packType); var itemModel = playerPack.GetItemModelByIndex(PackType.rptItem,_index); if(itemModel == null) { OnPackageRefresh(_packType); } } } System/KnapSack/BetterItemGetBehaviour.cs
@@ -75,8 +75,13 @@ { DrawBetterEquip(betterEquip); m_ContainerBetterEquip.gameObject.SetActive(true); } var coolData = KnapsackTimeCDMgr.Instance.GetItemCoolById(model.currentEquipGuid); if (model.CheckIsAutoEquip(betterEquip) && coolData == null) { KnapsackTimeCDMgr.Instance.Register(betterEquip.itemInfo.ItemGUID, betterEquip.itemId, model.autoEquipCoolTime); } } } } System/OpenServerActivity/ImpactRankModel.cs
@@ -803,6 +803,8 @@ WheelOfrtune, [Header("累计充值")] AccumulateRecharge, [Header("神秘限购")] MysticalPurchase, } } System/OpenServerActivity/MysticalPurchaseModel.cs
New file @@ -0,0 +1,438 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; namespace Snxxz.UI { [XLua.LuaCallCSharp] public class MysticalPurchaseModel : Model,IBeforePlayerDataInitialize,IPlayerLoginOk,IOpenServerActivity { StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } public override void Init() { OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent; OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent; OpenServerActivityCenter.Instance.Register((int)OpenServerActivityCenter.OSActivityType.MysticalPurchase, this); } public void OnBeforePlayerDataInitialize() { fullSeverBuyInfoDict.Clear(); } public void OnPlayerLoginOk() { UpdateRedpoint(); } public override void UnInit() { OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent; OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent; OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent; } public bool IsOpen { get { var operation = GetOperationFlashRushToBuy(); if (operation != null) { return operation.SatisfyOpenCondition(); } return false; } } public bool priorityOpen { get { return flashRushToBuyRedpoint.state == RedPointState.Simple; } } public bool IsAdvance { get { return OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.MysticalPurchase); } } public void SetDefaultSelectSaleTime() { OperationFlashRushToBuy operation = GetOperationFlashRushToBuy(); int seconds = 0; if (presentFlashShop != null) { int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow,presentFlashShop.dayIndex,presentFlashShop.timeIndex, out seconds); if(buyState != 1) { return; } } OperationTime operationTime; OperationFlashRushToBuy.FlashSaleShop saleShop = null; var flashRushToBuySate = GetActivityState(out seconds, out operationTime, out saleShop); if(flashRushToBuySate != FlashRushToBuySate.End) { presentFlashShop = saleShop; } else { presentFlashShop = null; } } public event Action UpdatePresentFlashShopCloseEvent; public void PresentFlashShopActivityClose() { SetDefaultSelectSaleTime(); if (UpdatePresentFlashShopCloseEvent != null) { UpdatePresentFlashShopCloseEvent(); } } public void ResetFlashShop() { presentFlashShop = null; } #region 本地数据处理 public OperationFlashRushToBuy.FlashSaleShop presentFlashShop { get; private set; } public event Action UpdateSelectSaleTimeEvent; public void UpdateSelectFlashSaleTime(int dayIndex,int timeIndex) { presentFlashShop = null; OperationFlashRushToBuy operation = GetOperationFlashRushToBuy(); if(operation != null) { OperationFlashRushToBuy.FlashSaleShop flashShop; operation.TryGetFlashShop(dayIndex, timeIndex, out flashShop); presentFlashShop = flashShop; if(UpdateSelectSaleTimeEvent != null) { UpdateSelectSaleTimeEvent(); } } } public OperationFlashRushToBuy GetOperationFlashRushToBuy() { OperationBase operationBase; if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MysticalPurchase, out operationBase)) { return operationBase as OperationFlashRushToBuy; } return null; } #endregion #region 协议 public event Action UpdateAllAppointmentEvent; public event Action<int> UpdateAppointmentEvent; public void UpdateFlashSaleAppointmentInfo(HAA18_tagMCFlashSaleAppointmentInfo appointmentInfo) { var operation = GetOperationFlashRushToBuy(); if (operation == null) return; if (appointmentInfo.IsAll == 1) { for (int j = 0; j < operation.flashShops.Count; j++) { var saleItems = operation.flashShops[j].items; for (int k = 0; k < saleItems.Length; k++) { saleItems[k].isAppointment = 0; } } } for (int i = 0; i < appointmentInfo.GoodsCount; i++) { var saleItemInfo = appointmentInfo.GoodsList[i]; if (appointmentInfo.GoodsCount < 2 && saleItemInfo.State == 1) { SysNotifyMgr.Instance.ShowTip("FlashRushToBuy1"); } for (int j = 0; j < operation.flashShops.Count; j++) { var saleItems = operation.flashShops[j].items; for (int k = 0; k < saleItems.Length; k++) { if (saleItems[k].shopGuid == saleItemInfo.GoodsMark) { if(saleItems[k].isAppointment != saleItemInfo.State) { saleItems[k].isAppointment = saleItemInfo.State; if(UpdateAppointmentEvent != null && appointmentInfo.IsAll != 1) { UpdateAppointmentEvent((int)saleItemInfo.GoodsMark); } } } } } } if(appointmentInfo.IsAll == 1) { if (UpdateAllAppointmentEvent != null) { UpdateAllAppointmentEvent(); } } } public event Action<int>UpdateFullSeverBuyEvent; private Dictionary<int, int> fullSeverBuyInfoDict = new Dictionary<int, int>(); public void UpdateFullSeverBuyInfo(HA906_tagGCStoreServerBuyCntInfo buyCntInfo) { for(int i = 0; i < buyCntInfo.Count; i++) { var info = buyCntInfo.InfoList[i]; if(!fullSeverBuyInfoDict.ContainsKey((int)info.GoodsID)) { fullSeverBuyInfoDict.Add((int)info.GoodsID,(int)info.BuyCnt); } else { fullSeverBuyInfoDict[(int)info.GoodsID] = (int)info.BuyCnt; } if (UpdateFullSeverBuyEvent != null) { UpdateFullSeverBuyEvent((int)info.GoodsID); } } } public int GetFullServerBuyCntById(int goodsId) { int buyCnt = 0; fullSeverBuyInfoDict.TryGetValue(goodsId,out buyCnt); return buyCnt; } /// <summary> /// 限时抢购预约 /// </summary> public void SendFlashSaleAppointment(int shopGuid,int state) { CAA05_tagCMFlashSaleAppointment appointment = new CAA05_tagCMFlashSaleAppointment(); appointment.GoodsID = (uint)shopGuid; appointment.State = (byte)state; GameNetSystem.Instance.SendInfo(appointment); } #endregion /// <summary> /// 获得限时抢购活动状态 /// </summary> /// <param name="seconds"></param> /// <returns></returns> public FlashRushToBuySate GetActivityState(out int seconds,out OperationTime operationTime,out OperationFlashRushToBuy.FlashSaleShop saleShop) { seconds = 0; saleShop = null; operationTime = default(OperationTime); var operation = GetOperationFlashRushToBuy(); if (!IsOpen || operation == null) return FlashRushToBuySate.NoOpen; int openState = 0; int endState = 0; int openSeconds = 0; int endSeconds = 0; for(int i = 0; i < operation.flashShops.Count;i++) { OperationFlashRushToBuy.FlashSaleShop openSaleShop = operation.flashShops[i]; operationTime = operation.times[openSaleShop.timeIndex]; openState = operation.GetBuyTimeState(TimeUtility.ServerNow, openSaleShop.dayIndex, openSaleShop.timeIndex, out openSeconds); if(openState != 1) { saleShop = openSaleShop; break; } } if(operation.flashShops.Count > 0) { OperationFlashRushToBuy.FlashSaleShop endSaleShop = operation.flashShops[operation.flashShops.Count - 1]; endState = operation.GetBuyTimeState(TimeUtility.ServerNow, endSaleShop.dayIndex, endSaleShop.timeIndex, out endSeconds); } switch(openState) { case -1: seconds = openSeconds; return FlashRushToBuySate.InAdvance; case 0: return FlashRushToBuySate.Begining; } switch(endState) { case -1: return FlashRushToBuySate.Begining; case 0: return FlashRushToBuySate.Begining; case 1: return FlashRushToBuySate.End; default: return FlashRushToBuySate.NoOpen; } } public bool CheckIsPush(out OperationFlashRushToBuy.FlashSaleShop saleShop) { int seconds = 0; OperationTime operationTime; saleShop = null; var buyState = GetActivityState(out seconds,out operationTime,out saleShop); switch (buyState) { case FlashRushToBuySate.NoOpen: break; case FlashRushToBuySate.InAdvance: if(saleShop != null && seconds <= 180) { for(int i = 0; i < saleShop.items.Length; i++) { if(saleShop.items[i].isAppointment == 1) { return true; } } } break; case FlashRushToBuySate.Begining: if (saleShop != null) { for (int i = 0; i < saleShop.items.Length; i++) { var saleItem = saleShop.items[i]; if(GetSellSate(saleItem) == 0) { return true; } } } break; case FlashRushToBuySate.End: break; } return false; } /// <summary> /// 0 秒杀 1 已买到 2 已抢光 /// </summary> /// <returns></returns> private int GetSellSate(OperationFlashRushToBuy.FlashSaleItem saleItem) { var buyInfo = storeModel.GetBuyShopLimit((uint)saleItem.shopId); var buyCount = 0; int fullRemainNum = saleItem.fullServerLimitNum - GetFullServerBuyCntById(saleItem.shopId); if (buyInfo != null) { buyCount = buyInfo.BuyCnt; } if (buyCount >= saleItem.limitNum) { return 1; } if (fullRemainNum <= 0) { return 2; } return 0; } private void OperationEndEvent(Operation type, int state) { if (type == Operation.MysticalPurchase && state == 0) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate((int)OpenServerActivityCenter.OSActivityType.MysticalPurchase); } } } private void OperationAdvanceEvent(Operation type) { if (type == Operation.MysticalPurchase) { if (onStateUpate != null) { onStateUpate((int)OpenServerActivityCenter.OSActivityType.MysticalPurchase); } } } private void OperationStartEvent(Operation type, int state) { if (type == Operation.MysticalPurchase && state == 0) { UpdateRedpoint(); if (onStateUpate != null) { onStateUpate((int)OpenServerActivityCenter.OSActivityType.MysticalPurchase); } } } public void SetDayRemind() { if (flashRushToBuyRedpoint.state == RedPointState.Simple) { SetAlreadyOpenSaleTime(); UpdateRedpoint(); } } public Redpoint flashRushToBuyRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20914); public event Action<int> onStateUpate; public void SetAlreadyOpenSaleTime() { int seconds = 0; OperationTime operationTime; OperationFlashRushToBuy.FlashSaleShop saleShop = null; var buyState = GetActivityState(out seconds, out operationTime, out saleShop); if(buyState == FlashRushToBuySate.Begining) { int key = saleShop.dayIndex * 100 + saleShop.timeIndex; } } private void UpdateRedpoint() { flashRushToBuyRedpoint.state = RedPointState.None; int seconds = 0; OperationTime operationTime; OperationFlashRushToBuy.FlashSaleShop saleShop = null; var buyState = GetActivityState(out seconds, out operationTime, out saleShop); if(buyState == FlashRushToBuySate.Begining) { int key = saleShop.dayIndex * 100 + saleShop.timeIndex; } } public enum FlashRushToBuySate { NoOpen, //活动未开启 InAdvance,//提前 Begining, //活动中 End, //结束 } } } System/OpenServerActivity/MysticalPurchaseModel.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: a257cceb6520e8d489f43e538f684d52 timeCreated: 1542336543 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/OpenServerActivity/OperationMysticalPurchase.cs
New file @@ -0,0 +1,188 @@ using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Snxxz.UI { public class OperationMysticalPurchase : OperationBase { public List<FlashSaleShop> flashShops = new List<FlashSaleShop>(); public bool TryGetFlashShop(int dayIndex,int timeIndex ,out FlashSaleShop flashSaleShop) { flashSaleShop = null; for (int i = 0; i < flashShops.Count; i++) { var shop = flashShops[i]; if (shop.dayIndex == dayIndex && shop.timeIndex == timeIndex) { flashSaleShop = shop; return true; } } return false; } public bool TryGetFlashItem(int shopGuid,out FlashSaleShop flashSaleShop, out FlashSaleItem saleItem) { saleItem = null; flashSaleShop = null; for (int i = 0; i < flashShops.Count; i++) { var saleItems = flashShops[i].items; for (int j = 0; j < saleItems.Length; j++) { if (saleItems[j].shopGuid == shopGuid) { flashSaleShop = flashShops[i]; saleItem = saleItems[j]; return true; } } } return false; } /// <summary> ///-1 未开始 0 开始 1结束 /// </summary> /// <param name="time"></param> /// <param name="dayIndex"></param> /// <param name="timeIndex"></param> /// <returns></returns> public int GetBuyTimeState(DateTime time,int dayIndex,int timeIndex,out int seconds) { seconds = 0; int day = startDate.day + dayIndex; OperationTime operationTime = times[timeIndex]; var startTime = new DateTime(startDate.year, startDate.month,day, operationTime.startHour, operationTime.startMinute,0); var endTime = new DateTime(startDate.year, startDate.month,day, operationTime.endHour, operationTime.endMinute, 0); int advanceSec = Mathf.CeilToInt((float)(startTime - time).TotalSeconds); int endSec = Mathf.CeilToInt((float)(endTime - time).TotalSeconds); if (advanceSec > 0) { seconds = advanceSec; return -1; } else if(endSec <= 0) { return 1; } else { seconds = endSec; return 0; } } public string ToDisplayBuyTime(int month,int day,int startHour,int startMinute) { return StringUtility.Contact(month, Language.Get("Month"), day, Language.Get("Day"), startHour.ToString("D2"), ":", startMinute.ToString("D2")); } public string ToDisplayBuyTime(int startHour, int startMinute) { return StringUtility.Contact(startHour.ToString("D2"), ":", startMinute.ToString("D2")); } public override bool SatisfyOpenCondition() { if(PlayerDatas.Instance.baseData.LV >= limitLv) { if(flashShops.Count > 0) { int openSeconds = 0; int endSeconds = 0; var fristShop = flashShops[0]; var lastShop = flashShops[flashShops.Count - 1]; int OpenState = GetBuyTimeState(TimeUtility.ServerNow,fristShop.dayIndex,fristShop.timeIndex, out openSeconds); int endState = GetBuyTimeState(TimeUtility.ServerNow,lastShop.dayIndex, lastShop.timeIndex,out endSeconds); if(OpenState == -1 && openSeconds <= inAdvanceMinute*60) { return true; } else if(endState != 1 && OpenState != -1) { return true; } } } return false; } public override void Reset() { base.Reset(); flashShops.Clear(); } public override string ToDisplayTime() { var textBuilder = OperationTimeHepler.textBuilder; textBuilder.Length = 0; textBuilder.Append(startDate.ToDisplay()); if (startDate != endDate) { textBuilder.Append("—"); textBuilder.Append(endDate.ToDisplay()); } return textBuilder.ToString(); } public void ParsePackage(HAA17_tagMCFlashSaleInfo package) { for (int i = 0; i < package.ShopCount; i++) { var gift = new FlashSaleShop(); var shop = package.ShopInfo[i]; gift.dayIndex = shop.DayIndex; gift.timeIndex = shop.TimeIndex; gift.items = new FlashSaleItem[shop.GiftbagCount]; for (int k = 0; k < shop.GiftbagCount; k++) { var item = new FlashSaleItem(); var saleItem = shop.GiftbagInfo[k]; item.shopId = (int)saleItem.GiftID; item.shopGuid = shop.DayIndex*10000 + shop.TimeIndex*100 + k; item.limitNum = saleItem.BuyCountLimit; item.fullServerLimitNum = saleItem.ServerBuyCountLimit; item.moneyType = saleItem.MoneyType; item.moneyNumber = (int)saleItem.MoneyNumber; item.moneyOriginal = (int)saleItem.MoneyOriginal; item.itemId = (int)saleItem.ItemID; item.itemCount = saleItem.ItemCount; item.isBind = saleItem.IsBind; item.isAppointment = 0; gift.items[k] = item; } flashShops.Add(gift); } } public class FlashSaleShop { public int dayIndex; // 活动第几天 public int timeIndex;//第几个时间段 public FlashSaleItem[] items; } public class FlashSaleItem { public int shopId; public int shopGuid; public int limitNum;//个人限购数量 public int fullServerLimitNum; //个人限购数量 public int moneyType; public int moneyNumber; public int moneyOriginal; public int itemId; public int itemCount; public int isBind; public int isAppointment; //是否预约 } } } System/OpenServerActivity/OperationMysticalPurchase.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 7221a4f58ebdf3644aae88456e0e2f31 timeCreated: 1542336331 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Treasure/TreasureModel.cs
@@ -167,6 +167,8 @@ set { LocalSave.SetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "_TreasureCollectingShowId"), value); } } bool potentialFuncOpen { get; set; } public int treasureGotoId { get; set; } public bool openFromTreasureSoul { get; set; } @@ -248,6 +250,7 @@ { serverInited = false; needDisplayReguluLevelUp = false; potentialFuncOpen = false; treasureUnlockShowDict.Clear(); cacheGotAchievements.Clear(); foreach (var treasure in treasures.Values) @@ -824,10 +827,12 @@ if (_functionId == 82) { UpdateSkillLevelUpRedpoints(); if (!FuncOpen.Instance.IsFuncOpen(82)) bool requireCheckUnlockShow = false; if (!potentialFuncOpen && FuncOpen.Instance.IsFuncOpen(82)) { return; requireCheckUnlockShow = true; } potentialFuncOpen = FuncOpen.Instance.IsFuncOpen(82); var list = treasureCategory[TreasureCategory.Human]; for (int i = 0; i < list.Count; i++) { @@ -835,7 +840,7 @@ TryGetTreasure(list[i], out treasure); var humanTreasure = treasure as HumanTreasure; humanTreasure.UpdateTreasureState(); if (!serverInited || !treasure.IsHighestStage) if (!serverInited || !treasure.IsHighestStage || !requireCheckUnlockShow) { continue; } System/Welfare/OperationTimeHepler.cs
@@ -296,6 +296,46 @@ } /// <summary> /// 神秘限购 /// </summary> /// <param name="package"></param> public void UpdateMysticalPurchase(HAA17_tagMCFlashSaleInfo package) { OperationBase operationBase = null; operationDict.TryGetValue(Operation.MysticalPurchase, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { ForceStopOperation(Operation.MysticalPurchase); } else { if (operationBase == null) { operationBase = new OperationMysticalPurchase(); operationDict.Add(Operation.MysticalPurchase, operationBase); } OperationMysticalPurchase operation = operationBase as OperationMysticalPurchase; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = ParseOperationDate(package.StartDate); operation.endDate = ParseOperationDate(package.EndtDate); operation.dayReset = package.IsDayReset == 1; operation.inAdvanceMinute = package.AdvanceMinutes; for (int i = 0; i < package.ActivityTimeCount; i++) { operation.times.Add(ParseOperationTime(package.ActivityTime[i].StartTime, package.ActivityTime[i].EndtTime)); } operation.ParsePackage(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(Operation.MysticalPurchase); } } } /// <summary> /// 许愿池 /// </summary> /// <param name="package"></param> @@ -758,6 +798,7 @@ FlashRushToBuy, //限时抢购 WishingWellInfo, //许愿池 AccumulateRecharge,//累计充值 MysticalPurchase, //神秘限购 max, } } Utility/RuntimeLogUtility.cs
@@ -224,7 +224,8 @@ if (GUILayout.Button("酷酷酷")) { PlayerDatas.Instance.hero.Polymorph(!PlayerDatas.Instance.hero.IsPolyMorph, 0); var boss = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightBoss>(60203001, E_ActorGroup.Enemy); boss.Pos = PlayerDatas.Instance.hero.Pos; } if (GUILayout.Button("直接重连"))