//-------------------------------------------------------- // [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(); } } public void Display(List _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(); 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)); } } } } }