Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -11,6 +11,7 @@ public static void Init() { // 登记相应的数据体及对应的数据转逻辑类 Register(typeof(HAA16_tagMCSuperGiftInfo), typeof(DTCAA16_tagMCSuperGiftInfo)); Register(typeof(HAC10_tagGCAllFamilyBossHurtInfoList), typeof(DTCAC10_tagGCAllFamilyBossHurtInfoList)); Register(typeof(HA715_tagMCFamilyBossHurtList), typeof(DTCA715_tagMCFamilyBossHurtList)); Register(typeof(HAB04_tagMCBossRebornInfo), typeof(DTCAB04_tagMCBossRebornInfo)); Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs
New file @@ -0,0 +1,23 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, August 30, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using Snxxz.UI; public class DTCAA16_tagMCSuperGiftInfo : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); var package = vNetPack as HAA16_tagMCSuperGiftInfo; ModelCenter.Instance.GetModel<OSGiftModel>().UpdateTime(package); } } Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA16_tagMCSuperGiftInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 202ec0a13d751474ab11e14b107c5178 timeCreated: 1535599736 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs
New file @@ -0,0 +1,19 @@ using UnityEngine; using System.Collections; // AA 16 通知超值礼包信息 #tagMCSuperGiftInfo public class HAA16_tagMCSuperGiftInfo : GameNetPackBasic { public uint GiftID; //商品ID public byte RemainDay; //剩余天数 public HAA16_tagMCSuperGiftInfo () { _cmd = (ushort)0xAA16; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out GiftID, vBytes, NetDataType.DWORD); TransBytes (out RemainDay, vBytes, NetDataType.BYTE); } } Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA16_tagMCSuperGiftInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 9eb5c2d3bd7e1c44dbe9549eb0f3fd8a timeCreated: 1535599707 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/BlastFurnace/GetItemPathModel.cs
@@ -208,12 +208,19 @@ switch(itemWaysModel.ID) { case 38: ModelCenter.Instance.GetModel<PlayerFairyAuTreasureData>().JumpItemID = itemId; SetUnionWarehouseGetWay(); break; } WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)itemWaysModel.OpenpanelId); } public void SetUnionWarehouseGetWay() { var model1 = ModelCenter.Instance.GetModel<PlayerFairyAuTreasureData>(); var model2 = ModelCenter.Instance.GetModel<TreasureFindHostModel>(); model1.JumpItemID = model2.adviceIdlist; } #region 设置弹框位置 private RectTransform infoTip = null; private RectTransform waysTip = null; System/Chat/ChatCenter.cs
@@ -23,6 +23,7 @@ VoiceHttpRequest.Instance.samplesDecodecComplete += SamplesDecodecComplete; WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent; StageManager.Instance.onStageLoadFinish += OnStageLoadFinish; PlayerRealmData.OnPlayerCollectEnd += OnPlayerCollectEnd; } public override void UnInit() @@ -160,6 +161,11 @@ if (!isDungeon) { ClearAllVoice(); openChatAfterCollect = false; } if (PlayerDatas.Instance.baseData.MapID != 31230) { openChatAfterCollect = false; } } @@ -694,6 +700,10 @@ private void WindowAfterOpenEvent(Window win) { CheckChatFloatOpen(); if (win is MainInterfaceWin) { CheckOpenChatAfterCollect(); } } private void CheckChatFloatOpen() @@ -716,6 +726,44 @@ } #endregion #region 仙盟宴会采集完后打开聊天界面 bool openChatAfterCollect = false; private void OnPlayerCollectEnd(int playerId, byte type) { if (playerId == PlayerDatas.Instance.baseData.PlayerID && type == 0 && PlayerDatas.Instance.baseData.MapID == 31230) { openChatAfterCollect = true; } CheckOpenChatAfterCollect(); } void CheckOpenChatAfterCollect() { if (!openChatAfterCollect) { return; } if (PlayerDatas.Instance.baseData.MapID != 31230) { return; } if (!WindowCenter.Instance.Open<MainInterfaceWin>() || WindowCenter.Instance.ExitAnyFullScreenOrMaskWin() || StageManager.Instance.isLoading || NewBieCenter.Instance.inGuiding) { return; } openChatAfterCollect = false; if (!WindowCenter.Instance.CheckOpen<ChatWin>()) { ChatCtrl.Inst.presentChatType = ChatInfoType.Fairy; WindowCenter.Instance.Open<ChatWin>(); } } #endregion } } System/FairyAu/FairyGrabBossModel.cs
@@ -93,6 +93,7 @@ GA_Hero.OnEnterOrExitArea += OnEnterOrExitArea; GAMgr.Instance.OnFightNpcRequest += OnFightNpcUpdate; GAMgr.Instance.OnFightNpcRelease += OnFightNpcUpdate; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; } public void OnBeforePlayerDataInitialize() @@ -112,6 +113,15 @@ GA_Hero.OnEnterOrExitArea -= OnEnterOrExitArea; GAMgr.Instance.OnFightNpcRequest -= OnFightNpcUpdate; GAMgr.Instance.OnFightNpcRelease -= OnFightNpcUpdate; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent; } private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType) { if (refreshType == PlayerDataRefresh.FBID) { RecheckGrabBoss(); } } private void OnEnterOrExitArea(MapArea.E_Type type, bool arg1) System/FairyAu/PlayerFairyAuTreasureData.cs
@@ -48,25 +48,40 @@ public Dictionary<int, FamilyStoreItem> _DicfamilyStoreItem = new Dictionary<int, FamilyStoreItem>();//家族仓库物品信息 public List<FamilyActionInfoClass> _InformationList = new List<FamilyActionInfoClass>(); public List<FamilyActionInfoClass> _InformationList = new List<FamilyActionInfoClass>(); public delegate void OnFairyAuIntegral(); public static event OnFairyAuIntegral Event_FairyAuIntegral;//用于仙盟积分的刷新 public delegate void OnFamilyActionInfo(); public static event OnFamilyActionInfo Event_FamilyActionInfo;//家族行为信息的刷新 public delegate void OnFamilyStoreItemInfo(); public static event OnFamilyStoreItemInfo Event_FamilyStoreItemInfo;//仓库信息的刷新 public static event Action<List<int>> Del_FamilyStoreItemInfo;//仓库信息物品的删除 public static event Action<List<int>> Del_FamilyStoreItemInfo;//仓库信息物品的删除 PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } } PackModelInterface _modelInterface; PackModelInterface modelInterface { get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); } } public int _FairyAuIntegral = 0;//获取仙盟积分 public int JumpItemID = 0;// public List<int> JumpItemID = new List<int>();//从跳转到仙盟仓库需要选中高亮 List<int> EquipmentList = new List<int>();//关于装备位置 public bool IsShowPoint = false;//是否显示红点 private const int Redpoint_key1 = 1070103; public Redpoint redPointStre1 = new Redpoint(10701, Redpoint_key1);//仙盟仓库红点 public override void Init() { var funConfig = Config.Instance.Get<FuncConfigConfig>("StrengthenDisplay"); int[] List = ConfigParse.GetMultipleStr<int>(funConfig.Numerical1); EquipmentList.Clear(); for (int i = 0; i < List.Length; i++) { EquipmentList.Add(List[i]); } } public override void UnInit() { { } public void OnBeforePlayerDataInitialize() @@ -76,8 +91,14 @@ } public void OnPlayerLoginOk() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418) PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting; WarehouseTipsWin.RedPointUpdate -= RedPointUpdate; WarehouseTipsWin.RedPointUpdate += RedPointUpdate; } } public void FairyAuIntegral(int value)//获取仙盟积分 { _FairyAuIntegral = value; @@ -94,46 +115,45 @@ FuncConfigConfig _PetFoodExchange = Config.Instance.Get<FuncConfigConfig>("PetFoodExchange"); _FamilyStoreItemP.ItemID = int.Parse(_PetFoodExchange.Numerical1); _DicfamilyStoreItem.Add(0, _FamilyStoreItemP); } } for (int i = 0; i < info.Count; i++) { if (_DicfamilyStoreItem.ContainsKey(info.StoreItemList[i].Index + 1)) continue; FamilyStoreItem _FamilyStoreItem = new FamilyStoreItem(); _FamilyStoreItem.ItemData = JsonUtility.FromJson<FamilyStoreItem.ItemJsonData>(info.StoreItemList[i].ItemData); _FamilyStoreItem.Index = info.StoreItemList[i].Index+1; _FamilyStoreItem.Index = info.StoreItemList[i].Index + 1; _FamilyStoreItem.ItemID = (int)info.StoreItemList[i].ItemID; _FamilyStoreItem._UserData = ConfigParse.Analysis(_FamilyStoreItem.ItemData.UserData); _DicfamilyStoreItem.Add((int)info.StoreItemList[i].Index+1, _FamilyStoreItem); } if (Event_FamilyStoreItemInfo != null) Event_FamilyStoreItemInfo(); _DicfamilyStoreItem.Add((int)info.StoreItemList[i].Index + 1, _FamilyStoreItem); } if (Event_FamilyStoreItemInfo != null) { Event_FamilyStoreItemInfo(); } IsShowRedPoint(); } List<int> List = new List<int>(); public void WarehouseToRefresh(byte [] _list)//仓库刷新 public void WarehouseToRefresh(byte[] _list)//仓库刷新 { List.Clear(); for (int i = 0; i < _list.Length; i++) { List.Add(_list[i]+1); List.Add(_list[i] + 1); } if (Del_FamilyStoreItemInfo != null) { Del_FamilyStoreItemInfo(List); } IsShowRedPoint(); } public void FamilyStoreDel(int _index ,int ClearType)//家族仓库物品删除(清除的格子索引, 仅单格子清除时有效,从0开始代表第一格,0-单格子清除; 1-所有物品清除) public void FamilyStoreDel(int _index, int ClearType)//家族仓库物品删除(清除的格子索引, 仅单格子清除时有效,从0开始代表第一格,0-单格子清除; 1-所有物品清除) { if (_DicfamilyStoreItem.ContainsKey(_index + 1) && ClearType==0) if (_DicfamilyStoreItem.ContainsKey(_index + 1) && ClearType == 0) { _DicfamilyStoreItem.Remove(_index + 1); } @@ -148,7 +168,7 @@ _FamilyStoreItemP.ItemID = int.Parse(_PetFoodExchange.Numerical1); _DicfamilyStoreItem.Add(0, _FamilyStoreItemP); } } } } public void FamilyActionInfo(HA403_tagGCFamilyActionInfo info)//接收家族行为信息 @@ -159,20 +179,96 @@ FamilyActionInfoClass _FamilyActionInfoClass = new FamilyActionInfoClass(); _FamilyActionInfoClass.FamilyID = (int)info.FamilyID; _FamilyActionInfoClass.ActionType = (int)info.ActionType; _FamilyActionInfoClass.Time =(int)info.FamilyActionList[i].Time; _FamilyActionInfoClass.Time = (int)info.FamilyActionList[i].Time; _FamilyActionInfoClass.Name = info.FamilyActionList[i].Name; _FamilyActionInfoClass.OperationType = (int)info.FamilyActionList[i].Value1; _FamilyActionInfoClass.PlayerID = (int)info.FamilyActionList[i].Value2; _FamilyActionInfoClass.ItemID = (int)info.FamilyActionList[i].Value3; _FamilyActionInfoClass.ItemData = JsonUtility.FromJson<FamilyActionInfoClass.ItemJsonData>(info.FamilyActionList[i].UseData); _FamilyActionInfoClass._UserData = ConfigParse.Analysis(_FamilyActionInfoClass.ItemData.UserData); _InformationList.Add(_FamilyActionInfoClass); _InformationList.Add(_FamilyActionInfoClass); } if (Event_FamilyActionInfo != null) Event_FamilyActionInfo();//家族行为信息的刷新 } private bool IsEquipmentComparison() { bool IsBool = false; SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptEquip); for (int i = 0; i < EquipmentList.Count; i++) { ItemModel ItemModel = singlePack.GetItemModelByIndex(i); int Type = i; if (ItemModel != null) { foreach (var key in _DicfamilyStoreItem.Keys) { if (key == 0) { continue; } int ItemId = _DicfamilyStoreItem[key].ItemID; var itemConfig = Config.Instance.Get<ItemConfig>(ItemId); int RealmLevel = PlayerDatas.Instance.baseData.realmLevel; int equipScore = modelInterface.SetEquipScore(PackType.rptEquip, ItemId, _DicfamilyStoreItem[key]._UserData); if (ItemModel.chinItemModel.EquipPlace == Type && RealmLevel >= itemConfig.RealmLimit && equipScore >= ItemModel.equipScore) { IsBool = true; } } } else { foreach (var key in _DicfamilyStoreItem.Keys) { if (key == 0) { continue; } int ItemId = _DicfamilyStoreItem[key].ItemID; var itemConfig = Config.Instance.Get<ItemConfig>(ItemId); int RealmLevel = PlayerDatas.Instance.baseData.realmLevel; if (itemConfig.EquipPlace == Type && RealmLevel >= itemConfig.RealmLimit) { IsBool = true; } } } } return IsBool; } private void IsShowRedPoint() { int GetDayOfYear = DateTime.Now.DayOfYear; string strKey= "Treasure"+ PlayerDatas.Instance.baseData.LV; int day = LocalSave.GetInt(strKey); if (day != GetDayOfYear && IsEquipmentComparison()) { LocalSave.SetInt(strKey, GetDayOfYear); IsShowPoint = true; } if (IsShowPoint) { redPointStre1.state = RedPointState.Simple; } else { redPointStre1.state = RedPointState.None; } } private void Updatefighting(PlayerDataRefresh obj)//刷新境界 { if (obj == PlayerDataRefresh.OfficialRank) { IsShowRedPoint(); } } private void RedPointUpdate() { IsShowRedPoint(); } } System/FairyAu/WarehouseTipsWin.cs
@@ -84,6 +84,7 @@ int _indexList = 0;//标记需要兑换的数组下标 int _WPID = 0;//用来标记需要兑换的物品ID private int SpiritPetDan = 0; public static event Action RedPointUpdate; #endregion @@ -132,15 +133,20 @@ protected override void OnAfterOpen() { if (RedPointUpdate!=null && playerFairyAuTreasureData.IsShowPoint) { playerFairyAuTreasureData.IsShowPoint = false; RedPointUpdate(); } _GridlineCtrl.mScrollRect.verticalNormalizedPosition = 1; HandleAchievement(); } protected override void OnPreClose() { if (playerFairyAuTreasureData.JumpItemID != 0) if (playerFairyAuTreasureData.JumpItemID!=null && playerFairyAuTreasureData.JumpItemID.Count>0) { playerFairyAuTreasureData.JumpItemID = 0; playerFairyAuTreasureData.JumpItemID.Clear(); } } @@ -1021,36 +1027,41 @@ int Color = 0;//颜色 int Star = 0;//颜色 int EquipPlace = 0;//装备位置 if (playerFairyAuTreasureData.JumpItemID == 0) if (playerFairyAuTreasureData.JumpItemID==null || playerFairyAuTreasureData.JumpItemID.Count <= 0) { return; } int ItemId = playerFairyAuTreasureData.JumpItemID; var itemconfig = Config.Instance.Get<ItemConfig>(ItemId); if (itemconfig.EquipPlace == 0 && itemconfig.EquipPlace > 10) for (int i = 0; i < playerFairyAuTreasureData.JumpItemID.Count; i++) { return; } Order = itemconfig.LV; Color = itemconfig.ItemColor; Star = itemconfig.StarLevel; EquipPlace = itemconfig.EquipPlace; foreach (var key in playerFairyAuTreasureData._DicfamilyStoreItem.Keys) { var Item_ID = playerFairyAuTreasureData._DicfamilyStoreItem[key].ItemID; var item_config = Config.Instance.Get<ItemConfig>(Item_ID); if (item_config==null && item_config.EquipPlace == 0 && item_config.EquipPlace > 10) int ItemId = playerFairyAuTreasureData.JumpItemID[i]; var itemconfig = Config.Instance.Get<ItemConfig>(ItemId); if (itemconfig.EquipPlace == 0 && itemconfig.EquipPlace > 10) { continue; return; } if (item_config.LV >= Order && item_config.ItemColor >= Color && item_config.StarLevel >= Star && EquipPlace == item_config.EquipPlace && PlayerDatas.Instance.baseData.Job == item_config.JobLimit / 100) Order = itemconfig.LV; Color = itemconfig.ItemColor; Star = itemconfig.StarLevel; EquipPlace = itemconfig.EquipPlace; foreach (var key in playerFairyAuTreasureData._DicfamilyStoreItem.Keys) { DicHighlight.Add(key,1); var Item_ID = playerFairyAuTreasureData._DicfamilyStoreItem[key].ItemID; var item_config = Config.Instance.Get<ItemConfig>(Item_ID); if (item_config == null && item_config.EquipPlace == 0 && item_config.EquipPlace > 10) { continue; } if (item_config.LV >= Order && item_config.ItemColor >= Color && item_config.StarLevel >= Star && EquipPlace == item_config.EquipPlace && PlayerDatas.Instance.baseData.Job == item_config.JobLimit / 100) { if (!DicHighlight.ContainsKey(key)) { DicHighlight.Add(key, 1); } } } } } } private void ClearItemID(int Index) System/Message/RichMoveEvent.cs
@@ -45,6 +45,12 @@ case RichTextEventEnum.MOVENPC: { int id = int.Parse(href.mSplits["movenpc"]); var error = 0; if (MoveNpcLimit(id, out error)) { ProcessMoveNpcError(error); return false; } GA_Hero hero = PlayerDatas.Instance.hero; if (hero != null) { @@ -217,4 +223,27 @@ pos.y = _hero.Pos.y; _hero.MoveToPosition(pos); } private bool MoveNpcLimit(int npcId, out int error) { error = 0; var _fairyGrabBossModel = ModelCenter.Instance.GetModel<FairyGrabBossModel>(); if (_fairyGrabBossModel.bosses.Contains(npcId) && !_fairyGrabBossModel.InActivityTime) { error = 1; return true; } return false; } void ProcessMoveNpcError(int error) { switch (error) { case 1: SysNotifyMgr.Instance.ShowTip("FairyGrabBossUnOpen"); break; } } } System/OpenServerActivity/OSGiftBehaviour.cs
@@ -38,6 +38,8 @@ } } OSGiftModel giftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } } private int storeId = 0; private void Awake() @@ -164,6 +166,11 @@ return; case StoreFunc.OSGift: { if (giftModel.IsGiftOverdue(_storeConfig.ID)) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return; } ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("OSTimeLimitGiftConfirm", _storeConfig.MoneyNumber), (bool isOk) => { System/OpenServerActivity/OSGiftModel.cs
@@ -31,6 +31,7 @@ } public event Action<int> onStateUpate; public event Action timeLimitUpdate; public bool activate { get; private set; } @@ -74,6 +75,31 @@ } } public int timeOverdueGiftId { get; private set; } public DateTime overDueTime = DateTime.Now; public bool allOverdue { get; private set; } public void UpdateTime(HAA16_tagMCSuperGiftInfo package) { timeOverdueGiftId = (int)package.GiftID; var _time = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, 0, 0, 0); overDueTime = _time.AddDays(package.RemainDay); allOverdue = package.RemainDay == 0; bool _activate = CheckActivate(); if (activate != _activate) { activate = _activate; if (onStateUpate != null) { onStateUpate(6); } } if (timeLimitUpdate != null) { timeLimitUpdate(); } UpdateRedpoint(); } private void FirstChargeRewardEvent() { bool _activate = CheckActivate(); @@ -95,15 +121,48 @@ { return false; } if (allOverdue) { return false; } List<StoreConfig> _list = null; StoreConfig.TryGetStoreConfigs((int)StoreFunc.OSGift,out _list); for (int i = 0; i < _list.Count; i++) { if (IsGiftOverdue(_list[i].ID)) { continue; } var _limit = storeModel.GetBuyShopLimit((uint)_list[i].ID); if (_limit == null || _limit.BuyCnt < _list[i].PurchaseNumber[0]) { return true; } } return false; } public bool IsGiftOverdue(int _id) { if (allOverdue || _id < timeOverdueGiftId) { return true; } if (_id == timeOverdueGiftId) { return TimeUtility.ServerNow >= overDueTime; } return false; } public bool IsGiftBuy(int _id) { var _limit = storeModel.GetBuyShopLimit((uint)_id); var config = Config.Instance.Get<StoreConfig>(_id); if (_limit != null && config != null && _limit.BuyCnt >= config.PurchaseNumber[0]) { return true; } return false; } @@ -123,8 +182,10 @@ public void OnBeforePlayerDataInitialize() { allOverdue = false; timeOverdueGiftId = 0; } public void SetDayRemind() { if (OSGiftRedpoint.state == RedPointState.Simple) System/OpenServerActivity/OpenServerGiftWin.cs
@@ -17,7 +17,9 @@ [SerializeField] RectTransform m_ContainerDisplay; [SerializeField] Button[] m_CloseBtns; [SerializeField] OSGiftBehaviour[] m_OSGifts; [SerializeField] RectTransform m_ContainerTime; [SerializeField] Text m_Overdue; [SerializeField] Text m_Timer; StoreModel m_Model; StoreModel model { @@ -26,6 +28,8 @@ return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<StoreModel>()); } } int currentSelectId = 0; OSGiftModel giftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } } #region Built-in @@ -46,6 +50,9 @@ WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent; WindowCenter.Instance.windowAfterCloseEvent += windowAfterCloseEvent; model.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent; TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh; GlobalTimeEvent.Instance.secondEvent += SecondEvent; giftModel.timeLimitUpdate += TimeLimitUpdate; giftModel.SetDayRemind(); Display(); @@ -61,6 +68,9 @@ WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterOpenEvent; WindowCenter.Instance.windowAfterCloseEvent -= windowAfterCloseEvent; model.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent; TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh; GlobalTimeEvent.Instance.secondEvent -= SecondEvent; giftModel.timeLimitUpdate -= TimeLimitUpdate; } protected override void OnAfterClose() @@ -89,6 +99,38 @@ Display(); } private void OnServerOpenDayRefresh() { Display(); } private void SecondEvent() { DisplayTimer(); } private void TimeLimitUpdate() { DisplayTimer(); } void DisplayTimer() { var seconds = (int)(giftModel.overDueTime - TimeUtility.ServerNow).TotalSeconds; if (giftModel.allOverdue || giftModel.IsGiftOverdue(currentSelectId) || seconds <= 0) { m_ContainerTime.gameObject.SetActive(false); m_Overdue.gameObject.SetActive(true); } else { m_ContainerTime.gameObject.SetActive(true); m_Overdue.gameObject.SetActive(false); m_Timer.text = TimeUtility.SecondsToDHMSCHS(seconds); m_Timer.color = UIHelper.GetUIColor(TextColType.Green); } } private void Display() { List<StoreConfig> _list = null; @@ -96,13 +138,17 @@ var _index = 0; for (int i = 0; i < _list.Count; i++) { var _storeConfig = Config.Instance.Get<StoreConfig>(_list[i].ID); var _limit = model.GetBuyShopLimit((uint)_list[i].ID); if (_limit == null || _limit.BuyCnt < _storeConfig.PurchaseNumber[0]) if (!giftModel.IsGiftOverdue(_list[i].ID)) { _index = i; m_OSGifts[i].Display(_list[i].ID); break; var _storeConfig = Config.Instance.Get<StoreConfig>(_list[i].ID); var _limit = model.GetBuyShopLimit((uint)_list[i].ID); if (_limit == null || _limit.BuyCnt < _storeConfig.PurchaseNumber[0]) { _index = i; currentSelectId = _list[i].ID; m_OSGifts[i].Display(_list[i].ID); break; } } _index = i; } @@ -110,6 +156,7 @@ { m_OSGifts[i].gameObject.SetActive(_index == i); } DisplayTimer(); } private void OnCloseClick() System/TreasureFindHost/ReciveConditionCell.cs
@@ -118,6 +118,7 @@ receivedImg.SetActive(false); receiveBtn.AddListener(() => { hostModel.SetAdviceIdlist(adviceIdlist); ItemAttrData attrData = new ItemAttrData(adviceIdlist[0], true, 0, -1, 0, true, PackType.rptDeleted, "", null, ItemTipChildType.GetEquipPath); tipsModel.SetItemTipsModel(attrData, false); if (tipsModel.compareAttrData != null) System/TreasureFindHost/TreasureFindHostModel.cs
@@ -340,6 +340,21 @@ return false; } public int SelectTreasureId { get; private set; } public void SetSelectTreasureId(int treasureId) { SelectTreasureId = treasureId; } public List<int> adviceIdlist = new List<int>(); public void SetAdviceIdlist(List<int> idlist) { if (idlist == null || idlist.Count < 1) return; adviceIdlist.Clear(); adviceIdlist.AddRange(idlist); } #region 处理服务端数据 public event Action OnCompletedAct; public void GetServerAwardRecord(HA348_tagMCXBXZAwardRecordList awardRecord) System/TreasureFindHost/TreasureFindHostWin.cs
@@ -202,6 +202,7 @@ } selectTreasureId = treasureId; hostModel.SetSelectTreasureId(treasureId); UI3DTreasureExhibition.Instance.BeginShowTreasure(selectTreasureId, treasureIcon); CreateConditionCell(); functionOrder = index; System/Vip/LimitedTimePackageWin.cs
@@ -50,6 +50,7 @@ { OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeUpdateEvent; limitedTimePackageItemModel.UpdateLimitedTimePackageItem += UpdateLimitedTimePackageItem; GlobalTimeEvent.Instance.secondEvent += secondEvent; time = 0; m_Buy_Btn.interactable = true; DisPlay(); @@ -88,7 +89,7 @@ if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase)) { GiftPackageClass operation = operationBase as GiftPackageClass; m_Text_ActivityTimeTo.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime()); // m_Text_ActivityTimeTo.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime()); var index = operation.IndexOfFlashShop(); if (index != -1 && index < operation.giftpackage1.Count) { @@ -169,8 +170,10 @@ { OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; limitedTimePackageItemModel.UpdateLimitedTimePackageItem -= UpdateLimitedTimePackageItem; GlobalTimeEvent.Instance.secondEvent -= secondEvent; } protected override void OnAfterClose() { } @@ -186,7 +189,37 @@ } } } private void secondEvent() { int time = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.GiftPackage); if (time <= 0) { m_Text_ActivityTimeTo.text = Language.Get("LimitGift2"); } if (time > 86400) { m_Text_ActivityTimeTo.gameObject.SetActive(false); } else { if (!m_Text_ActivityTimeTo.gameObject.activeSelf) { m_Text_ActivityTimeTo.gameObject.SetActive(true); } if (time < 3600) { m_Text_ActivityTimeTo.text =Language.Get("LimitGift1")+":"+ TimeUtility.SecondsToHMS(time); m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green); } else { m_Text_ActivityTimeTo.text = Language.Get("LimitGift1") + ":" + TimeUtility.SecondsToHMS(time); m_Text_ActivityTimeTo.color = UIHelper.GetUIColor(TextColType.Green); } } } #endregion } System/WindowJump/WindowJumpMgr.cs
@@ -219,21 +219,32 @@ return; } break; case JumpUIType.OpenServerGift: if (!ModelCenter.Instance.GetModel<OSGiftModel>().activate) case JumpUIType.OpenServerGift1: case JumpUIType.OpenServerGift2: case JumpUIType.OpenServerGift3: var giftModel = ModelCenter.Instance.GetModel<OSGiftModel>(); int giftId = 0; int.TryParse(_tagWinSearchModel.SelectActive, out giftId); if (!giftModel.CheckActivate()) { if (PlayerDatas.Instance.baseData.coinPointTotal <= 0 || !ModelCenter.Instance.GetModel<VipModel>().firstChargeRewardGet) { SysNotifyMgr.Instance.ShowTip("GiftNoOpen"); } else else if (giftModel.IsGiftBuy(giftId)) { SysNotifyMgr.Instance.ShowTip("GiftAlreadyBuy"); } else if (giftModel.IsGiftOverdue(giftId)) { SysNotifyMgr.Instance.ShowTip("MissSell"); } return; } break; case JumpUIType.OpenServerGift: return; } DebugEx.Log("WindowJumpTo" + jumpType); @@ -575,6 +586,9 @@ case JumpUIType.ConsumreRebate: case JumpUIType.BossReborn: case JumpUIType.OpenServerGift: case JumpUIType.OpenServerGift1: case JumpUIType.OpenServerGift2: case JumpUIType.OpenServerGift3: case JumpUIType.LimitedTimePackage: case JumpUIType.OpenServerRank: SetJumpLogic<OpenServerActivityWin>(_tagWinSearchModel.TABID); @@ -1126,7 +1140,9 @@ TrialDungeonSelect3 = 219, //宗门试练三层 FindPreciousFrameFunc4Type2 = 220, //古神禁地界面 返回主界面 FindPreciousFrameFunc2Type2 = 221, //BOSS之家 返回主界面 OpenServerGift1 = 223, //超值礼包1 OpenServerGift2 = 224, //超值礼包2 OpenServerGift3 = 225, //超值礼包3 DhszTs = 1001,//定海神针功法提升界面 HyqTs = 1002,//皓月枪功法提升界面 GyzTs = 1003,//鬼牙刃功法提升界面