Compile-driven bulk-copy loop (tools/engine-port/m1_copy_loop.py) pulled the precise reference closure of the battle-core roots, stopping at the classify god-object/View-VFX-UI boundary. 782 files; no re-explosion (M0 had estimated ~order 1000). Residual frontier = 52 shim-classified + 80 external (Unity/BCL) types to author next.
43 lines
1.1 KiB
C#
43 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace Wizard;
|
|
|
|
public class CardKeyWordCommonCache
|
|
{
|
|
private Dictionary<int, IList<string>> _keyWordCache = new Dictionary<int, IList<string>>();
|
|
|
|
private Dictionary<string, IList<int>> _keywordCardListCache = new Dictionary<string, IList<int>>();
|
|
|
|
public IList<int> GetCardListFromKeyWord(string keyWord)
|
|
{
|
|
if (_keywordCardListCache.TryGetValue(keyWord, out var value))
|
|
{
|
|
return value;
|
|
}
|
|
List<int> cardIdsInDesc = BattleKeywordInfoListMgr.GetCardIdsInDesc(Data.Master.BattleKeyWordDic[keyWord]);
|
|
_keywordCardListCache[keyWord] = cardIdsInDesc;
|
|
return cardIdsInDesc;
|
|
}
|
|
|
|
public IList<string> GetCloneList(CardParameter param)
|
|
{
|
|
return new List<string>(Get(param));
|
|
}
|
|
|
|
public void CacheKeyWord(CardParameter param)
|
|
{
|
|
Get(param);
|
|
}
|
|
|
|
private IList<string> Get(CardParameter param)
|
|
{
|
|
if (_keyWordCache.TryGetValue(param.CardId, out var value))
|
|
{
|
|
return value;
|
|
}
|
|
IList<string> keywords = BattleKeywordInfoListMgr.GetKeywords(param);
|
|
_keyWordCache[param.CardId] = keywords;
|
|
return keywords;
|
|
}
|
|
}
|