|  | @@ -5,6 +5,7 @@ using ET;
 | 
	
		
			
				|  |  |  using FairyGUI;
 | 
	
		
			
				|  |  |  using System;
 | 
	
		
			
				|  |  |  using UI.CommonGame;
 | 
	
		
			
				|  |  | +using static GFGGame.ShopSProxy;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace GFGGame
 | 
	
		
			
				|  |  |  {
 | 
	
	
		
			
				|  | @@ -15,7 +16,9 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          private struct GetState
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              public int rewardID;
 | 
	
		
			
				|  |  | -            public bool canGet;
 | 
	
		
			
				|  |  | +            public int dayIndex;
 | 
	
		
			
				|  |  | +            public bool canGet; 
 | 
	
		
			
				|  |  | +            public bool isVip;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -35,6 +38,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              _ui.m_btnClose.onClick.Add(Hide);
 | 
	
		
			
				|  |  | +            _ui.m_btnGet.onClick.Add(OnClickBtnGet);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // Data
 | 
	
		
			
				|  |  |              ActivityAfuGiftDataManager.Instance.InitActivityInfo();
 | 
	
	
		
			
				|  | @@ -64,25 +68,33 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          protected override void AddEventListener()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              base.AddEventListener();
 | 
	
		
			
				|  |  | +            EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateState);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          protected override void RemoveEventListener()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              base.RemoveEventListener();
 | 
	
		
			
				|  |  | +            EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateState);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void InitUI()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            // 112121
 | 
	
		
			
				|  |  | +            _ui.m_c1.SetSelectedIndex(ActivityAfuGiftDataManager.Instance.GetIsBuy() ? 1 : 0);
 | 
	
		
			
				|  |  |              // 使列表宽度等于子节点的总宽度
 | 
	
		
			
				|  |  |              float itemWidth = _rewardListUI.GetChildAt(0).width;
 | 
	
		
			
				|  |  |              float columnGap = _rewardListUI.columnGap;
 | 
	
		
			
				|  |  |              _rewardListUI.width = CalculateListWidth(_rewardListUI.numItems, itemWidth, columnGap);
 | 
	
		
			
				|  |  | +            Timers.inst.StartCoroutine(InitProgressWidth());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private IEnumerator InitProgressWidth()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            yield return new WaitForSeconds(0.5f);
 | 
	
		
			
				|  |  |              // 根据列表 初始化进度条长度
 | 
	
		
			
				|  |  | -            float marginLeft = 147;
 | 
	
		
			
				|  |  | +            float marginLeft = 149;
 | 
	
		
			
				|  |  |              GProgressBar gProgressBar = _ui.m_panel.m_scrollPane.m_progress;
 | 
	
		
			
				|  |  | -            gProgressBar.width = marginLeft + _rewardListUI.width;
 | 
	
		
			
				|  |  | +            gProgressBar.width = marginLeft + _rewardListUI.GetChildAt(_rewardListUI.numChildren - 1).position.x - _rewardListUI.GetChildAt(0).position.x;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private float CalculateListWidth(int num, float itemWidth, float columnGap)
 | 
	
	
		
			
				|  | @@ -102,27 +114,37 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              UI_reward rewardUI = UI_reward.Proxy(item);
 | 
	
		
			
				|  |  |              rewardUI.m_day.m_day.SetVar("day", (index + 1).ToString()).FlushVars();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            // 已经到达的日期
 | 
	
		
			
				|  |  | +            int passDay = ActivityAfuGiftDataManager.Instance.GetMaxPassDay();
 | 
	
		
			
				|  |  | +            int arrive = (index + 1) <= passDay ? 0 : 1;
 | 
	
		
			
				|  |  | +            rewardUI.m_day.m_light.SetSelectedIndex(arrive);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              int itemNormalId = ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusFreeArr[0][0];
 | 
	
		
			
				|  |  |              int itemVipId1 = ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[0][0];
 | 
	
		
			
				|  |  |              int itemVipId2 = ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[1][0];
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              LoadItem(itemNormalId, rewardUI.m_reward_normal, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusFreeArr[0][1]);
 | 
	
		
			
				|  |  | -            LoadItem(itemVipId1, rewardUI.m_reward_vip1, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[0][1], true, true);
 | 
	
		
			
				|  |  | -            LoadItem(itemVipId2, rewardUI.m_reward_vip2, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[1][1], true, true);
 | 
	
		
			
				|  |  | +            LoadItem(itemVipId1, rewardUI.m_reward_vip1, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[0][1], true);
 | 
	
		
			
				|  |  | +            LoadItem(itemVipId2, rewardUI.m_reward_vip2, ActivityAfuGiftDataManager.Instance.RewardCfgs[index].bonusPayArr[1][1], true);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              UI_reward.ProxyEnd();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        private void LoadItem(int id, GObject obj, int num, bool isVip = false, bool isLock = false)
 | 
	
		
			
				|  |  | +        private void LoadItem(int id, GObject obj, int num, bool isVip = false)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              ItemCfg itemNormal = ItemCfgArray.Instance.GetCfg(id);
 | 
	
		
			
				|  |  |              UI_ComItem comItem = UI_ComItem.Proxy(obj);
 | 
	
		
			
				|  |  |              comItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemNormal);
 | 
	
		
			
				|  |  |              comItem.m_txtCount.text = num.ToString();
 | 
	
		
			
				|  |  |              comItem.m_QualityType.selectedIndex = itemNormal.rarity - 1;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              comItem.target.onClick.Add(OnItemClick);
 | 
	
		
			
				|  |  | -            comItem.m_Lock.selectedIndex = isLock ? 1 : 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            int isLock = 0;
 | 
	
		
			
				|  |  | +            if (isVip)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                isLock = ActivityAfuGiftDataManager.Instance.GetIsBuy() ? 0 : 1;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            comItem.m_Lock.selectedIndex = isLock;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              int dayIndex = _rewardListUI.GetChildIndex(obj) + 1;
 | 
	
		
			
				|  |  |              // 已经到达的日期
 | 
	
	
		
			
				|  | @@ -131,7 +153,9 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              comItem.target.data = new GetState
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  rewardID = id,
 | 
	
		
			
				|  |  | -                canGet = arrive
 | 
	
		
			
				|  |  | +                canGet = arrive,
 | 
	
		
			
				|  |  | +                dayIndex = dayIndex,
 | 
	
		
			
				|  |  | +                isVip = isVip
 | 
	
		
			
				|  |  |              };
 | 
	
		
			
				|  |  |              if (arrive)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -173,6 +197,16 @@ namespace GFGGame
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (getState.canGet)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | +                // Vip奖励同时领取两个
 | 
	
		
			
				|  |  | +                if (getState.isVip)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    int rewardID1 = ActivityAfuGiftDataManager.Instance.RewardCfgs[getState.dayIndex - 1].bonusPayArr[0][1];
 | 
	
		
			
				|  |  | +                    int rewardID2 = ActivityAfuGiftDataManager.Instance.RewardCfgs[getState.dayIndex - 1].bonusPayArr[1][1];
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    int ID = ActivityAfuGiftDataManager.Instance.RewardCfgs[getState.dayIndex - 1].bonusFreeArr[0][1];
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  //ActivityGlobalSProxy.ReqGetActivityBonus(_activityInfo.ActivityId, getState.rewardID).Coroutine();
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              else
 | 
	
	
		
			
				|  | @@ -181,5 +215,49 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// 领取所有奖励按钮
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        private void OnClickBtnGet()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            if (!ActivityAfuGiftDataManager.Instance.GetIsBuy())
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                // 跳转充值画面
 | 
	
		
			
				|  |  | +                ReqShopBuy(990005).Coroutine();
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // 一键领取
 | 
	
		
			
				|  |  | +            int passDay = ActivityAfuGiftDataManager.Instance.GetMaxPassDay();
 | 
	
		
			
				|  |  | +            for(int i = passDay - 1; i >= 0; i++)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                int itemNormalId = ActivityAfuGiftDataManager.Instance.RewardCfgs[i].bonusFreeArr[0][0];
 | 
	
		
			
				|  |  | +                int itemVipId1 = ActivityAfuGiftDataManager.Instance.RewardCfgs[i].bonusPayArr[0][0];
 | 
	
		
			
				|  |  | +                int itemVipId2 = ActivityAfuGiftDataManager.Instance.RewardCfgs[i].bonusPayArr[1][0];
 | 
	
		
			
				|  |  | +                if (ActivityAfuGiftDataManager.Instance.CanGetNormalReward(itemNormalId))
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (ActivityAfuGiftDataManager.Instance.CanGetSuperReward(itemVipId1))
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (ActivityAfuGiftDataManager.Instance.CanGetSuperReward(itemVipId2))
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// 充值,领取东西后调用
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        private void UpdateState()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            // 更新底部按钮
 | 
	
		
			
				|  |  | +            _ui.m_c1.SetSelectedIndex(ActivityAfuGiftDataManager.Instance.GetIsBuy() ? 1 : 0);
 | 
	
		
			
				|  |  | +            // 更新锁 红点状态
 | 
	
		
			
				|  |  | +            _rewardListUI.numItems = ActivityAfuGiftDataManager.Instance.RewardCfgs.Count;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |