|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|