import { ITableRow, WithoutRow } from "../../Engine/CatanEngine/TableV3/Core/ITableRow";
import { TableBase } from "../../Engine/CatanEngine/TableV3/Core/TableBase";
import { TableManager } from "../../Engine/CatanEngine/TableV3/TableManager";

/**
 * 共用_幣種設定表#bet_setting.xlsx
 * ##程式碼由工具產生, 在此做的修改都將被覆蓋##
 */
export class BetSettingTable extends TableBase<WithoutRow> {
	private _betTWC: BetTWCTable;
	/**  共用_幣種設定表#bet_setting.xlsx > #bet_TWC */
	public get BetTWC(): BetTWCTable { return this._betTWC = this._betTWC || TableManager.InitTable("#bet_setting#bet_TWC", BetTWCTable, BetTWCTableRow); }

	private _betLC: BetLCTable;
	/**  共用_幣種設定表#bet_setting.xlsx > #bet_LC */
	public get BetLC(): BetLCTable { return this._betLC = this._betLC || TableManager.InitTable("#bet_setting#bet_LC", BetLCTable, BetLCTableRow); }
}

/**
 * #bet_TWC
 */
export class BetTWCTable extends TableBase<BetTWCTableRow> {}

export class BetTWCTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 1階 */
	Rank1: number;
	/** 2階 */
	Rank2: number;
	/** 3階 */
	Rank3: number;
	/** 4階 */
	Rank4: number;
	/** 5階 */
	Rank5: number;
	/** 6階 */
	Rank6: number;
	/** 7階 */
	Rank7: number;
	/** 8階 */
	Rank8: number;
	/** 9階 */
	Rank9: number;
	/** 10階 */
	Rank10: number;
	/** 11階 */
	Rank11: number;
	/** 12階 */
	Rank12: number;
	/** 13階 */
	Rank13: number;
	/** 14階 */
	Rank14: number;
	/** 15階 */
	Rank15: number;
	/** 16階 */
	Rank16: number;
	/** 17階 */
	Rank17: number;
	/** 18階 */
	Rank18: number;
	/** 19階 */
	Rank19: number;
	/** 20階 */
	Rank20: number;
	/** 21階 */
	Rank21: number;
	/** 22階 */
	Rank22: number;
	/** 23階 */
	Rank23: number;
	/** 24階 */
	Rank24: number;
	/** 25階 */
	Rank25: number;
	/** 26階 */
	Rank26: number;
	/** 27階 */
	Rank27: number;
	/** 28階 */
	Rank28: number;
	/** 29階 */
	Rank29: number;
	/** 30階 */
	Rank30: number;
	/** 31階 */
	Rank31: number;
	/** 32階 */
	Rank32: number;
	/** 33階 */
	Rank33: number;
	/** 34階 */
	Rank34: number;
	/** 35階 */
	Rank35: number;
	/** 36階 */
	Rank36: number;
	/** 37階 */
	Rank37: number;
	/** 38階 */
	Rank38: number;
	/** 39階 */
	Rank39: number;
	/** 40階 */
	Rank40: number;
}

/**
 * #bet_LC
 */
export class BetLCTable extends TableBase<BetLCTableRow> {}

export class BetLCTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 1階 */
	Rank1: number;
	/** 2階 */
	Rank2: number;
	/** 3階 */
	Rank3: number;
	/** 4階 */
	Rank4: number;
	/** 5階 */
	Rank5: number;
	/** 6階 */
	Rank6: number;
	/** 7階 */
	Rank7: number;
	/** 8階 */
	Rank8: number;
	/** 9階 */
	Rank9: number;
	/** 10階 */
	Rank10: number;
	/** 11階 */
	Rank11: number;
	/** 12階 */
	Rank12: number;
	/** 13階 */
	Rank13: number;
	/** 14階 */
	Rank14: number;
	/** 15階 */
	Rank15: number;
	/** 16階 */
	Rank16: number;
	/** 17階 */
	Rank17: number;
	/** 18階 */
	Rank18: number;
	/** 19階 */
	Rank19: number;
	/** 20階 */
	Rank20: number;
	/** 21階 */
	Rank21: number;
	/** 22階 */
	Rank22: number;
	/** 23階 */
	Rank23: number;
	/** 24階 */
	Rank24: number;
	/** 25階 */
	Rank25: number;
	/** 26階 */
	Rank26: number;
	/** 27階 */
	Rank27: number;
	/** 28階 */
	Rank28: number;
	/** 29階 */
	Rank29: number;
	/** 30階 */
	Rank30: number;
	/** 31階 */
	Rank31: number;
	/** 32階 */
	Rank32: number;
	/** 33階 */
	Rank33: number;
	/** 34階 */
	Rank34: number;
	/** 35階 */
	Rank35: number;
	/** 36階 */
	Rank36: number;
	/** 37階 */
	Rank37: number;
	/** 38階 */
	Rank38: number;
	/** 39階 */
	Rank39: number;
	/** 40階 */
	Rank40: number;
}
