ImageViewerState.js 682 Bytes
Newer Older
Alexander Bazo committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
/* eslint-env node */

const schema = require("@colyseus/schema"),
    Logger = require("../utils/Logger.js"),
    Task = require("./Task"),
    Schema = schema.Schema;

var currentCallback;

class ImageViewerState extends Schema {

    constructor() {
        super();
        this.task = null;
    }

    setTask(task, onFinish) {
        this.task = task;  
        currentCallback = onFinish;
        setTimeout(this.onTaskFinished, task.duration);
    }

    onTaskFinished() {
        currentCallback();
    }

}

schema.defineTypes(ImageViewerState, {
    stateType: "string",
    width: "number",
    height: "number",
    task: Task,
});

module.exports = ImageViewerState;