System/Auction/AuctionHelpModel.cs
@@ -174,25 +174,6 @@ } return 1; } public int GetEquipScore(int equipLevel, int equipPlace)//获取部位的装备评分 { int score = -1; string equipGuid = string.Empty; var equipSet = equipModel.GetEquipSet(equipLevel); if (equipSet == null) { return -1; } equipGuid = equipSet.GetEquip(equipPlace); var equiped = !string.IsNullOrEmpty(equipGuid); if (equiped) { var item = packModel.GetItemByGuid(equipGuid); score = item.score; } return score; } } } System/Auction/AuctionLogicUtil.cs
@@ -9,6 +9,7 @@ static int extraAuctionSecond = 0; static EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } static PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } static public void Initialize() { @@ -49,6 +50,7 @@ { var endTime = item.putAwayTime.AddTicks(TimeSpan.TicksPerMinute * config.NoticeSaleMinutes); var seconds = Mathf.CeilToInt((float)(endTime - TimeUtility.ServerNow).TotalSeconds); seconds = Mathf.Max(0, seconds); return Language.Get("PMH_03", TimeUtility.SecondsToHMS(seconds)); } @@ -60,11 +62,13 @@ if (isExtraTime) { var seconds = Mathf.CeilToInt((float)(extraEndTime - TimeUtility.ServerNow).TotalSeconds); seconds = Mathf.Max(0, seconds); return Language.Get("PMH_18", TimeUtility.SecondsToHMS(seconds)); } else { var seconds = Mathf.CeilToInt((float)(normalEndTime - TimeUtility.ServerNow).TotalSeconds); seconds = Mathf.Max(0, seconds); return Language.Get("PMH_04", TimeUtility.SecondsToHMS(seconds)); } } @@ -152,40 +156,31 @@ return false; } var isMyJobItem = itemConfig.JobLimit == PlayerDatas.Instance.baseData.Job; var equiped = !equipModel.GetEquip(new Int2(itemConfig.LV, itemConfig.EquipPlace)).Equals(string.Empty); var equipSet = equipModel.GetEquipSet(itemConfig.LV); var equipPositionUnlock = equipSet.IsSlotUnLocked(itemConfig.EquipPlace); return isMyJobItem && equipPositionUnlock && !equiped; } static public void SendBiddingItem(AuctionItem item, bool immediatly) { if (item == null) if (itemConfig.JobLimit != 0 && itemConfig.JobLimit != PlayerDatas.Instance.baseData.Job) { return; return false; } var config = AuctionItemConfig.Get(item.itemId); var cost = immediatly ? config.BuyoutPrice * item.itemCount : GetBiddingRequireMoney(item); var label = Language.Get(immediatly ? "PMH_02" : "PMH_01", cost); ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), label, (bool isOk) => var equipSet = equipModel.GetEquipSet(itemConfig.LV); if (!equipSet.IsSlotUnLocked(itemConfig.EquipPlace)) { if (isOk) { var money = PlayerDatas.Instance.baseData.diamond; if (money >= cost) { AuctionInquiry.Instance.SendSellAuctionItem(item.itemGuid, cost); } else { WindowCenter.Instance.Open<RechargeTipWin>(); } } }); } return false; } var equipGuid = equipModel.GetEquip(new Int2(itemConfig.LV, itemConfig.EquipPlace)); if (string.IsNullOrEmpty(equipGuid)) { return true; } var itemModel = packModel.GetItemByGuid(equipGuid); if (itemModel == null) { return true; } return itemModel.config.SuiteiD == 0 && itemConfig.SuiteiD != 0; } } } System/Auction/AuctionModel.cs
@@ -10,13 +10,6 @@ namespace Snxxz.UI { public class AddAuctionItemInfoClass { public string ItemGUID;//物品GUID public int ItemID;//物品ID public bool Bool; } public class QueryRemainingClass { public bool UpBool; @@ -33,10 +26,9 @@ List<string> m_MyBiddingItemGuids = new List<string>();//拍卖行玩家竞价中的物品信息 List<string> m_MyFocusAuctionItemGuids = new List<string>();//拍卖行关注中的拍品详情 List<string> m_AuctionRecords = new List<string>();//拍卖行玩家拍卖记录 List<FocusAuctionItem> m_FocusItems = new List<FocusAuctionItem>();//关注的拍品的上架提醒(弹框显示) List<int> m_MyFocusItemIds = new List<int>();//关注的物品ID public Dictionary<int, AddAuctionItemInfoClass> AddAuctionItemInfoDic = new Dictionary<int, AddAuctionItemInfoClass>();//关注的拍品的上架提醒(弹框显示) public QueryRemainingClass QueryRemaining = new QueryRemainingClass(); @@ -45,6 +37,7 @@ public bool isLocationQuery { get; set; } public string locationGuid { get; set; } public bool isServerPrepare { get; private set; } public event Action myAuctionRefresh; public event Action serverAuctionRefresh;//全服拍品数据请求 @@ -55,8 +48,7 @@ public event Action myFocusAuctionRefresh;//拍卖行关注中的拍品信息变更(信息每次重置) public event Action auctionItemRefresh;//拍卖行数据刷新(仅用于数据刷新) public event Action onAuctionRemove;//拍卖行物品清除 public event Action onFairyAuctionRemove;//清除仙盟物品 public event Action AddAuctionItemInfoUpdate; public event Action onFocusAuctionRefresh; AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } } @@ -69,20 +61,24 @@ public void OnBeforePlayerDataInitialize() { isLocationQuery = false; isServerPrepare = false; m_MyAuctionItemGuids.Clear(); m_FairyAuctionItemGuids.Clear(); m_AuctionRecords.Clear(); AddAuctionItemInfoDic.Clear(); m_MyBiddingItemGuids.Clear(); m_MyFocusAuctionItemGuids.Clear(); m_MyFocusItemIds.Clear(); PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine; } public void OnPlayerLoginOk() { RefreshRedpoint(); PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine; isServerPrepare = true; RefreshRedpoint(); } @@ -106,6 +102,7 @@ { m_ServerAuctionItemGuids.Clear(); m_AuctionItems.Clear(); m_FocusItems.Clear(); } } @@ -114,9 +111,9 @@ if (PlayerDatas.Instance.baseData.FamilyId == 0) { m_FairyAuctionItemGuids.Clear(); if (onFairyAuctionRemove != null) if (fairyAuctionRefresh != null) { onFairyAuctionRemove(); fairyAuctionRefresh(); } } } @@ -225,6 +222,17 @@ return false; } public bool TryGetFocusAuctionPop(out FocusAuctionItem item) { item = default(FocusAuctionItem); if (m_FocusItems.Count > 0) { item = m_FocusItems[0]; return true; } return false; } public List<string> GetServerAuctionItems() { List<string> guids = new List<string>(); @@ -325,6 +333,14 @@ return m_MyFocusItemIds.Contains(id); } public void RemoveFocusItemPop() { if (m_FocusItems.Count > 0) { m_FocusItems.RemoveAt(0); } } public void ReceivePackage(HB501_tagGCAuctionItemInfo package)// 拍卖行拍卖中的物品信息 { List<string> fullServiceAuctionList = new List<string>(); @@ -343,11 +359,8 @@ item.itemId = (int)data.ItemID; item.itemCount = (int)data.ItemCount; item.putAwayTime = DateTime.Parse(data.AddTime); var str = UIHelper.ServerStringTrim(data.BiddingTime); if (!str.Equals(string.Empty)) { item.biddingTime = DateTime.Parse(str); } var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime); item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel); item.biddingPrice = data.BidderPrice; item.customData = data.UserData; @@ -369,6 +382,11 @@ } else if (package.QueryDir == 3)//定位查询 { if (WindowCenter.Instance.IsOpen<AuctionHouseWin>()) { return; } m_ServerAuctionItemGuids.Clear(); m_ServerAuctionItemGuids.AddRange(fullServiceAuctionList); auctionHelpModel.SelectedGenreNow = 0; isLocationQuery = true; @@ -400,11 +418,8 @@ item.itemId = (int)data.ItemID; item.itemCount = (int)data.ItemCount; item.putAwayTime = DateTime.Parse(data.AddTime); var str = UIHelper.ServerStringTrim(data.BiddingTime); if (!str.Equals(string.Empty)) { item.biddingTime = DateTime.Parse(str); } var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime); item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel); item.biddingPrice = data.BidderPrice; item.customData = data.UserData; @@ -455,25 +470,31 @@ public void ReceivePackage(HB504_tagGCAddAuctionItemInfo package)//拍卖行新上架拍品(玩家有关注的拍品 ) { if (!isServerPrepare) { return; } for (int i = 0; i < package.AddCount; i++) { var data = package.AddAuctionItemList[i]; AddAuctionItemInfoClass addAuctionItemInfo = new AddAuctionItemInfoClass(); addAuctionItemInfo.ItemGUID = UIHelper.ServerStringTrim(data.ItemGUID); addAuctionItemInfo.ItemID = (int)data.ItemID; addAuctionItemInfo.Bool = true; if (AddAuctionItemInfoDic.ContainsKey(addAuctionItemInfo.ItemID)) var guid = UIHelper.ServerStringTrim(data.ItemGUID); if (m_FocusItems.FindIndex((x) => { AddAuctionItemInfoDic[addAuctionItemInfo.ItemID] = addAuctionItemInfo; } else return x.itemId == data.ItemID || x.itemGuid.Equals(guid); }) != -1) { AddAuctionItemInfoDic.Add(addAuctionItemInfo.ItemID, addAuctionItemInfo); continue; } var focusItem = new FocusAuctionItem() { itemGuid = guid, itemId = (int)data.ItemID, }; m_FocusItems.Add(focusItem); } if (AddAuctionItemInfoUpdate != null) if (onFocusAuctionRefresh != null) { AddAuctionItemInfoUpdate(); onFocusAuctionRefresh(); } } @@ -496,11 +517,8 @@ item.itemId = (int)data.ItemID; item.itemCount = (int)data.ItemCount; item.putAwayTime = DateTime.Parse(data.AddTime); var str = UIHelper.ServerStringTrim(data.BiddingTime); if (!str.Equals(string.Empty)) { item.biddingTime = DateTime.Parse(str); } var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime); item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel); item.biddingPrice = data.BidderPrice; item.customData = data.UserData; item.familyPlayers = new List<int>(); @@ -538,11 +556,8 @@ item.itemId = (int)data.ItemID; item.itemCount = (int)data.ItemCount; item.putAwayTime = DateTime.Parse(data.AddTime); var str = UIHelper.ServerStringTrim(data.BiddingTime); if (!str.Equals(string.Empty)) { item.biddingTime = DateTime.Parse(str); } var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime); item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel); item.biddingPrice = data.BidderPrice; item.customData = data.UserData; @@ -577,6 +592,8 @@ public void ReceivePackage(HB508_tagGCRefreshAuctionItemInfo package)//拍卖行刷新拍品(只进行刷新) { var refreshFairyAuction = false; for (int i = 0; i < package.RefreshCount; i++) { var data = package.RefreshAuctionItemList[i]; @@ -586,37 +603,43 @@ AuctionItem item; if (!TryGetAuctionItem(guid, out item)) { continue; item = new AuctionItem(guid); PushAuctionItem(item); } var _autionType = item.auctionType; item.auctionType = data.AuctionType; item.putAwayTime = DateTime.Parse(data.AddTime); item.biddingTime = DateTime.Parse(data.BiddingTime); var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime); item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel); item.biddingPlayer = (int)data.BidderID; item.biddingPrice = (int)data.BidderPrice; var str = UIHelper.ServerStringTrim(data.BiddingTime); if (!str.Equals(string.Empty)) { item.biddingTime = DateTime.Parse(str); } if (m_FairyAuctionItemGuids.Contains(guid) && item.auctionType != 1)// 拍卖行仙盟拍卖中的物品信息 if (_autionType == 1 && item.auctionType != 1)// 拍卖行仙盟拍卖中的物品信息 { m_FairyAuctionItemGuids.Remove(guid); if (onFairyAuctionRemove != null) { onFairyAuctionRemove(); } refreshFairyAuction = true; } if (auctionItemRefresh != null) } if (refreshFairyAuction) { if (fairyAuctionRefresh != null) { auctionItemRefresh(); fairyAuctionRefresh(); } } if (auctionItemRefresh != null) { auctionItemRefresh(); } } public void ReceivePackage(HB509_tagGCClearAuctionItemInfo package)//拍卖行清除拍品 { var refreshFairyAuction = false; for (int i = 0; i < package.ClearCount; i++) { var ItemGUIDList = package.ClearAuctionItemList[i]; @@ -629,10 +652,7 @@ if (m_FairyAuctionItemGuids.Contains(guid))// 清除拍卖行仙盟拍卖中的物品信息 { m_FairyAuctionItemGuids.Remove(guid); if (onFairyAuctionRemove != null) { onFairyAuctionRemove(); } refreshFairyAuction = true; } var index = m_ServerAuctionItemGuids.IndexOf(guid); if (index != -1)//清除全服拍品的某一件物品 @@ -649,6 +669,13 @@ } RemoveAuctionItem(guid); } if (refreshFairyAuction) { if (fairyAuctionRefresh != null) { fairyAuctionRefresh(); } } if (onAuctionRemove != null) { @@ -675,11 +702,8 @@ item.itemCount = data.ItemCount; item.familyId = (int)data.FamilyID; item.putAwayTime = DateTime.Parse(data.AddTime); var str = UIHelper.ServerStringTrim(data.BiddingTime); if (!str.Equals(string.Empty)) { item.biddingTime = DateTime.Parse(str); } var biddingTimeLabel = UIHelper.ServerStringTrim(data.BiddingTime); item.biddingTime = string.IsNullOrEmpty(biddingTimeLabel) ? DateTime.MinValue : DateTime.Parse(biddingTimeLabel); item.biddingPrice = data.BidderPrice;//竞拍玩家出价 item.biddingPlayer = (int)data.BidderID;//竞拍玩家ID,也就是当前最高竞价玩家ID item.customData = data.UserData; @@ -693,6 +717,32 @@ { myBiddingAuctionRefresh(); } } public void SendBiddingItem(AuctionItem item, bool immediatly) { if (item == null) { return; } var config = AuctionItemConfig.Get(item.itemId); var cost = immediatly ? config.BuyoutPrice * item.itemCount : AuctionLogicUtil.GetBiddingRequireMoney(item); var label = Language.Get(immediatly ? "PMH_02" : "PMH_01", cost); ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), label, (bool isOk) => { if (isOk) { var money = PlayerDatas.Instance.baseData.diamond; if (money >= cost) { AuctionInquiry.Instance.SendSellAuctionItem(item.itemGuid, cost); } else { WindowCenter.Instance.Open<RechargeTipWin>(); } } }); } #region 定位查询 @@ -847,6 +897,11 @@ } } public struct FocusAuctionItem { public string itemGuid;//物品GUID public int itemId;//物品ID } } System/Auction/FamilyAuctionWin.cs
@@ -19,7 +19,7 @@ AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } } AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } } List<string> fairyAuctionItems = new List<string>(); List<string> itemGuids = new List<string>(); #region Built-in protected override void BindController() { @@ -37,7 +37,7 @@ OnCreateGridCellItem(m_ScrollerControllerItem); var index = fairyAuctionItems.FindIndex((x) => var index = itemGuids.FindIndex((x) => { return x.Equals(model.locationGuid); }); @@ -53,7 +53,6 @@ protected override void OnAfterOpen() { model.fairyAuctionRefresh += FamilyAuctionReset; model.onFairyAuctionRemove += FamilyAuctionReset; model.auctionItemRefresh += RefreshAuctionItemUpdate; model.myBiddingAuctionRefresh += RefreshAuctionItemUpdate; } @@ -61,13 +60,9 @@ protected override void OnPreClose() { model.fairyAuctionRefresh -= FamilyAuctionReset; model.onFairyAuctionRemove -= FamilyAuctionReset; model.myBiddingAuctionRefresh -= RefreshAuctionItemUpdate; model.auctionItemRefresh -= RefreshAuctionItemUpdate; } protected override void OnAfterClose() { @@ -90,7 +85,7 @@ { gridCtrl.Refresh(); for (int i = 0; i < fairyAuctionItems.Count; i++) for (int i = 0; i < itemGuids.Count; i++) { gridCtrl.AddCell(ScrollerDataType.Header, i); } @@ -101,14 +96,14 @@ { int index = cell.index; FamilyAuctioncell familyAuctionCell = cell.GetComponent<FamilyAuctioncell>(); familyAuctionCell.GetFamilyAuctionGUID(fairyAuctionItems[index]); familyAuctionCell.GetFamilyAuctionGUID(itemGuids[index]); } private void GetFamilyAuctionItemList() { fairyAuctionItems.Clear(); this.itemGuids.Clear(); var itemGuids = model.GetFairyAuctionItems(); foreach (var guid in itemGuids) { @@ -117,7 +112,7 @@ { if (item.auctionType == 1) { fairyAuctionItems.Add(guid); this.itemGuids.Add(guid); } } } @@ -125,7 +120,7 @@ private void ListSotr() { fairyAuctionItems.Sort(Compare); itemGuids.Sort(Compare); } int Compare(string x, string y)//数组排列 System/Auction/FamilyAuctioncell.cs
@@ -108,14 +108,14 @@ m_PriceButton.SetListener(() => //一口价 { AuctionLogicUtil.SendBiddingItem(auctionItem, true); model.SendBiddingItem(auctionItem, true); }); m_JadeNumber2.text = requireMoney.ToString(); m_BiddingButton.SetListener(() => //竞价 { AuctionLogicUtil.SendBiddingItem(auctionItem, false); model.SendBiddingItem(auctionItem, false); }); Display(auctionItem); System/Auction/FullServiceAuctionWin.cs
@@ -58,7 +58,8 @@ model.serverAuctionRefresh += FullServiceAuctionUpdate;//数据请求刷新 model.auctionItemRefresh += RefreshAuctionItemUpdate;//刷新 model.onAuctionRemove += ClearAuctionUpdate;//清除 model.myBiddingAuctionRefresh += BiddingItemInfoUpdate;//竞价物品信息刷新 model.myBiddingAuctionRefresh += BiddingItemInfoUpdate;//竞价物品信息刷新 m_ScrollerControllerItem.onValueChange += OnValueChange; ResetServerAuctionInquiry(); CloseTip(); @@ -91,7 +92,24 @@ model.auctionItemRefresh -= RefreshAuctionItemUpdate; model.onAuctionRemove -= ClearAuctionUpdate; model.myBiddingAuctionRefresh -= BiddingItemInfoUpdate;//竞价物品信息刷新 GlobalTimeEvent.Instance.secondEvent -= secondEvent; GlobalTimeEvent.Instance.secondEvent -= secondEvent; m_ScrollerControllerItem.onValueChange -= OnValueChange; } private void OnValueChange(Vector2 delta) { if (delta.y >= 1) { if (!auctionHelpModel.isOpenPanel && auctionHelpModel.Wait && model.QueryRemaining.UpBool) { var inquiryIndex = AuctionInquiry.Instance.GetInquiryIndex(); if (itemGuids.Count > 0) { model.SendInquiryServerAcution(inquiryIndex, itemGuids[0], 2); auctionHelpModel.Wait = false; } } } } protected override void OnAfterClose() @@ -281,6 +299,7 @@ private void OnCreateGridLineCellItem(ScrollerController gridCtrl) { itemGuids.Clear(); if (!model.isLocationQuery && !model.QueryRemaining.UpBool) { PushMyBiddingItems(); @@ -349,8 +368,6 @@ private void PushMyBiddingItems() { itemGuids.Clear(); var index = AuctionInquiry.Instance.GetInquiryIndex(); if (index == 0) { System/Auction/FullServiceAuctioncell.cs
@@ -14,6 +14,7 @@ public class FullServiceAuctioncell : MonoBehaviour { [SerializeField] Transform m_Container; [SerializeField] GameObject m_NeedImage;//需要 [SerializeField] GameObject m_ParticipateImage;//参与竞价 [SerializeField] ItemCell m_ItemCell;//物品 @@ -57,9 +58,13 @@ public void GetFullServiceAuctionGUID(string guid, int index, int totalCount) { m_Container.gameObject.SetActive(!string.IsNullOrEmpty(guid)); m_NeedImage.SetActive(false); m_ParticipateImage.SetActive(false); m_HighestPriceImage.SetActive(false); this.auctionItemGuid = guid; AuctionItem auctionItem; if (!model.TryGetServerAuctionItem(guid, out auctionItem)) @@ -67,19 +72,17 @@ return; } this.auctionItemGuid = guid; #region 滚动查询 var inquiryIndex = AuctionInquiry.Instance.GetInquiryIndex(); if (index < 2) { if (inquiryIndex != 0 && auctionHelpModel.Wait && model.QueryRemaining.UpBool) if (inquiryIndex != 0 && auctionHelpModel.Wait && model.QueryRemaining.UpBool && !auctionHelpModel.isOpenPanel) { model.SendInquiryServerAcution(inquiryIndex, auctionItem.itemGuid, 2); auctionHelpModel.Wait = false; } } else if (index >= totalCount - 3) else if (index >= totalCount - 5) { if (inquiryIndex != 0 && auctionHelpModel.Wait && model.QueryRemaining.DownBool && !auctionHelpModel.isOpenPanel) { @@ -129,14 +132,14 @@ m_PriceButton.SetListener(() => //一口价 { AuctionLogicUtil.SendBiddingItem(auctionItem, true); model.SendBiddingItem(auctionItem, true); }); m_JadeNumber2.text = requireMoney.ToString(); m_BiddingButton.SetListener(() => //竞价 { AuctionLogicUtil.SendBiddingItem(auctionItem, false); model.SendBiddingItem(auctionItem, false); }); Display(auctionItem); @@ -145,6 +148,10 @@ private void LateUpdate() { if (string.IsNullOrEmpty(auctionItemGuid)) { return; } timer += Time.deltaTime; if (timer >= 0.5f) { System/Auction/MyAuctionWin.cs
@@ -43,7 +43,7 @@ model.onAuctionRemove += ResetUpdate; model.auctionItemRefresh += AuctionItemUpdate;//刷新 model.fairyAuctionRefresh += ResetUpdate; model.AddAuctionItemInfoUpdate += ResetUpdate; model.onFocusAuctionRefresh += ResetUpdate; model.myAuctionRefresh += ResetUpdate; } @@ -53,7 +53,7 @@ model.onAuctionRemove -= ResetUpdate; model.auctionItemRefresh -= AuctionItemUpdate;//刷新 model.fairyAuctionRefresh -= ResetUpdate; model.AddAuctionItemInfoUpdate -= ResetUpdate; model.onFocusAuctionRefresh -= ResetUpdate; model.myAuctionRefresh -= ResetUpdate; } System/Auction/MyFocusAuctionBehaviour.cs
New file @@ -0,0 +1,110 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, March 08, 2019 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using System; namespace Snxxz.UI { public class MyFocusAuctionBehaviour : MonoBehaviour { [SerializeField] Transform m_Container; [SerializeField] ItemCell m_ItemCell; [SerializeField] Text m_ItemName; [SerializeField] Button m_Close; [SerializeField] Button m_Goto; AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } } public void Init() { gameObject.SetActive(true); model.onFocusAuctionRefresh += OnFocusAuctionRefresh; NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent; Display(); m_Close.SetListener(OnClose); m_Goto.SetListener(Goto); } public void Unit() { model.onFocusAuctionRefresh -= OnFocusAuctionRefresh; NewBieCenter.Instance.guideCompletedEvent -= GuideCompletedEvent; m_Container.gameObject.SetActive(false); } private void GuideCompletedEvent(int id) { if (gameObject.activeInHierarchy) { StartCoroutine(Co_Display()); } } IEnumerator Co_Display() { yield return null; Display(); } void Display() { FocusAuctionItem item; if (!NewBieCenter.Instance.inGuiding && model.TryGetFocusAuctionPop(out item)) { DisplayFocus(item); } else { m_Container.gameObject.SetActive(false); } } void DisplayFocus(FocusAuctionItem focusAuctionItem) { m_Container.gameObject.SetActive(true); ItemCellModel cellModel = new ItemCellModel(focusAuctionItem.itemId, true, (ulong)1); m_ItemCell.Init(cellModel); var itemConfig = ItemConfig.Get(focusAuctionItem.itemId); if (itemConfig != null) { m_ItemName.text = itemConfig.ItemName; } } private void OnClose() { model.RemoveFocusItemPop(); Display(); } private void OnFocusAuctionRefresh() { Display(); } private void Goto() { FocusAuctionItem item; if (model.TryGetFocusAuctionPop(out item)) { model.LocationItemByGuid(item.itemGuid); } OnClose(); } } } System/Auction/MyFocusAuctionBehaviour.cs.meta
System/Auction/MyFocusBehavior.cs
File was deleted System/Auction/MyFocusCell.cs
@@ -108,14 +108,14 @@ m_PriceButton.SetListener(() => //一口价 { AuctionLogicUtil.SendBiddingItem(auctionItem, true); model.SendBiddingItem(auctionItem, true); }); m_JadeNumber2.text = requireMoney.ToString(); m_BiddingButton.SetListener(() => //竞价 { AuctionLogicUtil.SendBiddingItem(auctionItem, false); model.SendBiddingItem(auctionItem, false); }); Display(auctionItem); System/Auction/MyFocusWin.cs
@@ -46,7 +46,7 @@ model.onAuctionRemove += ResetUpdate; model.auctionItemRefresh += AuctionItemUpdate;//刷新 model.fairyAuctionRefresh += ResetUpdate; model.AddAuctionItemInfoUpdate += AddAuctionItemInfoUpdate; model.onFocusAuctionRefresh += AddAuctionItemInfoUpdate; model.myBiddingAuctionRefresh += ResetUpdate; } @@ -58,7 +58,7 @@ model.onAuctionRemove -= ResetUpdate; model.auctionItemRefresh -= AuctionItemUpdate;//刷新 model.fairyAuctionRefresh -= ResetUpdate; model.AddAuctionItemInfoUpdate -= AddAuctionItemInfoUpdate; model.onFocusAuctionRefresh -= AddAuctionItemInfoUpdate; model.myBiddingAuctionRefresh -= ResetUpdate; } System/DailyQuest/DailyQuestData.cs
@@ -451,6 +451,62 @@ } public bool TryGetNextOpenTime(out HourMinute _hourMinute) { _hourMinute = default(HourMinute); var openDayWeek = (int)TimeUtility.openServerDayOfWeek; var dayIndex = TimeUtility.OpenDay + 1; var maxSpecialDays = 15 - (openDayWeek == 0 ? 7 : openDayWeek); var hour = TimeUtility.ServerNow.Hour; var minute = TimeUtility.ServerNow.Minute; var mixDayIndex = 0; for (int i = 0; i <= 7; i++)//一周内必须有活动 { List<HourMinute> hourminutes = null; var days = dayIndex + i; if (IsInMixServerCustomDay(days, out mixDayIndex)) { if (!mixServerOpenTimes.ContainsKey(mixDayIndex)) { continue; } hourminutes = mixServerOpenTimes[mixDayIndex]; } else if (days <= maxSpecialDays) { if (!specialOpenTimes.ContainsKey(openDayWeek) || !specialOpenTimes[openDayWeek].ContainsKey(days)) { continue; } hourminutes = specialOpenTimes[openDayWeek][days]; } else { var dayOfWeek = (int)TimeUtility.ServerNow.AddTicks(i * TimeSpan.TicksPerDay).DayOfWeek; if (!openTimes.ContainsKey(dayOfWeek)) { continue; } hourminutes = openTimes[dayOfWeek]; } if (hourminutes != null) { foreach (var hourMinute in hourminutes) { if (days == dayIndex && hourMinute.AfterOpenTime(hour, minute)) { continue; } _hourMinute = hourMinute; return true; } } } return false; } bool IsInMixServerCustomDay(int day, out int index) { index = -1; System/MainInterfacePanel/FlyingShoesTask.cs
@@ -71,6 +71,11 @@ } private void OnDisable() { TaskModel.Event_MainlineTask -= Event_MainlineTask; } private void Start() { m_FlyingShoesTaskButton.AddListener(OnClickTaskButton); @@ -325,6 +330,9 @@ public void FlyingShoes_Task(int TaskID) { TaskModel.Event_MainlineTask -= Event_MainlineTask; TaskModel.Event_MainlineTask += Event_MainlineTask; Task_ID = TaskID; TypeAssignment(); for (int i = 0; i < m_parent.childCount; i++) @@ -462,6 +470,26 @@ } } private void Event_MainlineTask(int MissionID, int MissionState) { if (MissionID == Task_ID && MissionState == 3) { var worldpos = transform.TransformPoint(Vector3.zero); var localpos = WindowCenter.Instance.uiRoot.baseCanvas.InverseTransformPoint(worldpos); var effect = EffectMgr.Instance.PlayUIEffect(3083, 1500, localpos, true); SnxxzGame.Instance.StartCoroutine(Co_StopEffect(effect)); } } IEnumerator Co_StopEffect(UIEffect _uieffect) { yield return WaitingForSecondConst.WaitMS1500; if (_uieffect != null) { _uieffect.StopImediatly(); _uieffect = null; } } private string TaskTitle(int taskID) { System/MainInterfacePanel/InGamePushContainer.cs
@@ -28,7 +28,7 @@ [SerializeField] DogzNotifyBehaviour m_DogzNotifyBehaviour; [SerializeField] InSevenDayBehavior m_InSevenDayBehavior; [SerializeField] FBHelpPointExchageNotify m_HelpPointExchangeNotify; [SerializeField] MyFocusBehavior m_MyFocusBehavio; [SerializeField] MyFocusAuctionBehaviour m_MyFocusBehavio; [SerializeField] AuctionNewGetBehaviour m_AuctionNewGetBehaviour; WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } } System/Skill/ScrollerController.cs
@@ -27,6 +27,8 @@ public event Action OnRefreshCompleteEvent; public event Action<Vector2> onValueChange; public EnhancedScrollerCellView GetCellView(EnhancedScroller scroller, int dataIndex, int cellIndex) { @@ -134,6 +136,8 @@ horizontal = mScrollRect.horizontal; vertical = mScrollRect.vertical; mScrollRect.onValueChanged.AddListener(OnValueChangle); inited = m_Scorller.inited; m_Scorller.OnFirstLoadAllEvent += OnFirstLoadAllEvent; if (m_Scorller.OnCompLoad == null && !m_Scorller.inited) @@ -143,6 +147,14 @@ HideDefaultCell(); } private void OnValueChangle(Vector2 delta) { if (onValueChange != null) { onValueChange(delta); } } private void OnFirstLoadAllEvent() { if (cacheJump != -1)