CTT/Unity/Assets/HotfixView/UI/ManulEquipUI/ManulEquipUI.cs

174 lines
6.8 KiB
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00
using Cal.DataTable;
using ET;
using FairyGUI;
using static ET.C2M_MakeMunalEquip;
namespace ET
{
public class ManulEquipUIAwakeSyatem : AwakeSystem<ManulEquipUI>
{
public override void Awake(ManulEquipUI self)
{
self.Awake();
}
}
public class ManulEquipUIDestroySyatem : DestroySystem<ManulEquipUI>
{
public override void Destroy(ManulEquipUI self)
{
self.Destroy();
}
}
public class ManulEquipUI : Entity
{
public FUI_ManulEquipUI ui;
private StoneType rare;
private MunalStoneType munalStoneType;
private Scene zoneScene;
2021-04-08 20:09:59 +08:00
public void Awake()
{
zoneScene = this.ZoneScene();
2021-04-08 20:09:59 +08:00
ui = GetParent<FUI_ManulEquipUI>();
AwakeAsync().Coroutine();
rare = StoneType.Nomal;
ui.m_comRare.self.selectedIndex = 0;
}
private async ETVoid AwakeAsync()
{
ui.m_comRare.self.onChanged.Set1(concent =>
{
if (!int.TryParse(ui.m_comRare.self.value, out int index)) return;
rare = (StoneType)index;
OnChangeEquiptype();
});
ui.m_comEquipType.self.onChanged.Set1(concent =>
{
if (!int.TryParse(ui.m_comEquipType.self.value, out int index)) return;
munalStoneType = (MunalStoneType)index;
OnChangeEquiptype();
});
ui.m_btnMake.self.onClick.Set(async () =>
{
M2C_MakeMunalEquip ret = await zoneScene.GetComponent<SessionComponent>().Call<M2C_MakeMunalEquip>(new C2M_MakeMunalEquip { Type = (int)munalStoneType, IsRare = rare });
2021-04-08 20:09:59 +08:00
if (!ret.Message.IsNullOrEmpty())
{
TipHelper.OpenUI(ret.Message);
return;
}
});
await ETTask.CompletedTask;
}
private void OnChangeEquiptype()
{
EquipType equipType = EquipType.;
switch (munalStoneType)
{
case MunalStoneType.Red:
equipType = EquipType.;
break;
case MunalStoneType.White:
equipType = EquipType.;
break;
case MunalStoneType.Green:
equipType = EquipType.;
break;
case MunalStoneType.Black:
equipType = EquipType.;
break;
default:
break;
}
ManulEquip manulEquip = ManulEquipCategory.Instance.Get((long)equipType);
string icon = null;
var bagDic = ClientItemDataComponent.Instance.ItemDic;
if (rare == StoneType.Rare)
{
//!判断材料
for (int i = manulEquip.RareMaterialArr.Length - 1; i >= 0; i--)
{
int materialCount = 0;
2021-04-11 19:50:39 +08:00
ManulEquip.RareMaterial needMaterial = manulEquip.RareMaterialArr[i];
2021-04-08 20:09:59 +08:00
int count = needMaterial.Count;
if (!bagDic.TryGetValueByKey2(needMaterial.MaterialId, out var itemList) || itemList.Count == 0)
{ }
else
{
2021-04-11 19:50:39 +08:00
foreach (ClientItemData item in itemList)
2021-04-08 20:09:59 +08:00
materialCount += item.Count;
}
string name = BagHelper.GetIconName(needMaterial.MaterialId).Item1;
string color = count > materialCount ? "FF0000" : "FFFFFF";
icon += $"[color=#{color}]{name} x{count}(持有{materialCount}[/color]\n";
}
}
else if(rare == StoneType.Nomal)
{
for (int i = manulEquip.MaterialArr.Length - 1; i >= 0; i--)
{
int materialCount = 0;
2021-04-11 19:50:39 +08:00
ManulEquip.Material needMaterial = manulEquip.MaterialArr[i];
2021-04-08 20:09:59 +08:00
int count = needMaterial.Count;
if (!bagDic.TryGetValueByKey2(needMaterial.MaterialId, out var itemList) || itemList.Count == 0)
{ }
else
{
2021-04-11 19:50:39 +08:00
foreach (ClientItemData item in itemList)
2021-04-08 20:09:59 +08:00
materialCount += item.Count;
}
string name = BagHelper.GetIconName(needMaterial.MaterialId).Item1;
string color = count > materialCount ? "FF0000" : "FFFFFF";
icon += $"[color=#{color}]{name} x{count}(持有{materialCount}[/color]\n";
}
}
else if (rare == StoneType.UpgradeRare)
{
//!判断材料
for (int i = manulEquip.UpgradeRareMaterialArr.Length - 1; i >= 0; i--)
{
int materialCount = 0;
2021-04-11 19:50:39 +08:00
ManulEquip.UpgradeRareMaterial needMaterial = manulEquip.UpgradeRareMaterialArr[i];
2021-04-08 20:09:59 +08:00
int count = needMaterial.Count;
if (!bagDic.TryGetValueByKey2(needMaterial.MaterialId, out var itemList) || itemList.Count == 0)
{ }
else
{
2021-04-11 19:50:39 +08:00
foreach (ClientItemData item in itemList)
2021-04-08 20:09:59 +08:00
materialCount += item.Count;
}
string name = BagHelper.GetIconName(needMaterial.MaterialId).Item1;
string color = count > materialCount ? "FF0000" : "FFFFFF";
icon += $"[color=#{color}]{name} x{count}(持有{materialCount}[/color]\n";
}
}
else
{
for (int i = manulEquip.EpicMaterialArr.Length - 1; i >= 0; i--)
{
int materialCount = 0;
2021-04-11 19:50:39 +08:00
ManulEquip.EpicMaterial needMaterial = manulEquip.EpicMaterialArr[i];
2021-04-08 20:09:59 +08:00
int count = needMaterial.Count;
if (!bagDic.TryGetValueByKey2(needMaterial.MaterialId, out var itemList) || itemList.Count == 0)
{ }
else
{
2021-04-11 19:50:39 +08:00
foreach (ClientItemData item in itemList)
2021-04-08 20:09:59 +08:00
materialCount += item.Count;
}
string name = BagHelper.GetIconName(needMaterial.MaterialId).Item1;
string color = count > materialCount ? "FF0000" : "FFFFFF";
icon += $"[color=#{color}]{name} x{count}(持有{materialCount}[/color]\n";
}
}
ui.m_txtMaterial.text = icon;
}
public void Destroy()
{
}
}
}