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

/**
 * 系統_排行榜#rank.xlsx
 * ##程式碼由工具產生, 在此做的修改都將被覆蓋##
 */
export class RankTable extends TableBase<RankTableRow> {
	private _string: StringTable;
	/**  系統_排行榜#rank.xlsx > #string */
	public get String(): StringTable { return this._string = this._string || TableManager.InitTable("#rank#string", StringTable, StringTableRow); }

	private _rankSlotset: RankSlotsetTable;
	/**  系統_排行榜#rank.xlsx > #rank_slotset */
	public get RankSlotset(): RankSlotsetTable { return this._rankSlotset = this._rankSlotset || TableManager.InitTable("#rank#rank_slotset", RankSlotsetTable, RankSlotsetTableRow); }
}

export class RankTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 值 */
	Rank1: number;
}

/**
 * #string
 */
export class StringTable extends TableBase<StringTableRow> {}

export class StringTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 介面字串 */
	MsgZnTw: string;
}

/**
 * #rank_slotset
 */
export class RankSlotsetTable extends TableBase<RankSlotsetTableRow> {}

export class RankSlotsetTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 可否回放 */
	Replay: number;
}
