using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class AlchemyDrugBriefBehaviour : MonoBehaviour
|
{
|
[SerializeField] ItemBehaviour m_Item;
|
[SerializeField] Transform m_ContainerProperty;
|
[SerializeField] PropertyBehaviour[] m_Propertys;
|
[SerializeField] Text m_Effect;
|
|
static Dictionary<int, int> s_Propertys = new Dictionary<int, int>();
|
|
AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
|
|
public void Display()
|
{
|
DisplayItem();
|
DisplayProperty();
|
DisplayEffect();
|
|
model.selectAlchemyRefresh -= SelectAlchemyRefresh;
|
model.selectAlchemyRefresh += SelectAlchemyRefresh;
|
}
|
|
void DisplayItem()
|
{
|
var config = AlchemyConfig.Get(model.selectAlchemy);
|
m_Item.SetItem(config.AlchemItemID, 0);
|
}
|
|
void DisplayProperty()
|
{
|
var config = AlchemyConfig.Get(model.selectAlchemy);
|
m_ContainerProperty.SetActive(config.drugPromoteType == 1);
|
if (config.drugPromoteType == 1)
|
{
|
var itemConfig = ItemConfig.Get(config.AlchemItemID);
|
GetItemPromoteProperty(itemConfig,ref s_Propertys);
|
var index = 0;
|
foreach (var property in s_Propertys.Keys)
|
{
|
if (index < m_Propertys.Length)
|
{
|
m_Propertys[index].SetActive(true);
|
m_Propertys[index].DisplayUpper(property, s_Propertys[property]);
|
index++;
|
}
|
}
|
for (int i = index; i < m_Propertys.Length; i++)
|
{
|
m_Propertys[i].SetActive(false);
|
}
|
}
|
}
|
|
void DisplayEffect()
|
{
|
var config = AlchemyConfig.Get(model.selectAlchemy);
|
m_Effect.SetActive(config.drugPromoteType == 2);
|
if (config.drugPromoteType == 2)
|
{
|
m_Effect.text = config.description;
|
}
|
}
|
|
private void SelectAlchemyRefresh()
|
{
|
DisplayItem();
|
DisplayProperty();
|
DisplayEffect();
|
}
|
|
public void Dispose()
|
{
|
model.selectAlchemyRefresh -= SelectAlchemyRefresh;
|
}
|
|
static void GetItemPromoteProperty(ItemConfig config, ref Dictionary<int, int> dict)
|
{
|
dict.Clear();
|
if (config == null)
|
{
|
return;
|
}
|
if (config.Effect1 != 0)
|
{
|
dict.Add(config.Effect1, config.EffectValueA1);
|
}
|
if (config.Effect2 != 0)
|
{
|
dict.Add(config.Effect2, config.EffectValueA2);
|
}
|
if (config.Effect3 != 0)
|
{
|
dict.Add(config.Effect3, config.EffectValueA3);
|
}
|
if (config.Effect4 != 0)
|
{
|
dict.Add(config.Effect4, config.EffectValueA4);
|
}
|
if (config.Effect5 != 0)
|
{
|
dict.Add(config.Effect5, config.EffectValueA5);
|
}
|
}
|
}
|
}
|
|