@gamepark/rules-api
Version:
API to implement the rules of a board game
36 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MaterialRulesMovesBuilder = void 0;
var moves_1 = require("../moves");
var MaterialRulesMovesBuilder = (function () {
function MaterialRulesMovesBuilder(game) {
this.game = game;
}
MaterialRulesMovesBuilder.prototype.startPlayerTurn = function (id, player) {
return { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.StartPlayerTurn, id: id, player: player };
};
MaterialRulesMovesBuilder.prototype.startSimultaneousRule = function (id, players) {
var move = { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.StartSimultaneousRule, id: id };
if (players)
move.players = players;
return move;
};
MaterialRulesMovesBuilder.prototype.endPlayerTurn = function (player) {
return { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.EndPlayerTurn, player: player };
};
MaterialRulesMovesBuilder.prototype.startRule = function (id) {
return { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.StartRule, id: id };
};
MaterialRulesMovesBuilder.prototype.customMove = function (type, data) {
var move = { kind: moves_1.MoveKind.CustomMove, type: type };
if (data !== undefined)
move.data = data;
return move;
};
MaterialRulesMovesBuilder.prototype.endGame = function () {
return { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.EndGame };
};
return MaterialRulesMovesBuilder;
}());
exports.MaterialRulesMovesBuilder = MaterialRulesMovesBuilder;
//# sourceMappingURL=MaterialRulesMovesBuilder.js.map