using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
namespace Snxxz.UI
|
{
|
[XLua.Hotfix]
|
public class GatherSoulComposeBehaviour : MonoBehaviour
|
{
|
[SerializeField] GatherSoulMatItem[] m_MatItems;
|
[SerializeField] GatherSoulItemBehaviour[] m_RequireItems;
|
|
GatherSoulComposeModel model
|
{
|
get { return ModelCenter.Instance.GetModel<GatherSoulComposeModel>(); }
|
}
|
|
GatheringSoulModel soulModel
|
{
|
get { return ModelCenter.Instance.GetModel<GatheringSoulModel>(); }
|
}
|
|
public void Display(int itemId)
|
{
|
GatherSoulComposeModel.Compose compose;
|
if (!model.TryGetCompose(itemId, out compose))
|
{
|
return;
|
}
|
for (int i = 0; i < m_RequireItems.Length; i++)
|
{
|
if (compose.requireItems != null && i < compose.requireItems.Count)
|
{
|
if (compose.requireItems[i] == model.jumpGatherSoulItem.itemId)
|
{
|
m_RequireItems[i].Display(model.jumpGatherSoulItem.itemId,
|
model.jumpGatherSoulItem.level);
|
m_RequireItems[i].DisplayCount(1, 1);
|
}
|
else
|
{
|
GatherSoulItem item;
|
bool exist = soulModel.TryGetHighestLevelItem(compose.requireItems[i], out item);
|
m_RequireItems[i].Display(compose.requireItems[i], exist ? item.level : 1);
|
m_RequireItems[i].DisplayCount(exist ? 1 : 0, 1);
|
}
|
}
|
else
|
{
|
m_RequireItems[i].Display(0, 0);
|
}
|
}
|
|
var index = 0;
|
if (compose.requireSoulSplinters != 0)
|
{
|
if (index < m_MatItems.Length)
|
{
|
m_MatItems[index].Display(GatheringSoulModel.SOULSPLINTERS_MONEYTYPE, compose.requireSoulSplinters);
|
}
|
index++;
|
}
|
if (compose.requireSoulCore != 0)
|
{
|
if (index < m_MatItems.Length)
|
{
|
m_MatItems[index].Display(GatheringSoulModel.SOULCORE_MONEYTYPE, compose.requireSoulCore);
|
}
|
index++;
|
}
|
for (int i = index; i < m_MatItems.Length; i++)
|
{
|
m_MatItems[i].DisplayEmpty();
|
}
|
}
|
}
|
}
|