//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, February 28, 2019
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class EquipStarUpgradeMaterialBehaviour : MonoBehaviour
|
{
|
[SerializeField] int m_Index;
|
[SerializeField] Text m_Hint;
|
[SerializeField] ItemBehaviour m_Item;
|
[SerializeField] Button m_AddMaterial;
|
[SerializeField] Button m_RemoveMaterial;
|
[SerializeField] RectTransform m_Locked;
|
|
bool isLocked = false;
|
EquipStarModel model { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
|
public void Display(bool isLocked)
|
{
|
this.isLocked = isLocked;
|
DisplayBaseInfo(this.isLocked);
|
DisplayDynamicInfo(true);
|
|
m_AddMaterial.SetListener(OpenCandidateMaterials);
|
m_RemoveMaterial.SetListener(RemoveMaterial);
|
}
|
|
private void LateUpdate()
|
{
|
DisplayDynamicInfo(false);
|
}
|
|
private void DisplayBaseInfo(bool isLocked)
|
{
|
m_Locked.gameObject.SetActive(isLocked);
|
}
|
|
private void DisplayDynamicInfo(bool force)
|
{
|
if (force || model.GetMaterialLogicStringByIndex(m_Index).dirty)
|
{
|
var material = model.GetMaterialLogicStringByIndex(m_Index).Fetch();
|
var hasMaterial = material != null;
|
m_Hint.gameObject.SetActive(!isLocked && hasMaterial);
|
m_Item.gameObject.SetActive(!isLocked && hasMaterial);
|
if (hasMaterial)
|
{
|
var item = packModel.GetItemByGuid(material);
|
m_Item.SetItem(item.itemId, 1);
|
}
|
|
m_AddMaterial.gameObject.SetActive(!isLocked && !hasMaterial);
|
m_RemoveMaterial.gameObject.SetActive(!isLocked && hasMaterial);
|
}
|
}
|
|
private void OpenCandidateMaterials()
|
{
|
|
}
|
|
private void RemoveMaterial()
|
{
|
model.RemoveMaterial(m_Index);
|
}
|
|
}
|
|
}
|