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

/**
 * 共用_商城#shop.xlsx
 * ##程式碼由工具產生, 在此做的修改都將被覆蓋##
 */
export class ShopTable extends TableBase<WithoutRow> {
	private _shopMoney: ShopMoneyTable;
	/**  共用_商城#shop.xlsx > #shop_money */
	public get ShopMoney(): ShopMoneyTable { return this._shopMoney = this._shopMoney || TableManager.InitTable("#shop#shop_money", ShopMoneyTable, ShopMoneyTableRow); }

	private _shopAd: ShopAdTable;
	/**  共用_商城#shop.xlsx > #shop_ad */
	public get ShopAd(): ShopAdTable { return this._shopAd = this._shopAd || TableManager.InitTable("#shop#shop_ad", ShopAdTable, ShopAdTableRow); }

	private _shopString: ShopStringTable;
	/**  共用_商城#shop.xlsx > #shop_string */
	public get ShopString(): ShopStringTable { return this._shopString = this._shopString || TableManager.InitTable("#shop#shop_string", ShopStringTable, ShopStringTableRow); }
}

/**
 * #shop_money
 */
export class ShopMoneyTable extends TableBase<ShopMoneyTableRow> {}

export class ShopMoneyTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 商品品項 */
	Product: string;
	/** 商品名稱 */
	ProductName: string;
	/** 價格 */
	PriceGoogle: number;
	/** 價格 */
	PriceApple: number;
	/** 金幣數量 */
	GoldGoogle: number;
	/** 金幣數量 */
	GoldApple: number;
}

/**
 * #shop_ad
 */
export class ShopAdTable extends TableBase<ShopAdTableRow> {}

export class ShopAdTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 優先度 */
	Priority: number;
	/** 商品品項 */
	Product: string;
	/** 商品名稱 */
	ProductName: string;
	/** 價格 */
	PriceGoogle: number;
	/** 價格 */
	PriceApple: number;
	/** 購買類型 */
	PurchaseType: number;
	/** 加總限購 */
	Limit: number;
	/** 個人限購 */
	PersonLimit: number;
	/** 版型 */
	Type: number;
	/** 上架(顯示) */
	On: string;
	/** 開賣 */
	Start: string;
	/** 下架 */
	Off: string;
	/** 主打商品 */
	ItemGoogle: any;
	/** 主打商品 */
	ItemApple: any;
	/** 開賣前字串 */
	OnString: any;
	/** 開賣後字串 */
	StartString: any;
}

/**
 * #shop_string
 */
export class ShopStringTable extends TableBase<ShopStringTableRow> {}

export class ShopStringTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 英文訊息 */
	MsgEn: string;
	/** 繁體中文訊息 */
	MsgZnTw: string;
}
