少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-28 4b9f617a1dc1409340b4dc59274cba2d96f32efc
System/Auction/FullServiceAuctioncell.cs
@@ -47,6 +47,7 @@
            m_ParticipateImage.SetActive(false);
            m_HighestPriceImage.SetActive(false);
            m_EquipmentScoreObj.SetActive(false);
            m_OverTime.gameObject.SetActive(false);
            var indexList = model.FullServiceAuctionList.FindIndex((x) => { return x.ItemGUID == GUID; });
            if (indexList == -1 && !model.BiddingItemInfoDic.ContainsKey(GUID))
            {
@@ -109,7 +110,7 @@
                {
                    m_HighestPriceImage.SetActive(true);
                }
            }
            if (fullServiceAuction.BidderPrice != 0)
            {
@@ -214,10 +215,10 @@
                TimeSpan timeSpan = timeNow - FullServiceAuction.Time;
                int minute = (int)timeSpan.TotalMinutes;
                DateTime overTime = FullServiceAuction.Time.AddMinutes(AuctionItem.FamilySaleMinutes + AuctionItem.NoticeSaleMinutes);
                DateTime extensionTime = FullServiceAuction.TimeEnd.AddSeconds(auctionHelpModel.ExtensionTime);
                if (minute < AuctionItem.NoticeSaleMinutes)//预热中
                {
                    m_OverTime.gameObject.SetActive(false);
                    if (m_PriceButton.interactable)
                    {
                        m_PriceButton.interactable = false;
@@ -231,39 +232,15 @@
                    int seconds = AuctionItem.NoticeSaleMinutes * 60 - (int)timeSpan.TotalSeconds;
                    m_TimeText.text = Language.Get("PMH_03", TimeUtility.SecondsToHMS(seconds));
                }
                else if (minute <= AuctionItem.WorldSaleMinutes+ AuctionItem.NoticeSaleMinutes)//拍卖中
                else if (minute < (AuctionItem.WorldSaleMinutes + AuctionItem.NoticeSaleMinutes))//拍卖中
                {
                    m_OverTime.gameObject.SetActive(false);
                    var maxMoney = AuctionItem.BuyoutPrice * FullServiceAuction.ItemCount;
                    var needMoney = 0;
                    if (FullServiceAuction.BidderPrice == 0)
                    {
                        needMoney = AuctionItem.BasePrice * FullServiceAuction.ItemCount;
                    }
                    else
                    {
                        needMoney = FullServiceAuction.BidderPrice + AuctionItem.BiddingAdd * FullServiceAuction.ItemCount;
                    }
                    if (!m_PriceButton.interactable || m_PriceImage.gray)
                    {
                        m_PriceButton.interactable = true;
                        m_PriceImage.gray = false;
                    }
                    if ((!m_BiddingButton.interactable || m_BiddingImage.gray) && maxMoney > needMoney)
                    {
                        m_BiddingButton.interactable = true;
                        m_BiddingImage.gray = false;
                    }
                    if (m_BiddingButton.interactable && needMoney >= maxMoney && AuctionItem.BuyoutPrice != 0)
                    {
                        m_BiddingButton.interactable = false;
                        m_BiddingImage.gray = true;
                    }
                    SetButtonStatus();
                    int seconds = AuctionItem.WorldSaleMinutes * 60 - ((int)timeSpan.TotalSeconds - AuctionItem.NoticeSaleMinutes * 60);
                    m_TimeText.text = Language.Get("PMH_04", TimeUtility.SecondsToHMS(seconds));
                }
                else if (timeNow < extensionTime)//加时中
                if (overTime < extensionTime)//加时中
                {
                    SetButtonStatus();
                    if (!m_OverTime.gameObject.activeSelf)
                    {
                        m_OverTime.gameObject.SetActive(true);
@@ -275,6 +252,38 @@
                }
            }
        }
        private void SetButtonStatus()
        {
            var maxMoney = AuctionItem.BuyoutPrice * FullServiceAuction.ItemCount;
            var needMoney = 0;
            if (FullServiceAuction.BidderPrice == 0)
            {
                needMoney = AuctionItem.BasePrice * FullServiceAuction.ItemCount;
            }
            else
            {
                needMoney = FullServiceAuction.BidderPrice + AuctionItem.BiddingAdd * FullServiceAuction.ItemCount;
            }
            if (!m_PriceButton.interactable || m_PriceImage.gray)
            {
                m_PriceButton.interactable = true;
                m_PriceImage.gray = false;
            }
            if ((!m_BiddingButton.interactable || m_BiddingImage.gray) && maxMoney > needMoney)
            {
                m_BiddingButton.interactable = true;
                m_BiddingImage.gray = false;
            }
            if (m_BiddingButton.interactable && needMoney >= maxMoney && AuctionItem.BuyoutPrice != 0)
            {
                m_BiddingButton.interactable = false;
                m_BiddingImage.gray = true;
            }
        }
    }
}