//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, October 31, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
namespace vnxbqy.UI
|
{
|
//显示当前层奖励,并且显示下一个目标层的额外奖励
|
public class SkyTowerRewardPreviewGroup : MonoBehaviour
|
{
|
[SerializeField] ItemBehaviour[] m_ItemBehaviours;
|
[SerializeField] ImageEx lineImg;
|
[SerializeField] Text tagetFloorTxt;
|
|
SkyTowerModel model { get { return ModelCenter.Instance.GetModel<SkyTowerModel>(); } }
|
public void Display(List<Item> _items)
|
{
|
for (int i = 0; i < m_ItemBehaviours.Length; i++)
|
{
|
var behaviour = m_ItemBehaviours[i];
|
if (i < _items.Count)
|
{
|
behaviour.SetActive(true);
|
behaviour.SetItem(_items[i]);
|
}
|
else
|
{
|
behaviour.SetActive(false);
|
}
|
}
|
}
|
|
|
public void Display(Int2[] rewards)
|
{
|
if (rewards == null)
|
{
|
return;
|
}
|
|
var items = new List<Item>();
|
foreach (var reward in rewards)
|
{
|
items.Add(new Item(reward.x, reward.y));
|
}
|
|
Display(items);
|
|
var nextTarget = model.GetNextRewardShowFloor();
|
if (nextTarget == 0 || nextTarget == model.currentFloor)
|
{
|
lineImg.SetActive(false);
|
}
|
else
|
{
|
lineImg.SetActive(true);
|
tagetFloorTxt.text = Language.Get("SkyTowerChallenge1", nextTarget);
|
//特殊奖励倒序显示
|
var config = SkyTowerConfig.Get(nextTarget);
|
var tagetAwards = config.rewards.Reverse().ToArray();
|
for (int i = 0; i < tagetAwards.Length; i++)
|
{
|
if (i >= config.rewardShow)
|
break;
|
|
var behaviour = m_ItemBehaviours[m_ItemBehaviours.Length - 1 - i];
|
behaviour.SetActive(true);
|
behaviour.SetItem(new Item(tagetAwards[i].x, tagetAwards[i].y));
|
|
}
|
}
|
|
|
}
|
|
}
|
|
}
|
|
|
|