少年修仙传客户端代码仓库
Client_PangDeRong
2018-10-15 75fad082a71c09da282ae25df7d5ac5fd577c852
System/OpenServerActivity/FlashSaleItemCell.cs
@@ -16,6 +16,7 @@
        [SerializeField] Image stateImg;
        [SerializeField] Button flashSaleBtn;
        [SerializeField] Text btnStateText;
        [SerializeField] Text fullServerRemainNum;
        public const int RefreshFullServerBuyType = 8;
@@ -30,6 +31,7 @@
        {
            battleModel.RefreshGameRecInfoAct += UpdateFullServerBuy;
            storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
            rushToBuyModel.UpdateAllAppointmentEvent += UpdateAllAppointmentInfo;
            rushToBuyModel.UpdateAppointmentEvent += UpdateAppointmentInfo;
        }
@@ -37,12 +39,13 @@
        {
            storeModel.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent;
            battleModel.RefreshGameRecInfoAct -= UpdateFullServerBuy;
            rushToBuyModel.UpdateAllAppointmentEvent -= UpdateAllAppointmentInfo;
            rushToBuyModel.UpdateAppointmentEvent -= UpdateAppointmentInfo;
        }
        public override void Refresh(CellView cell)
        {
            if (rushToBuyModel.presentFlashShop.Equals(default(OperationFlashRushToBuy.FlashSaleShop))) return;
            if (rushToBuyModel.presentFlashShop == null) return;
            saleItem = rushToBuyModel.presentFlashShop.items[cell.index];
            ItemCellModel cellModel = new ItemCellModel(saleItem.itemId,true,(ulong)saleItem.itemCount,saleItem.isBind);
@@ -73,14 +76,20 @@
        }
        private void UpdateAppointmentInfo()
        private void UpdateAllAppointmentInfo()
        {
            UpdateSaleItem();
        }
        private void UpdateAppointmentInfo(int shopGuid)
        {
            if (saleItem == null || shopGuid != saleItem.shopGuid) return;
            UpdateSaleItem();
        }
        private void UpdateSaleItem()
        {
            if (rushToBuyModel.presentFlashShop.Equals(default(OperationFlashRushToBuy.FlashSaleShop))) return;
            if (rushToBuyModel.presentFlashShop == null) return;
            StoreConfig storeConfig = Config.Instance.Get<StoreConfig>(saleItem.shopId);
            flashSaleBtn.RemoveAllListeners();
@@ -88,6 +97,7 @@
            int seconds = 0;
            int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow,rushToBuyModel.presentFlashShop.dayIndex,
                rushToBuyModel.presentFlashShop.timeIndex,out seconds);
            switch(buyState)
            {
                case -1:
@@ -111,7 +121,9 @@
        private void UpdateSaleItemSellState()
        {
            int sellState = GetSellSate();
            int fullSeverRemain = 0;
            int sellState = GetSellSate(out fullSeverRemain);
            fullServerRemainNum.text = fullSeverRemain.ToString();
            switch (sellState)
            {
                case 0:
@@ -133,10 +145,20 @@
        /// 0 秒杀 1 已买到 2 已抢光
        /// </summary>
        /// <returns></returns>
        private int GetSellSate()
        private int GetSellSate(out int fullRemainNum)
        {
            var buyInfo = storeModel.GetBuyShopLimit((uint)saleItem.shopId);
            var buyCount = 0;
            var fullServerInfo = rushToBuyModel.GetFullServerInfo();
            fullRemainNum = 0;
            if (fullServerInfo != null && fullServerInfo.Value1 == saleItem.shopId)
            {
                fullRemainNum = saleItem.fullServerLimitNum - fullServerInfo.Value2;
            }
            else
            {
                fullRemainNum = saleItem.fullServerLimitNum;
            }
            if (buyInfo != null)
            {
                buyCount = buyInfo.BuyCnt;
@@ -146,9 +168,7 @@
                return 1;
            }
            var fullServerInfo = rushToBuyModel.GetFullServerInfo();
            if(fullServerInfo != null && fullServerInfo.Value1 == saleItem.shopId
                && fullServerInfo.Value2 >= saleItem.fullServerLimitNum)
            if (fullRemainNum <= 0)
            {
                return 2;
            }