121 lines
2.6 KiB
TypeScript
121 lines
2.6 KiB
TypeScript
import { GetProductOfferComposer, IFurnitureData } from '@nitrots/nitro-renderer';
|
|
import { GetProductDataForLocalization, SendMessageComposer } from '..';
|
|
import { ICatalogPage } from './ICatalogPage';
|
|
import { IProduct } from './IProduct';
|
|
import { IPurchasableOffer } from './IPurchasableOffer';
|
|
import { Offer } from './Offer';
|
|
import { Product } from './Product';
|
|
|
|
export class FurnitureOffer implements IPurchasableOffer
|
|
{
|
|
private _furniData:IFurnitureData;
|
|
private _page: ICatalogPage;
|
|
private _product: IProduct;
|
|
|
|
constructor(furniData: IFurnitureData)
|
|
{
|
|
this._furniData = furniData;
|
|
this._product = (new Product(this._furniData.type, this._furniData.id, this._furniData.customParams, 1, GetProductDataForLocalization(this._furniData.className), this._furniData) as IProduct);
|
|
}
|
|
|
|
public activate(): void
|
|
{
|
|
SendMessageComposer(new GetProductOfferComposer((this._furniData.rentOfferId > -1) ? this._furniData.rentOfferId : this._furniData.purchaseOfferId));
|
|
}
|
|
|
|
public get offerId(): number
|
|
{
|
|
return (this.isRentOffer) ? this._furniData.rentOfferId : this._furniData.purchaseOfferId;
|
|
}
|
|
|
|
public get priceInActivityPoints(): number
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public get activityPointType(): number
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public get priceInCredits(): number
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public get page(): ICatalogPage
|
|
{
|
|
return this._page;
|
|
}
|
|
|
|
public set page(page: ICatalogPage)
|
|
{
|
|
this._page = page;
|
|
}
|
|
|
|
public get priceType(): string
|
|
{
|
|
return '';
|
|
}
|
|
|
|
public get product(): IProduct
|
|
{
|
|
return this._product;
|
|
}
|
|
|
|
public get products(): IProduct[]
|
|
{
|
|
return [ this._product ];
|
|
}
|
|
|
|
public get localizationId(): string
|
|
{
|
|
return 'roomItem.name.' + this._furniData.id;
|
|
}
|
|
|
|
public get bundlePurchaseAllowed(): boolean
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public get isRentOffer(): boolean
|
|
{
|
|
return (this._furniData.rentOfferId > -1);
|
|
}
|
|
|
|
public get giftable(): boolean
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public get pricingModel(): string
|
|
{
|
|
return Offer.PRICING_MODEL_FURNITURE;
|
|
}
|
|
|
|
public get clubLevel(): number
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public get badgeCode(): string
|
|
{
|
|
return '';
|
|
}
|
|
|
|
public get localizationName(): string
|
|
{
|
|
return this._furniData.name;
|
|
}
|
|
|
|
public get localizationDescription(): string
|
|
{
|
|
return this._furniData.description;
|
|
}
|
|
|
|
public get isLazy(): boolean
|
|
{
|
|
return true;
|
|
}
|
|
}
|