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

/**
 * 共用_兌禮商城#lppoint.xlsx
 * ##程式碼由工具產生, 在此做的修改都將被覆蓋##
 */
export class LppointTable extends TableBase<WithoutRow> {
	private _string: StringTable;
	/**  共用_兌禮商城#lppoint.xlsx > #string */
	public get String(): StringTable { return this._string = this._string || TableManager.InitTable("#lppoint#string", StringTable, StringTableRow); }

	private _lppointInter: LppointInterTable;
	/**  共用_兌禮商城#lppoint.xlsx > #lppoint_inter */
	public get LppointInter(): LppointInterTable { return this._lppointInter = this._lppointInter || TableManager.InitTable("#lppoint#lppoint_inter", LppointInterTable, LppointInterTableRow); }

	private _lppointCoin: LppointCoinTable;
	/**  共用_兌禮商城#lppoint.xlsx > #lppoint_coin */
	public get LppointCoin(): LppointCoinTable { return this._lppointCoin = this._lppointCoin || TableManager.InitTable("#lppoint#lppoint_coin", LppointCoinTable, LppointCoinTableRow); }
}

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

export class StringTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 英文訊息 */
	MsgEn: string;
	/** 繁中訊息 */
	MsgZnTw: string;
	/** 簡中 */
	MsgZnCh: string;
	/** 越 */
	MsgVi: string;
	/** 泰 */
	MsgTh: string;
	/** 日 */
	MsgJp: string;
}

/**
 * #lppoint_inter
 */
export class LppointInterTable extends TableBase<LppointInterTableRow> {}

export class LppointInterTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 字串編號 */
	NameId: string;
}

/**
 * #lppoint_coin
 */
export class LppointCoinTable extends TableBase<LppointCoinTableRow> {}

export class LppointCoinTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 來享券 */
	Lppoint: number;
	/** 金幣 */
	Coin: number;
}
