initial
This commit is contained in:
48
src/entities/ValuableReelSymbol.ts
Normal file
48
src/entities/ValuableReelSymbol.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import {BitmapText} from 'pixi.js';
|
||||
import { SymbolConfig } from '../types/SlotMachineConfig';
|
||||
import ReelSymbol from './ReelSymbol';
|
||||
|
||||
export default class ValuableReelSymbol extends ReelSymbol
|
||||
{
|
||||
private textObj: BitmapText;
|
||||
private _value: number;
|
||||
constructor(config: SymbolConfig)
|
||||
{
|
||||
super(config);
|
||||
}
|
||||
|
||||
public set value(v: number)
|
||||
{
|
||||
if (v <= 0) return;
|
||||
!this.textObj && this.createValueText();
|
||||
this._value = v;
|
||||
if (this.textObj) {
|
||||
this.textObj.text = `X${v}`;
|
||||
}
|
||||
}
|
||||
|
||||
public get value(): number
|
||||
{
|
||||
return this._value;
|
||||
}
|
||||
|
||||
private createValueText()
|
||||
{
|
||||
if (!this.config.fontStyle || !this.config.fontStyle.fontName) return;
|
||||
this.textObj = new BitmapText(`X${this.config.value}`, this.config.fontStyle);
|
||||
this.textObj.anchor.set(0.5);
|
||||
this.textObj.scale.set(1, -1);
|
||||
const slotIndex = this.spine.skeleton.findSlotIndex('value');
|
||||
|
||||
this.spine.slotContainers[slotIndex].addChild(this.textObj);
|
||||
}
|
||||
|
||||
public override tint(hexColor: number): void
|
||||
{
|
||||
super.tint(hexColor);
|
||||
if (this.textObj)
|
||||
{
|
||||
this.textObj.tint = hexColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user