60 lines
1.7 KiB
C#
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);
|
|
}
|
|
}
|