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:
70
SVSim.BattleEngine/Engine/Wizard/AICardData.cs
Normal file
70
SVSim.BattleEngine/Engine/Wizard/AICardData.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Wizard;
|
||||
|
||||
public class AICardData
|
||||
{
|
||||
private List<AIPlayTag> tagList;
|
||||
|
||||
public int CardID { get; private set; }
|
||||
|
||||
public int CardNum { get; private set; }
|
||||
|
||||
public List<AIPlayTag> TagList => tagList;
|
||||
|
||||
public AIPolishConvertedExpression BattleBonusExpr { get; set; }
|
||||
|
||||
public AIPolishConvertedExpression PlayBonusExpr { get; set; }
|
||||
|
||||
public AIPolishConvertedExpression PriorityExpr { get; set; }
|
||||
|
||||
private string BattleBonus { get; set; }
|
||||
|
||||
private string PlayBonus { get; set; }
|
||||
|
||||
private string Priority { get; set; }
|
||||
|
||||
public AICardData(AICardDataAsset asset)
|
||||
{
|
||||
CardID = asset.CardID;
|
||||
CardNum = asset.CardNum;
|
||||
BattleBonus = asset.BattleBonus;
|
||||
PlayBonus = asset.PlayBonus;
|
||||
Priority = asset.Priority;
|
||||
tagList = new List<AIPlayTag>();
|
||||
foreach (AIPlayTagAsset tag in asset.TagList)
|
||||
{
|
||||
AIPlayTag aIPlayTag = new AIPlayTag();
|
||||
if (aIPlayTag.InitFromTextAsset(tag))
|
||||
{
|
||||
tagList.Add(aIPlayTag);
|
||||
}
|
||||
else
|
||||
{
|
||||
aIPlayTag = null;
|
||||
}
|
||||
}
|
||||
BattleBonusExpr = new AIPolishConvertedExpression(asset.BattleBonus);
|
||||
PlayBonusExpr = new AIPolishConvertedExpression(asset.PlayBonus);
|
||||
PriorityExpr = new AIPolishConvertedExpression(asset.Priority);
|
||||
}
|
||||
|
||||
public void MergeCardData(AICardData data)
|
||||
{
|
||||
BattleBonus = data.BattleBonus;
|
||||
PlayBonus = data.PlayBonus;
|
||||
BattleBonusExpr = data.BattleBonusExpr;
|
||||
PlayBonusExpr = data.PlayBonusExpr;
|
||||
if (Priority == null || Priority == "")
|
||||
{
|
||||
Priority = data.Priority;
|
||||
PriorityExpr = data.PriorityExpr;
|
||||
}
|
||||
MergeTagFromAnotherData(data);
|
||||
}
|
||||
|
||||
public void MergeTagFromAnotherData(AICardData data)
|
||||
{
|
||||
tagList.InsertRange(0, data.TagList);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user