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 _shopMycard: ShopMycardTable;
	/**  共用_商城#shop.xlsx > #shop_mycard */
	public get ShopMycard(): ShopMycardTable { return this._shopMycard = this._shopMycard || TableManager.InitTable("#shop#shop_mycard", ShopMycardTable, ShopMycardTableRow); }

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

	private _shopPackage: ShopPackageTable;
	/**  共用_商城#shop.xlsx > #shop_package */
	public get ShopPackage(): ShopPackageTable { return this._shopPackage = this._shopPackage || TableManager.InitTable("#shop#shop_package", ShopPackageTable, ShopPackageTableRow); }
}

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

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

/**
 * #shop_mycard
 */
export class ShopMycardTable extends TableBase<ShopMycardTableRow> {}

export class ShopMycardTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 商品品項 */
	Product: string;
	/** 價格 */
	Price: number;
	/** 信件ID */
	Mail: number;
}

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

export class ShopAdTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 商品品項 */
	Product: string;
	/** 價格 */
	PriceGoogle: number;
	/** 價格 */
	PriceApple: number;
	/** 購買類型 */
	PurchaseType: number;
	/** 主打商品 */
	ItemGoogle: any;
	/** 主打商品 */
	ItemApple: any;
}

/**
 * #shop_package
 */
export class ShopPackageTable extends TableBase<ShopPackageTableRow> {}

export class ShopPackageTableRow implements ITableRow {
	/** 編號 */
	Id: number;
	/** 商品品項 */
	Product: string;
	/** 價格 */
	PriceGoogle: number;
	/** 價格 */
	PriceApple: number;
	/** 購買類型 */
	PurchaseType: number;
	/** 購買參數 */
	PurchaseParameter: number;
	/** 使用圖片 */
	Ad: number;
	/** 圖片版號 */
	Ver: number;
	/** 下架 */
	Off: string;
	/** 主打商品_1 */
	Item1: any;
	/** 主打商品_2 */
	Item2: any;
	/** 主打商品_3 */
	Item3: any;
	/** 主打商品_4 */
	Item4: any;
	/** 主打商品_5 */
	Item5: any;
	/** 禮包類型 */
	PackageType: number;
	/** 禮包內容 */
	PackageMail: any;
	/** 排序 */
	Sort: number;
	/** 強制跳出 */
	Jump: number;
}
