using Core.Language;
using Excel2Json;
using Fort23.UTool;
using GameLogic.Bag;
namespace Fort23.Mono
{
[UIBinding(prefab = "BreakthroughItemWidget")]
public partial class BreakthroughItemWidget : UIComponent
{
///
/// 1.选择丹药 2.其他道具
///
private int type;
public int itemId;
public ItemInfo itemInfo;
private void Init()
{
}
public override void AddEvent()
{
}
public override void DelEvent()
{
}
private WidgetItem widgetItem;
public override void AddButtonEvent()
{
Btn_Select.onClick.AddListener(() =>
{
//打开选择丹药界面
if (type == 1)
{
SelectElixirPanel.OpenPanel(this, async (e) =>
{
//取消选择丹药
if (e == null)
{
itemInfo = null;
UIManager.Instance.DormancyGComponent(widgetItem);
widgetItem = null;
Text_Bl.text = $"+{0}";
Text_ItemName.text = "丹药";
}
else
{
itemInfo = new ItemInfo(e._itemConfig.ID, 1);
if (widgetItem == null)
{
widgetItem = await UIManager.Instance.CreateGComponent(null, ItemRoot);
}
Text_Bl.text = $"+{itemInfo.config.associateVlaue[2]}";
Text_ItemName.text = LanguageManager.Instance.Text(itemInfo.config.itemName);
widgetItem.InitWidget(itemInfo);
}
});
}
else
{
SelectBreakthroughItemPanel.OpenPanel(this, async () =>
{
if (itemInfo != null)
{
itemInfo = null;
UIManager.Instance.DormancyGComponent(widgetItem);
widgetItem = null;
return;
}
if (PlayerManager.Instance.BagController.IsEnough(itemId, 1))
{
itemInfo = new ItemInfo(itemId, 1);
if (widgetItem == null)
{
widgetItem = await UIManager.Instance.CreateGComponent(null, ItemRoot);
}
Text_Bl.text = $"+{itemInfo.config.associateVlaue[2]}";
Text_ItemName.text = LanguageManager.Instance.Text(itemInfo.config.itemName);
widgetItem.InitWidget(itemInfo);
}
});
}
});
}
public void CustomInit(int type, int itemId)
{
this.type = type;
this.itemId = itemId;
if (type == 1)
{
Text_Bl.text = $"+{0}";
Text_ItemName.text = "丹药";
}
else
{
ItemConfig itemConfig = ConfigComponent.Instance.Get(itemId);
if (itemConfig.itemTag == 3)
{
Text_Bl.text = $"+{itemConfig.associateVlaue[2]}";
Text_ItemName.text = LanguageManager.Instance.Text(itemConfig.itemName);
}
else
{
Text_Bl.text = $"+{itemConfig.associateVlaue[2]}";
Text_ItemName.text = LanguageManager.Instance.Text(itemConfig.itemName);
}
}
}
public override void DormancyObj()
{
UIManager.Instance.DormancyGComponent(widgetItem);
widgetItem = null;
itemInfo = null;
base.DormancyObj();
}
}
}