//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, December 11, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
|
namespace Snxxz.UI {
|
//段位奖励的奖励条
|
[XLua.Hotfix]
|
public class SegmentRewardCell:MonoBehaviour {
|
[SerializeField] Image m_Image_Segment;
|
[SerializeField] Text m_Text_Segment;
|
[SerializeField] Transform m_Itemlist;
|
[SerializeField] Button m_ReceiveBtn;
|
[SerializeField] GameObject m_IsDrawImage;//已领
|
[SerializeField] GameObject m_IsReachImage;//未达成
|
[SerializeField] GameObject m_IsMissImage;//已错过
|
|
CrossServerOneVsOneRewardModel m_CrossServerRewardModel;
|
CrossServerOneVsOneRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerOneVsOneRewardModel>()); } }
|
private int _Id = 0;
|
public void Start()
|
{
|
|
}
|
public void OnEnable()
|
{
|
|
}
|
private void OnClickReceive()
|
{
|
crossServerRewardModel.CrossRealmPKGetAward(CrossRealmPKAwardStateEnum.DanLVAwardState, _Id);
|
}
|
public void SetReceive(int id)
|
{
|
|
m_ReceiveBtn.RemoveAllListeners();
|
m_ReceiveBtn.AddListener(OnClickReceive);
|
_Id = id;
|
var config = CrossServerArenaConfig.Get(_Id);
|
if (config != null)
|
{
|
m_Image_Segment.SetSprite(config.IconKey);
|
// m_Image_Segment.SetNativeSize();
|
}
|
if (crossServerRewardModel.SegmentRewardDic.ContainsKey(id))
|
{
|
var dic = crossServerRewardModel.SegmentRewardDic[id];
|
|
m_Text_Segment.text = config.Name;
|
m_Text_Segment.color= UIHelper.GetDanLVColor(config.DanLV, true);
|
ReceiveItem(id);
|
}
|
if ( CrossServerOneVsOnePlayerInfo.Instance.DanLV>=id)
|
{
|
bool Bool = crossServerRewardModel.IsAwardState(CrossRealmPKAwardStateEnum.DanLVAwardState, id);
|
if (Bool)
|
{
|
m_IsReachImage.SetActive(false);
|
m_IsDrawImage.SetActive(true);
|
m_IsMissImage.SetActive(false);
|
m_ReceiveBtn.gameObject.SetActive(false);
|
}
|
else
|
{
|
m_IsReachImage.SetActive(false);
|
m_IsDrawImage.SetActive(false);
|
m_IsMissImage.SetActive(false);
|
m_ReceiveBtn.gameObject.SetActive(true);
|
}
|
}
|
else
|
{
|
m_IsReachImage.SetActive(true);
|
m_IsDrawImage.SetActive(false);
|
m_IsMissImage.SetActive(false);
|
m_ReceiveBtn.gameObject.SetActive(false);
|
}
|
}
|
private void ReceiveItem(int Id)
|
{
|
var dic = crossServerRewardModel.SegmentRewardDic[Id];
|
for (int i = 0; i < m_Itemlist.childCount; i++)
|
{
|
GameObject ObjChild = m_Itemlist.GetChild(i).gameObject;
|
if (i < dic.ItemList.Count)
|
{
|
ObjChild.SetActive(true);
|
Item_Class itemClass = dic.ItemList[i];
|
ItemCell _ItemCell = ObjChild.GetComponent<ItemCell>();
|
ItemCellModel cellModel = new ItemCellModel(itemClass.ItemId, true, (ulong)itemClass.ItemNumber);
|
_ItemCell.Init(cellModel);
|
_ItemCell.button.SetListener(() =>
|
{
|
ItemTipUtility.Show(itemClass.ItemId);
|
});
|
}
|
else
|
{
|
ObjChild.SetActive(false);
|
}
|
|
}
|
|
|
}
|
|
|
}
|
|
}
|