Home Reference Source Repository

app/events/UseItemEvent.js

import Creature from '../entities/creatures/Creature.js';
import GameEvent from './GameEvent.js';

export default class UseItemEvent extends GameEvent {
    /**
      * @class UseItemEvent
      * @description Event fired whenever a Creature uses an item
      */
    constructor(dungeon, creature, item, optionalTargetTile) {
        super(dungeon);
        if(!(creature instanceof Creature)) {
            throw new Error('Second parameter must be a creature');
        } /*else if(!(item instanceof Item)) {
            // TODO
        }*/
        this._creature = creature;
        this._item = item;
        this._tile = optionalTargetTile;
        this._text = item.getUseMessage(dungeon, creature, optionalTargetTile);
    }

    getCreature() {
        return this._creature;
    }

    getItem() {
        return this._item;
    }

    getTile() {
        return this._tile || null;
    }

    getText() {
        return this._text;
    }
}