feat(battle-engine): M1 auto-copy closure (782 battle-logic files)
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.
This commit is contained in:
42
SVSim.BattleEngine/Engine/Wizard/CardKeyWordCommonCache.cs
Normal file
42
SVSim.BattleEngine/Engine/Wizard/CardKeyWordCommonCache.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user