//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, March 06, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System.Collections.Generic;
|
|
namespace Snxxz.UI
|
{
|
|
public class OnlineRewards : MonoBehaviour
|
{
|
[SerializeField] Text m_Award;
|
[SerializeField] Transform m_Group;
|
[SerializeField] Text m_NextTime;
|
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>()); } }
|
|
public void IsReceiveAward(int Day)
|
{
|
DayText(Day);
|
int NowDay = TimeUtility.CreateDays;
|
if (Day < NowDay)
|
{
|
UsedDay(Day);
|
m_NextTime.gameObject.SetActive(false);
|
}
|
else if (Day == NowDay)
|
{
|
ToDay(Day);
|
m_NextTime.gameObject.SetActive(false);
|
}
|
else if (Day > NowDay)
|
{
|
NoShow(Day);
|
m_NextTime.gameObject.SetActive(true);
|
if (Day - NowDay == 1)
|
{
|
m_NextTime.text = Language.Get("Tomorrow_Draw");
|
}
|
else
|
{
|
m_NextTime.text = string.Format(Language.Get("Rest_Time"), Day - NowDay);
|
}
|
}
|
|
}
|
|
private void UsedDay(int Day)
|
{
|
for (int i = 0; i < m_Group.childCount; i++)
|
{
|
m_Group.GetChild(i).gameObject.SetActive(false);
|
}
|
int[] TimeMinute = OnlineRewardsModel.OnlineRewards[Day].TimeMinute;
|
ImpactRankModel.RankAwardItem RankAwardItem = OnlineRewardsModel.OnlineRewards[Day].RankAwardItem;
|
int type = 0;
|
for (int i = 0; i < TimeMinute.Length; i++)
|
{
|
int Inedx = 0;
|
m_Group.GetChild(i).gameObject.SetActive(true);
|
type += 1;
|
OnliineRewardItemCell onliineRewardItemCell = m_Group.GetChild(i).GetComponent<OnliineRewardItemCell>();
|
onliineRewardItemCell.CumulativeTime.gameObject.SetActive(true);
|
onliineRewardItemCell.UIeffect.SetActive(false);
|
List<AwardItem> itemList = RankAwardItem.GetAwardItem(type);
|
AwardItem item = itemList[0];
|
ItemCell itemCell = onliineRewardItemCell.ItemCell;
|
int getType = i;
|
if (!OnlineRewardsModel.AcceptDrizeAllDic.ContainsKey(Day))
|
{
|
return;
|
}
|
int state = OnlineRewardsModel.AcceptDrizeAllDic[Day][TimeMinute[getType]]; ;
|
if (state == -1)
|
{
|
onliineRewardItemCell.Image.SetActive(false);
|
onliineRewardItemCell.CumulativeTime.text = Language.Get("TheCumulativeOnlineMiss");
|
}
|
else if (state == 0)
|
{
|
onliineRewardItemCell.Image.SetActive(false);
|
onliineRewardItemCell.CumulativeTime.text = Language.Get("TheCumulativeOnlineMiss");
|
Inedx = i + 1;
|
}
|
else if (state == 1)
|
{
|
onliineRewardItemCell.Image.SetActive(true);
|
onliineRewardItemCell.CumulativeTime.text = Language.Get("RealmPractice110");
|
}
|
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);
|
});
|
}
|
}
|
|
|
private void NoShow(int Day)
|
{
|
for (int i = 0; i < m_Group.childCount; i++)
|
{
|
m_Group.GetChild(i).gameObject.SetActive(false);
|
}
|
int[] TimeMinute = OnlineRewardsModel.OnlineRewards[Day].TimeMinute;
|
ImpactRankModel.RankAwardItem RankAwardItem = OnlineRewardsModel.OnlineRewards[Day].RankAwardItem;
|
int type = 0;
|
for (int i = 0; i < TimeMinute.Length; i++)
|
{
|
type += 1;
|
m_Group.GetChild(i).gameObject.SetActive(true);
|
OnliineRewardItemCell onliineRewardItemCell = m_Group.GetChild(i).GetComponent<OnliineRewardItemCell>();
|
onliineRewardItemCell.CumulativeTime.gameObject.SetActive(true);
|
onliineRewardItemCell.UIeffect.SetActive(false);
|
onliineRewardItemCell.CumulativeTime.text =Language.Get("L1057");
|
List<AwardItem> itemList = RankAwardItem.GetAwardItem(type);
|
AwardItem item = itemList[0];
|
onliineRewardItemCell.Image.SetActive(false);
|
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);
|
});
|
}
|
}
|
|
|
private void ToDay(int Day)//这是今天的
|
{
|
for (int i = 0; i < m_Group.childCount; i++)
|
{
|
m_Group.GetChild(i).gameObject.SetActive(false);
|
}
|
int[] TimeMinute = OnlineRewardsModel.OnlineRewards[Day].TimeMinute;
|
ImpactRankModel.RankAwardItem RankAwardItem = OnlineRewardsModel.OnlineRewards[Day].RankAwardItem;
|
int type = 0;
|
for (int i = 0; i < TimeMinute.Length; i++)
|
{
|
int Inedx = 0;
|
m_Group.GetChild(i).gameObject.SetActive(true);
|
type += 1;
|
OnliineRewardItemCell onliineRewardItemCell = m_Group.GetChild(i).GetComponent<OnliineRewardItemCell>();
|
onliineRewardItemCell.CumulativeTime.gameObject.SetActive(true);
|
onliineRewardItemCell.CumulativeTime.text = string.Format(Language.Get("TheCumulativeOnline"), TimeMinute[i]);
|
List<AwardItem> itemList = RankAwardItem.GetAwardItem(type);
|
AwardItem item = itemList[0];
|
ItemCell itemCell = onliineRewardItemCell.ItemCell;
|
int getType = i;
|
if (!OnlineRewardsModel.AcceptDrizeAllDic.ContainsKey(Day))
|
{
|
return;
|
}
|
int state = OnlineRewardsModel.AcceptDrizeAllDic[Day][TimeMinute[getType]];
|
onliineRewardItemCell.UIeffect.SetActive(false);
|
if (state == -1)
|
{
|
onliineRewardItemCell.Image.SetActive(false);
|
} else if (state == 0)
|
{
|
onliineRewardItemCell.UIeffect.SetActive(true);
|
onliineRewardItemCell.Image.SetActive(false);
|
onliineRewardItemCell.CumulativeTime.text = Language.Get("TheCumulativeOnlineRewards");
|
Inedx = i + 1;
|
} else if (state == 1)
|
{
|
onliineRewardItemCell.Image.SetActive(true);
|
onliineRewardItemCell.CumulativeTime.text = Language.Get("RealmPractice110");
|
}
|
ItemCellModel cellModel = new ItemCellModel(item.item.id, true, (ulong)item.item.count, item.isBind);
|
itemCell.Init(cellModel);
|
itemCell.cellBtn.RemoveAllListeners();
|
itemCell.cellBtn.AddListener(() =>
|
{
|
if (state == 0)
|
{
|
OnlineRewardsModel.SendReceiveAward(Inedx);
|
}
|
else
|
{
|
ItemAttrData attrData = new ItemAttrData(item.item.id, false, (ulong)item.item.count, -1, item.isBind);
|
itemTipsModel.SetItemTipsModel(attrData);
|
}
|
});
|
}
|
}
|
|
private void DayText(int day)
|
{
|
switch (day)
|
{
|
case 1:
|
m_Award.text = Language.Get("One_day");
|
break;
|
case 2:
|
m_Award.text = Language.Get("Two_day");
|
break;
|
case 3:
|
m_Award.text = Language.Get("Three_day");
|
break;
|
case 4:
|
m_Award.text = Language.Get("Four_day");
|
break;
|
case 5:
|
m_Award.text = Language.Get("Five_day");
|
break;
|
case 6:
|
m_Award.text = Language.Get("Six_day");
|
break;
|
case 7:
|
m_Award.text = Language.Get("Seven_day");
|
break;
|
}
|
|
|
}
|
|
|
}
|
}
|
|
|
|