///
///
///
module PlayBegins {
export var rulebook = new Rulebook("Play Begins");
export var LOAD_FAILED = false;
export let startingRoom;
export function execute () {
rulebook.execute({});
}
export function setStartingRoom (room : Room) {
if (startingRoom != undefined) {
console.warn("[InitialRoom] Multiple requests for starting room, please check.", startingRoom, room);
}
startingRoom = room;
}
export let PutPlayerIntoFirstRoom = rulebook.createAndAddRule({
name : "Place player into initial room",
firstPriority : Rule.PRIORITY_HIGHEST,
priority : Rule.PRIORITY_MEDIUM,
code : () => {
if (WorldState.player.getRoom() != undefined) {
console.debug(Rulebook.getIndentation() + "[InitialRoom] Player already in a room.", WorldState.player.getRoom());
} else {
startingRoom.place(WorldState.player);
}
}
});
export var RunEmptyTurnSequenceRule = new Rule ({
name : "Run Empty Turn Sequence Rule",
firstPriority : Rule.PRIORITY_LOWEST,
priority : Rule.PRIORITY_LOWEST,
code : (rulebook2 : RulebookRunner) => {
TurnSequence.execute();
}
});
rulebook.addRule(RunEmptyTurnSequenceRule);
}
module MachineBegins {
export let RunPlayBegins = MachineBegins.rulebook.createAndAddRule({
firstPriority : Rule.PRIORITY_LOW,
name : "Run Play Begins",
code : () => {
PlayBegins.execute();
}
});
}