//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, June 22, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System.Collections.Generic;
|
|
namespace Snxxz.UI {
|
|
public class OnlineRewardsOnTime:MonoBehaviour {
|
|
[SerializeField] Text m_NeedTime;//需要时间
|
[SerializeField] Transform m_Group;
|
[SerializeField] Button m_Receive;//领取按钮
|
[SerializeField] GameObject m_AlreadyReceive;//已领取
|
[SerializeField] GameObject m_NotReach;//未达成
|
|
OnlineRewardsModel m_OnlineRewardsModel;
|
OnlineRewardsModel OnlineRewardsModel { get { return m_OnlineRewardsModel ?? (m_OnlineRewardsModel = ModelCenter.Instance.GetModel<OnlineRewardsModel>()); } }
|
ItemTipsModel _itemTipsModel;
|
ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
|
|
List<int> MinutesList = new List<int>();
|
public void GetMinutes(int minutes)
|
{
|
m_Receive.gameObject.SetActive(false);
|
m_AlreadyReceive.SetActive(false);
|
m_NotReach.SetActive(false);
|
MinutesList.Clear();
|
m_NeedTime.text = string.Format(Language.Get("OnlineTime_Z"), minutes);
|
if (!OnlineRewardsModel.OnlineRewards.ContainsKey(TimeUtility.CreateDays))
|
{
|
return;
|
}
|
int[] TimeMinute = OnlineRewardsModel.OnlineRewards[TimeUtility.CreateDays].TimeMinute;
|
|
for (int i = 0; i < TimeMinute.Length; i++)
|
{
|
MinutesList.Add(TimeMinute[i]);
|
}
|
int typeIndex = MinutesList.IndexOf(minutes) + 1;
|
ImpactRankModel.RankAwardItem RankAwardItem = OnlineRewardsModel.OnlineRewards[TimeUtility.CreateDays].RankAwardItem;
|
List<AwardItem> itemList = RankAwardItem.GetAwardItem(typeIndex);
|
for (int i = 0; i < m_Group.childCount; i++)
|
{
|
m_Group.GetChild(i).gameObject.SetActive(false);
|
}
|
int state = OnlineRewardsModel.AcceptDrizeAllDic[TimeUtility.CreateDays][TimeMinute[typeIndex-1]];
|
for (int j = 0; j < itemList.Count; j++)
|
{
|
m_Group.GetChild(j).gameObject.SetActive(true);
|
OnliineRewardItemCell onliineRewardItemCell = m_Group.GetChild(j).GetComponent<OnliineRewardItemCell>();
|
onliineRewardItemCell.CumulativeTime.gameObject.SetActive(false);
|
if (state == 1)
|
{
|
onliineRewardItemCell.Image.SetActive(true);
|
}
|
else
|
{
|
onliineRewardItemCell.Image.SetActive(false);
|
}
|
AwardItem item = itemList[j];
|
ItemCell itemCell = onliineRewardItemCell.ItemCell;
|
ItemCellModel cellModel = new ItemCellModel(item.item.id, true, (ulong)item.item.count, item.isBind);
|
itemCell.Init(cellModel);
|
itemCell.cellBtn.RemoveAllListeners();
|
itemCell.cellBtn.AddListener(() => {
|
ItemAttrData attrData = new ItemAttrData(item.item.id, false, (ulong)item.item.count, -1, item.isBind);
|
itemTipsModel.SetItemTipsModel(attrData);
|
});
|
}
|
if (state < 0)
|
{
|
m_NotReach.SetActive(true);
|
}
|
else if (state == 0)
|
{
|
m_Receive.gameObject.SetActive(true);
|
m_Receive.RemoveAllListeners();
|
m_Receive.AddListener(() => { OnlineRewardsModel.SendReceiveAward(typeIndex); });
|
}
|
else if (state > 0)
|
{
|
m_AlreadyReceive.SetActive(true);
|
}
|
|
}
|
}
|
|
}
|
|
|
|