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.
104 lines
3.5 KiB
C#
104 lines
3.5 KiB
C#
using System.Linq;
|
|
|
|
namespace Wizard;
|
|
|
|
public class PuzzleBattleMasterData : Master.ReadFromCsv
|
|
{
|
|
private const string DEFAULT_WIN_CONDITION = "{me.inplay.class.life}>0&{op.inplay.class.life}<=0";
|
|
|
|
public int Id { get; private set; }
|
|
|
|
public int PlayerClass { get; private set; }
|
|
|
|
public int PlayerLife { get; private set; }
|
|
|
|
public int PlayerPPCount { get; private set; }
|
|
|
|
public int PlayerEPCount { get; private set; }
|
|
|
|
public int PlayerGraveCount { get; private set; }
|
|
|
|
public CardPrm[] PlayerInplay { get; private set; }
|
|
|
|
public int[] PlayerHand { get; private set; }
|
|
|
|
public int[] PlayerDeck { get; private set; }
|
|
|
|
public int PlayerDeckCount { get; private set; }
|
|
|
|
public int EnemyClass { get; private set; }
|
|
|
|
public int EnemyLife { get; private set; }
|
|
|
|
public int EnemyPPCount { get; private set; }
|
|
|
|
public int EnemyEPCount { get; private set; }
|
|
|
|
public int EnemyGraveCount { get; private set; }
|
|
|
|
public CardPrm[] EnemyInplay { get; private set; }
|
|
|
|
public int[] EnemyHand { get; private set; }
|
|
|
|
public int[] EnemyDeck { get; private set; }
|
|
|
|
public int EnemyDeckCount { get; private set; }
|
|
|
|
public string WinCondition { get; private set; }
|
|
|
|
public string WinConditionTextId { get; private set; }
|
|
|
|
public string HintTextId { get; private set; }
|
|
|
|
public void ReadCsvColumns(string[] columns)
|
|
{
|
|
int num = 0;
|
|
Id = int.Parse(columns[num]);
|
|
num++;
|
|
PlayerClass = int.Parse(columns[num]);
|
|
num++;
|
|
PlayerLife = (string.IsNullOrEmpty(columns[num]) ? 20 : int.Parse(columns[num]));
|
|
num++;
|
|
PlayerPPCount = ((!string.IsNullOrEmpty(columns[num])) ? int.Parse(columns[num]) : 0);
|
|
num++;
|
|
PlayerEPCount = ((!string.IsNullOrEmpty(columns[num])) ? int.Parse(columns[num]) : 0);
|
|
num++;
|
|
PlayerGraveCount = ((!string.IsNullOrEmpty(columns[num])) ? int.Parse(columns[num]) : 0);
|
|
num++;
|
|
PlayerInplay = (string.IsNullOrEmpty(columns[num]) ? new CardPrm[0] : (from x in columns[num].Split(',')
|
|
select new CardPrm(x)).ToArray());
|
|
num++;
|
|
PlayerHand = (string.IsNullOrEmpty(columns[num]) ? new int[0] : columns[num].Split(',').Select(int.Parse).ToArray());
|
|
num++;
|
|
PlayerDeck = (string.IsNullOrEmpty(columns[num]) ? new int[0] : columns[num].Split(',').Select(int.Parse).ToArray());
|
|
num++;
|
|
PlayerDeckCount = (string.IsNullOrEmpty(columns[num]) ? 40 : int.Parse(columns[num]));
|
|
num++;
|
|
EnemyClass = int.Parse(columns[num]);
|
|
num++;
|
|
EnemyLife = (string.IsNullOrEmpty(columns[num]) ? 20 : int.Parse(columns[num]));
|
|
num++;
|
|
EnemyPPCount = ((!string.IsNullOrEmpty(columns[num])) ? int.Parse(columns[num]) : 0);
|
|
num++;
|
|
EnemyEPCount = ((!string.IsNullOrEmpty(columns[num])) ? int.Parse(columns[num]) : 0);
|
|
num++;
|
|
EnemyGraveCount = ((!string.IsNullOrEmpty(columns[num])) ? int.Parse(columns[num]) : 0);
|
|
num++;
|
|
EnemyInplay = (string.IsNullOrEmpty(columns[num]) ? new CardPrm[0] : (from x in columns[num].Split(',')
|
|
select new CardPrm(x)).ToArray());
|
|
num++;
|
|
EnemyHand = (string.IsNullOrEmpty(columns[num]) ? new int[0] : columns[num].Split(',').Select(int.Parse).ToArray());
|
|
num++;
|
|
EnemyDeck = (string.IsNullOrEmpty(columns[num]) ? new int[0] : columns[num].Split(',').Select(int.Parse).ToArray());
|
|
num++;
|
|
EnemyDeckCount = (string.IsNullOrEmpty(columns[num]) ? 40 : int.Parse(columns[num]));
|
|
num++;
|
|
WinCondition = (string.IsNullOrEmpty(columns[num]) ? "{me.inplay.class.life}>0&{op.inplay.class.life}<=0" : columns[num]);
|
|
num++;
|
|
WinConditionTextId = columns[num];
|
|
num++;
|
|
HintTextId = columns[num];
|
|
num++;
|
|
}
|
|
}
|