All files / src/factories factoryInput.js

100% Statements 18/18
100% Branches 2/2
100% Functions 2/2
100% Lines 18/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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  1x 1x 1x 1x 1x 1x 1x 1x     4x 4x 4x     3x 1x   2x 2x 2x 2x     1x  
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FactoryInput = void 0;
const inputController_1 = require("../controller/input/inputController");
const inputReceiver_1 = require("../controller/input/inputReceiver");
const factory_1 = require("../models/factory");
const exceptions_1 = require("../environment/exceptions");
const inputTypePointer_1 = require("../controller/input/types/inputTypePointer");
const inputTypeKeyboard_1 = require("../controller/input/types/inputTypeKeyboard");
class FactoryInput extends factory_1.Factory {
    constructor(engineCanvas) {
        super();
        this._engineCanvas = engineCanvas;
        this._inputReceiver = new inputReceiver_1.InputReceiver(engineCanvas);
    }
    create(engineCore) {
        if (!engineCore) {
            throw new exceptions_1.InvalidOperationException("IEngineCore is needed for creation.");
        }
        const inputController = new inputController_1.InputController(engineCore, this._inputReceiver);
        inputController.add("Pointer", new inputTypePointer_1.InputTypePointer(this._engineCanvas));
        inputController.add("Keyboard", new inputTypeKeyboard_1.InputTypeKeyboard());
        return inputController;
    }
}
exports.FactoryInput = FactoryInput;