Files
JJBB/Assets/Project/Script/Player/Item/ItemCombine.cs
2024-08-23 15:49:34 +08:00

60 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ItemCombine
{
public static Dictionary<int, int> combineItemDict;
public static void ResetItemCombine()
{
combineItemDict = null;
}
public static void Init()
{
if (combineItemDict != null)
return;
combineItemDict = new Dictionary<int, int>();
var combineItems = GCGame.Table.TableManager.GetItemCombine().Values;
foreach (var combineItem in combineItems)
{
if (combineItem.Profession >= 0 && combineItem.Profession != GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession)
continue;
for (int i = 0; i < combineItem.getSrcItemIDCount(); ++i)
{
var sourceItemID = combineItem.GetSrcItemIDbyIndex(i);
if (sourceItemID > 0)
{
if (!combineItemDict.ContainsKey(sourceItemID))
combineItemDict.Add(sourceItemID, combineItem.ItemID);
}
}
}
}
public static void ShowCombineUI(int itemID)
{
Init();
if (!combineItemDict.ContainsKey(itemID))
return;
var targetID = combineItemDict[itemID];
EquipEnhanceHecheng.SetDefaultSelected(targetID);
UIManager.ShowUI(UIInfo.EquipEnhance, delegate (bool bSucess, object param) {
if (bSucess)
{
EquipEnhanceRoot.Instance().TryOpen(4);
}
});
}
public static bool CanItemCombine(int itemID)
{
Init();
return combineItemDict.ContainsKey(itemID);
}
}