//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, February 27, 2019
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class EquipSuitPropertyWidget : MonoBehaviour
|
{
|
[SerializeField] Text m_SuitName;
|
[SerializeField] StarToggle[] m_StarToggles;
|
[SerializeField] Text[] m_SuitEquipNames;
|
|
[SerializeField] EquipSuitPropertyBar m_TwoSuit;
|
[SerializeField] EquipSuitPropertyBar m_FiveSuit;
|
[SerializeField] Text m_EightSuitDescription;
|
|
EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
|
EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
|
public void Display(int level)
|
{
|
m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name;
|
for (int i = 1; i <= 8; i++)
|
{
|
var equip = packModel.GetItemByGuid(model.GetEquipSet(level).GetEquip(i));
|
m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(equip.config.SuiteiD > 0 ? TextColType.Green : TextColType.Gray);
|
}
|
|
m_TwoSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.TwoSuit));
|
m_FiveSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.FiveSuit));
|
m_EightSuitDescription.text = GetEightSuitDescription(level);
|
}
|
|
public void Dispose()
|
{
|
|
}
|
|
private string GetEightSuitDescription(int level)
|
{
|
var lines = new List<string>();
|
var configs = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.EightSuit);
|
for (int i = 0; i < configs.Count; i++)
|
{
|
var config = configs[i];
|
var description = string.Empty;
|
if (config.skillID > 0)
|
{
|
description = config.description;
|
}
|
else
|
{
|
var propertyConfig = PlayerPropertyConfig.Get(config.attr.x);
|
var propertyDescription = PlayerPropertyConfig.GetPropertyDescription(config.attr.x, config.attr.y);
|
description = StringUtility.Contact(propertyConfig.Name, " +", propertyDescription);
|
}
|
|
var line = string.Format("{0}星装备: {1}", config.star, description);
|
var starLevel = starModel.GetSuitLevel(level, EquipSuitType.EightSuit);
|
lines.Add(UIHelper.AppendStringColor(config.star >= starLevel ? TextColType.Green : TextColType.Gray, line));
|
}
|
|
return string.Join("\n", lines.ToArray());
|
}
|
|
public class StarToggle
|
{
|
public int star;
|
public Text title;
|
public Toggle toggle;
|
|
public void Display()
|
{
|
|
title.gameObject.SetActive(true);
|
}
|
|
public void Hide()
|
{
|
|
}
|
|
private void OnValueChange(bool value)
|
{
|
if (value)
|
{
|
switch (star)
|
{
|
case 0:
|
break;
|
case 3:
|
break;
|
case 6:
|
break;
|
case 9:
|
break;
|
default:
|
break;
|
}
|
}
|
}
|
|
}
|
|
}
|
|
}
|