1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-06-13 13:04:03 +00:00
tobspr_shapez.io/docs/ast/source/game/game_mode.js.json

3912 lines
92 KiB
JSON
Raw Normal View History

2021-02-26 14:20:37 +00:00
{
"type": "File",
"start": 0,
"end": 1583,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 76,
"column": 1
}
},
"program": {
"type": "Program",
"start": 0,
"end": 1583,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 76,
"column": 1
}
},
"sourceType": "module",
"body": [
{
"type": "ImportDeclaration",
"start": 23,
"end": 77,
"loc": {
"start": {
"line": 2,
"column": 0
},
"end": {
"line": 2,
"column": 54
}
},
"specifiers": [
{
"type": "ImportSpecifier",
"start": 32,
"end": 50,
"loc": {
"start": {
"line": 2,
"column": 9
},
"end": {
"line": 2,
"column": 27
}
},
"imported": {
"type": "Identifier",
"start": 32,
"end": 50,
"loc": {
"start": {
"line": 2,
"column": 9
},
"end": {
"line": 2,
"column": 27
},
"identifierName": "enumHubGoalRewards"
},
"name": "enumHubGoalRewards",
"leadingComments": null
},
"local": {
"type": "Identifier",
"start": 32,
"end": 50,
"loc": {
"start": {
"line": 2,
"column": 9
},
"end": {
"line": 2,
"column": 27
},
"identifierName": "enumHubGoalRewards"
},
"name": "enumHubGoalRewards"
},
"leadingComments": null
}
],
"source": {
"type": "StringLiteral",
"start": 58,
"end": 76,
"loc": {
"start": {
"line": 2,
"column": 35
},
"end": {
"line": 2,
"column": 53
}
},
"extra": {
"rawValue": "./tutorial_goals",
"raw": "\"./tutorial_goals\""
},
"value": "./tutorial_goals"
},
"leadingComments": [
{
"type": "CommentBlock",
"value": " typehints:start ",
"start": 0,
"end": 21,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 1,
"column": 21
}
}
}
],
"trailingComments": [
{
"type": "CommentBlock",
"value": " typehints:end ",
"start": 79,
"end": 98,
"loc": {
"start": {
"line": 3,
"column": 0
},
"end": {
"line": 3,
"column": 19
}
}
}
]
},
{
"type": "ImportDeclaration",
"start": 102,
"end": 136,
"loc": {
"start": {
"line": 5,
"column": 0
},
"end": {
"line": 5,
"column": 34
}
},
"specifiers": [
{
"type": "ImportSpecifier",
"start": 111,
"end": 119,
"loc": {
"start": {
"line": 5,
"column": 9
},
"end": {
"line": 5,
"column": 17
}
},
"imported": {
"type": "Identifier",
"start": 111,
"end": 119,
"loc": {
"start": {
"line": 5,
"column": 9
},
"end": {
"line": 5,
"column": 17
},
"identifierName": "GameRoot"
},
"name": "GameRoot",
"leadingComments": null
},
"local": {
"type": "Identifier",
"start": 111,
"end": 119,
"loc": {
"start": {
"line": 5,
"column": 9
},
"end": {
"line": 5,
"column": 17
},
"identifierName": "GameRoot"
},
"name": "GameRoot"
},
"leadingComments": null
}
],
"source": {
"type": "StringLiteral",
"start": 127,
"end": 135,
"loc": {
"start": {
"line": 5,
"column": 25
},
"end": {
"line": 5,
"column": 33
}
},
"extra": {
"rawValue": "./root",
"raw": "\"./root\""
},
"value": "./root"
},
"leadingComments": [
{
"type": "CommentBlock",
"value": " typehints:end ",
"start": 79,
"end": 98,
"loc": {
"start": {
"line": 3,
"column": 0
},
"end": {
"line": 3,
"column": 19
}
}
}
],
"trailingComments": [
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ",
"start": 140,
"end": 226,
"loc": {
"start": {
"line": 7,
"column": 0
},
"end": {
"line": 10,
"column": 27
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * required: Array<UpgradeRequirement>\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ",
"start": 230,
"end": 373,
"loc": {
"start": {
"line": 12,
"column": 0
},
"end": {
"line": 16,
"column": 24
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {Array<TierRequirement>} UpgradeTiers ",
"start": 377,
"end": 430,
"loc": {
"start": {
"line": 18,
"column": 0
},
"end": {
"line": 18,
"column": 53
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ",
"start": 434,
"end": 585,
"loc": {
"start": {
"line": 20,
"column": 0
},
"end": {
"line": 25,
"column": 24
}
}
}
]
},
{
"type": "ExportNamedDeclaration",
"start": 589,
"end": 1583,
"loc": {
"start": {
"line": 27,
"column": 0
},
"end": {
"line": 76,
"column": 1
}
},
"specifiers": [],
"source": null,
"declaration": {
"type": "ClassDeclaration",
"start": 596,
"end": 1583,
"loc": {
"start": {
"line": 27,
"column": 7
},
"end": {
"line": 76,
"column": 1
}
},
"id": {
"type": "Identifier",
"start": 602,
"end": 610,
"loc": {
"start": {
"line": 27,
"column": 13
},
"end": {
"line": 27,
"column": 21
},
"identifierName": "GameMode"
},
"name": "GameMode",
"leadingComments": null
},
"superClass": null,
"body": {
"type": "ClassBody",
"start": 611,
"end": 1583,
"loc": {
"start": {
"line": 27,
"column": 22
},
"end": {
"line": 76,
"column": 1
}
},
"body": [
{
"type": "ClassMethod",
"start": 675,
"end": 728,
"loc": {
"start": {
"line": 32,
"column": 4
},
"end": {
"line": 34,
"column": 5
}
},
"static": false,
"computed": false,
"key": {
"type": "Identifier",
"start": 675,
"end": 686,
"loc": {
"start": {
"line": 32,
"column": 4
},
"end": {
"line": 32,
"column": 15
},
"identifierName": "constructor"
},
"name": "constructor",
"leadingComments": null
},
"kind": "constructor",
"id": null,
"generator": false,
"expression": false,
"async": false,
"params": [
{
"type": "Identifier",
"start": 687,
"end": 691,
"loc": {
"start": {
"line": 32,
"column": 16
},
"end": {
"line": 32,
"column": 20
},
"identifierName": "root"
},
"name": "root"
}
],
"body": {
"type": "BlockStatement",
"start": 693,
"end": 728,
"loc": {
"start": {
"line": 32,
"column": 22
},
"end": {
"line": 34,
"column": 5
}
},
"body": [
{
"type": "ExpressionStatement",
"start": 704,
"end": 721,
"loc": {
"start": {
"line": 33,
"column": 8
},
"end": {
"line": 33,
"column": 25
}
},
"expression": {
"type": "AssignmentExpression",
"start": 704,
"end": 720,
"loc": {
"start": {
"line": 33,
"column": 8
},
"end": {
"line": 33,
"column": 24
}
},
"operator": "=",
"left": {
"type": "MemberExpression",
"start": 704,
"end": 713,
"loc": {
"start": {
"line": 33,
"column": 8
},
"end": {
"line": 33,
"column": 17
}
},
"object": {
"type": "ThisExpression",
"start": 704,
"end": 708,
"loc": {
"start": {
"line": 33,
"column": 8
},
"end": {
"line": 33,
"column": 12
}
}
},
"property": {
"type": "Identifier",
"start": 709,
"end": 713,
"loc": {
"start": {
"line": 33,
"column": 13
},
"end": {
"line": 33,
"column": 17
},
"identifierName": "root"
},
"name": "root"
},
"computed": false
},
"right": {
"type": "Identifier",
"start": 716,
"end": 720,
"loc": {
"start": {
"line": 33,
"column": 20
},
"end": {
"line": 33,
"column": 24
},
"identifierName": "root"
},
"name": "root"
}
}
}
],
"directives": []
},
"leadingComments": [
{
"type": "CommentBlock",
"value": "*\r\n *\r\n * @param {GameRoot} root\r\n ",
"start": 618,
"end": 669,
"loc": {
"start": {
"line": 28,
"column": 4
},
"end": {
"line": 31,
"column": 7
}
}
}
]
},
{
"type": "ClassMethod",
"start": 736,
"end": 813,
"loc": {
"start": {
"line": 36,
"column": 4
},
"end": {
"line": 39,
"column": 5
}
},
"static": true,
"computed": false,
"key": {
"type": "Identifier",
"start": 743,
"end": 748,
"loc": {
"start": {
"line": 36,
"column": 11
},
"end": {
"line": 36,
"column": 16
},
"identifierName": "getId"
},
"name": "getId"
},
"kind": "method",
"id": null,
"generator": false,
"expression": false,
"async": false,
"params": [],
"body": {
"type": "BlockStatement",
"start": 751,
"end": 813,
"loc": {
"start": {
"line": 36,
"column": 19
},
"end": {
"line": 39,
"column": 5
}
},
"body": [
{
"type": "ExpressionStatement",
"start": 762,
"end": 771,
"loc": {
"start": {
"line": 37,
"column": 8
},
"end": {
"line": 37,
"column": 17
}
},
"expression": {
"type": "Identifier",
"start": 762,
"end": 770,
"loc": {
"start": {
"line": 37,
"column": 8
},
"end": {
"line": 37,
"column": 16
},
"identifierName": "abstract"
},
"name": "abstract"
}
},
{
"type": "ReturnStatement",
"start": 781,
"end": 806,
"loc": {
"start": {
"line": 38,
"column": 8
},
"end": {
"line": 38,
"column": 33
}
},
"argument": {
"type": "StringLiteral",
"start": 788,
"end": 805,
"loc": {
"start": {
"line": 38,
"column": 15
},
"end": {
"line": 38,
"column": 32
}
},
"extra": {
"rawValue": "unknow-gamemode",
"raw": "\"unknow-gamemode\""
},
"value": "unknow-gamemode"
}
}
],
"directives": [],
"trailingComments": null
},
"trailingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Should return all available upgrades\r\n * @returns {Object<string, UpgradeTiers>}\r\n ",
"start": 821,
"end": 926,
"loc": {
"start": {
"line": 41,
"column": 4
},
"end": {
"line": 44,
"column": 7
}
}
}
]
},
{
"type": "ClassMethod",
"start": 932,
"end": 995,
"loc": {
"start": {
"line": 45,
"column": 4
},
"end": {
"line": 48,
"column": 5
}
},
"static": false,
"computed": false,
"key": {
"type": "Identifier",
"start": 932,
"end": 943,
"loc": {
"start": {
"line": 45,
"column": 4
},
"end": {
"line": 45,
"column": 15
},
"identifierName": "getUpgrades"
},
"name": "getUpgrades",
"leadingComments": null
},
"kind": "method",
"id": null,
"generator": false,
"expression": false,
"async": false,
"params": [],
"body": {
"type": "BlockStatement",
"start": 946,
"end": 995,
"loc": {
"start": {
"line": 45,
"column": 18
},
"end": {
"line": 48,
"column": 5
}
},
"body": [
{
"type": "ExpressionStatement",
"start": 957,
"end": 966,
"loc": {
"start": {
"line": 46,
"column": 8
},
"end": {
"line": 46,
"column": 17
}
},
"expression": {
"type": "Identifier",
"start": 957,
"end": 965,
"loc": {
"start": {
"line": 46,
"column": 8
},
"end": {
"line": 46,
"column": 16
},
"identifierName": "abstract"
},
"name": "abstract"
}
},
{
"type": "ReturnStatement",
"start": 976,
"end": 988,
"loc": {
"start": {
"line": 47,
"column": 8
},
"end": {
"line": 47,
"column": 20
}
},
"argument": {
"type": "NullLiteral",
"start": 983,
"end": 987,
"loc": {
"start": {
"line": 47,
"column": 15
},
"end": {
"line": 47,
"column": 19
}
}
}
}
],
"directives": [],
"trailingComments": null
},
"leadingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Should return all available upgrades\r\n * @returns {Object<string, UpgradeTiers>}\r\n ",
"start": 821,
"end": 926,
"loc": {
"start": {
"line": 41,
"column": 4
},
"end": {
"line": 44,
"column": 7
}
}
}
],
"trailingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ",
"start": 1003,
"end": 1081,
"loc": {
"start": {
"line": 50,
"column": 4
},
"end": {
"line": 53,
"column": 7
}
}
}
]
},
{
"type": "ClassMethod",
"start": 1087,
"end": 1159,
"loc": {
"start": {
"line": 54,
"column": 4
},
"end": {
"line": 57,
"column": 5
}
},
"static": false,
"computed": false,
"key": {
"type": "Identifier",
"start": 1087,
"end": 1107,
"loc": {
"start": {
"line": 54,
"column": 4
},
"end": {
"line": 54,
"column": 24
},
"identifierName": "getBlueprintShapeKey"
},
"name": "getBlueprintShapeKey",
"leadingComments": null
},
"kind": "method",
"id": null,
"generator": false,
"expression": false,
"async": false,
"params": [],
"body": {
"type": "BlockStatement",
"start": 1110,
"end": 1159,
"loc": {
"start": {
"line": 54,
"column": 27
},
"end": {
"line": 57,
"column": 5
}
},
"body": [
{
"type": "ExpressionStatement",
"start": 1121,
"end": 1130,
"loc": {
"start": {
"line": 55,
"column": 8
},
"end": {
"line": 55,
"column": 17
}
},
"expression": {
"type": "Identifier",
"start": 1121,
"end": 1129,
"loc": {
"start": {
"line": 55,
"column": 8
},
"end": {
"line": 55,
"column": 16
},
"identifierName": "abstract"
},
"name": "abstract"
}
},
{
"type": "ReturnStatement",
"start": 1140,
"end": 1152,
"loc": {
"start": {
"line": 56,
"column": 8
},
"end": {
"line": 56,
"column": 20
}
},
"argument": {
"type": "NullLiteral",
"start": 1147,
"end": 1151,
"loc": {
"start": {
"line": 56,
"column": 15
},
"end": {
"line": 56,
"column": 19
}
}
}
}
],
"directives": [],
"trailingComments": null
},
"leadingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ",
"start": 1003,
"end": 1081,
"loc": {
"start": {
"line": 50,
"column": 4
},
"end": {
"line": 53,
"column": 7
}
}
}
],
"trailingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array<LevelDefinition>}\r\n ",
"start": 1167,
"end": 1285,
"loc": {
"start": {
"line": 59,
"column": 4
},
"end": {
"line": 62,
"column": 7
}
}
}
]
},
{
"type": "ClassMethod",
"start": 1291,
"end": 1362,
"loc": {
"start": {
"line": 63,
"column": 4
},
"end": {
"line": 66,
"column": 5
}
},
"static": false,
"computed": false,
"key": {
"type": "Identifier",
"start": 1291,
"end": 1310,
"loc": {
"start": {
"line": 63,
"column": 4
},
"end": {
"line": 63,
"column": 23
},
"identifierName": "getLevelDefinitions"
},
"name": "getLevelDefinitions",
"leadingComments": null
},
"kind": "method",
"id": null,
"generator": false,
"expression": false,
"async": false,
"params": [],
"body": {
"type": "BlockStatement",
"start": 1313,
"end": 1362,
"loc": {
"start": {
"line": 63,
"column": 26
},
"end": {
"line": 66,
"column": 5
}
},
"body": [
{
"type": "ExpressionStatement",
"start": 1324,
"end": 1333,
"loc": {
"start": {
"line": 64,
"column": 8
},
"end": {
"line": 64,
"column": 17
}
},
"expression": {
"type": "Identifier",
"start": 1324,
"end": 1332,
"loc": {
"start": {
"line": 64,
"column": 8
},
"end": {
"line": 64,
"column": 16
},
"identifierName": "abstract"
},
"name": "abstract"
}
},
{
"type": "ReturnStatement",
"start": 1343,
"end": 1355,
"loc": {
"start": {
"line": 65,
"column": 8
},
"end": {
"line": 65,
"column": 20
}
},
"argument": {
"type": "NullLiteral",
"start": 1350,
"end": 1354,
"loc": {
"start": {
"line": 65,
"column": 15
},
"end": {
"line": 65,
"column": 19
}
}
}
}
],
"directives": [],
"trailingComments": null
},
"leadingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array<LevelDefinition>}\r\n ",
"start": 1167,
"end": 1285,
"loc": {
"start": {
"line": 59,
"column": 4
},
"end": {
"line": 62,
"column": 7
}
}
}
],
"trailingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ",
"start": 1370,
"end": 1519,
"loc": {
"start": {
"line": 68,
"column": 4
},
"end": {
"line": 72,
"column": 7
}
}
}
]
},
{
"type": "ClassMethod",
"start": 1525,
"end": 1580,
"loc": {
"start": {
"line": 73,
"column": 4
},
"end": {
"line": 75,
"column": 5
}
},
"static": false,
"computed": false,
"key": {
"type": "Identifier",
"start": 1525,
"end": 1547,
"loc": {
"start": {
"line": 73,
"column": 4
},
"end": {
"line": 73,
"column": 26
},
"identifierName": "getIsFreeplayAvailable"
},
"name": "getIsFreeplayAvailable",
"leadingComments": null
},
"kind": "method",
"id": null,
"generator": false,
"expression": false,
"async": false,
"params": [],
"body": {
"type": "BlockStatement",
"start": 1550,
"end": 1580,
"loc": {
"start": {
"line": 73,
"column": 29
},
"end": {
"line": 75,
"column": 5
}
},
"body": [
{
"type": "ReturnStatement",
"start": 1561,
"end": 1573,
"loc": {
"start": {
"line": 74,
"column": 8
},
"end": {
"line": 74,
"column": 20
}
},
"argument": {
"type": "BooleanLiteral",
"start": 1568,
"end": 1572,
"loc": {
"start": {
"line": 74,
"column": 15
},
"end": {
"line": 74,
"column": 19
}
},
"value": true
}
}
],
"directives": []
},
"leadingComments": [
{
"type": "CommentBlock",
"value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ",
"start": 1370,
"end": 1519,
"loc": {
"start": {
"line": 68,
"column": 4
},
"end": {
"line": 72,
"column": 7
}
}
}
]
}
]
},
"leadingComments": [
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ",
"start": 140,
"end": 226,
"loc": {
"start": {
"line": 7,
"column": 0
},
"end": {
"line": 10,
"column": 27
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * required: Array<UpgradeRequirement>\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ",
"start": 230,
"end": 373,
"loc": {
"start": {
"line": 12,
"column": 0
},
"end": {
"line": 16,
"column": 24
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {Array<TierRequirement>} UpgradeTiers ",
"start": 377,
"end": 430,
"loc": {
"start": {
"line": 18,
"column": 0
},
"end": {
"line": 18,
"column": 53
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ",
"start": 434,
"end": 585,
"loc": {
"start": {
"line": 20,
"column": 0
},
"end": {
"line": 25,
"column": 24
}
}
}
],
"trailingComments": []
},
"leadingComments": [
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ",
"start": 140,
"end": 226,
"loc": {
"start": {
"line": 7,
"column": 0
},
"end": {
"line": 10,
"column": 27
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * required: Array<UpgradeRequirement>\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ",
"start": 230,
"end": 373,
"loc": {
"start": {
"line": 12,
"column": 0
},
"end": {
"line": 16,
"column": 24
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {Array<TierRequirement>} UpgradeTiers ",
"start": 377,
"end": 430,
"loc": {
"start": {
"line": 18,
"column": 0
},
"end": {
"line": 18,
"column": 53
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ",
"start": 434,
"end": 585,
"loc": {
"start": {
"line": 20,
"column": 0
},
"end": {
"line": 25,
"column": 24
}
}
}
]
}
],
"directives": []
},
"comments": [
{
"type": "CommentBlock",
"value": " typehints:start ",
"start": 0,
"end": 21,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 1,
"column": 21
}
}
},
{
"type": "CommentBlock",
"value": " typehints:end ",
"start": 79,
"end": 98,
"loc": {
"start": {
"line": 3,
"column": 0
},
"end": {
"line": 3,
"column": 19
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ",
"start": 140,
"end": 226,
"loc": {
"start": {
"line": 7,
"column": 0
},
"end": {
"line": 10,
"column": 27
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * required: Array<UpgradeRequirement>\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ",
"start": 230,
"end": 373,
"loc": {
"start": {
"line": 12,
"column": 0
},
"end": {
"line": 16,
"column": 24
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {Array<TierRequirement>} UpgradeTiers ",
"start": 377,
"end": 430,
"loc": {
"start": {
"line": 18,
"column": 0
},
"end": {
"line": 18,
"column": 53
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ",
"start": 434,
"end": 585,
"loc": {
"start": {
"line": 20,
"column": 0
},
"end": {
"line": 25,
"column": 24
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n *\r\n * @param {GameRoot} root\r\n ",
"start": 618,
"end": 669,
"loc": {
"start": {
"line": 28,
"column": 4
},
"end": {
"line": 31,
"column": 7
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Should return all available upgrades\r\n * @returns {Object<string, UpgradeTiers>}\r\n ",
"start": 821,
"end": 926,
"loc": {
"start": {
"line": 41,
"column": 4
},
"end": {
"line": 44,
"column": 7
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ",
"start": 1003,
"end": 1081,
"loc": {
"start": {
"line": 50,
"column": 4
},
"end": {
"line": 53,
"column": 7
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array<LevelDefinition>}\r\n ",
"start": 1167,
"end": 1285,
"loc": {
"start": {
"line": 59,
"column": 4
},
"end": {
"line": 62,
"column": 7
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ",
"start": 1370,
"end": 1519,
"loc": {
"start": {
"line": 68,
"column": 4
},
"end": {
"line": 72,
"column": 7
}
}
}
],
"tokens": [
{
"type": "CommentBlock",
"value": " typehints:start ",
"start": 0,
"end": 21,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 1,
"column": 21
}
}
},
{
"type": {
"label": "import",
"keyword": "import",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "import",
"start": 23,
"end": 29,
"loc": {
"start": {
"line": 2,
"column": 0
},
"end": {
"line": 2,
"column": 6
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 30,
"end": 31,
"loc": {
"start": {
"line": 2,
"column": 7
},
"end": {
"line": 2,
"column": 8
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "enumHubGoalRewards",
"start": 32,
"end": 50,
"loc": {
"start": {
"line": 2,
"column": 9
},
"end": {
"line": 2,
"column": 27
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 51,
"end": 52,
"loc": {
"start": {
"line": 2,
"column": 28
},
"end": {
"line": 2,
"column": 29
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "from",
"start": 53,
"end": 57,
"loc": {
"start": {
"line": 2,
"column": 30
},
"end": {
"line": 2,
"column": 34
}
}
},
{
"type": {
"label": "string",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "./tutorial_goals",
"start": 58,
"end": 76,
"loc": {
"start": {
"line": 2,
"column": 35
},
"end": {
"line": 2,
"column": 53
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 76,
"end": 77,
"loc": {
"start": {
"line": 2,
"column": 53
},
"end": {
"line": 2,
"column": 54
}
}
},
{
"type": "CommentBlock",
"value": " typehints:end ",
"start": 79,
"end": 98,
"loc": {
"start": {
"line": 3,
"column": 0
},
"end": {
"line": 3,
"column": 19
}
}
},
{
"type": {
"label": "import",
"keyword": "import",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "import",
"start": 102,
"end": 108,
"loc": {
"start": {
"line": 5,
"column": 0
},
"end": {
"line": 5,
"column": 6
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 109,
"end": 110,
"loc": {
"start": {
"line": 5,
"column": 7
},
"end": {
"line": 5,
"column": 8
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "GameRoot",
"start": 111,
"end": 119,
"loc": {
"start": {
"line": 5,
"column": 9
},
"end": {
"line": 5,
"column": 17
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 120,
"end": 121,
"loc": {
"start": {
"line": 5,
"column": 18
},
"end": {
"line": 5,
"column": 19
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "from",
"start": 122,
"end": 126,
"loc": {
"start": {
"line": 5,
"column": 20
},
"end": {
"line": 5,
"column": 24
}
}
},
{
"type": {
"label": "string",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "./root",
"start": 127,
"end": 135,
"loc": {
"start": {
"line": 5,
"column": 25
},
"end": {
"line": 5,
"column": 33
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 135,
"end": 136,
"loc": {
"start": {
"line": 5,
"column": 33
},
"end": {
"line": 5,
"column": 34
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ",
"start": 140,
"end": 226,
"loc": {
"start": {
"line": 7,
"column": 0
},
"end": {
"line": 10,
"column": 27
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * required: Array<UpgradeRequirement>\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ",
"start": 230,
"end": 373,
"loc": {
"start": {
"line": 12,
"column": 0
},
"end": {
"line": 16,
"column": 24
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {Array<TierRequirement>} UpgradeTiers ",
"start": 377,
"end": 430,
"loc": {
"start": {
"line": 18,
"column": 0
},
"end": {
"line": 18,
"column": 53
}
}
},
{
"type": "CommentBlock",
"value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ",
"start": 434,
"end": 585,
"loc": {
"start": {
"line": 20,
"column": 0
},
"end": {
"line": 25,
"column": 24
}
}
},
{
"type": {
"label": "export",
"keyword": "export",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "export",
"start": 589,
"end": 595,
"loc": {
"start": {
"line": 27,
"column": 0
},
"end": {
"line": 27,
"column": 6
}
}
},
{
"type": {
"label": "class",
"keyword": "class",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "class",
"start": 596,
"end": 601,
"loc": {
"start": {
"line": 27,
"column": 7
},
"end": {
"line": 27,
"column": 12
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "GameMode",
"start": 602,
"end": 610,
"loc": {
"start": {
"line": 27,
"column": 13
},
"end": {
"line": 27,
"column": 21
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 611,
"end": 612,
"loc": {
"start": {
"line": 27,
"column": 22
},
"end": {
"line": 27,
"column": 23
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n *\r\n * @param {GameRoot} root\r\n ",
"start": 618,
"end": 669,
"loc": {
"start": {
"line": 28,
"column": 4
},
"end": {
"line": 31,
"column": 7
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "constructor",
"start": 675,
"end": 686,
"loc": {
"start": {
"line": 32,
"column": 4
},
"end": {
"line": 32,
"column": 15
}
}
},
{
"type": {
"label": "(",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 686,
"end": 687,
"loc": {
"start": {
"line": 32,
"column": 15
},
"end": {
"line": 32,
"column": 16
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "root",
"start": 687,
"end": 691,
"loc": {
"start": {
"line": 32,
"column": 16
},
"end": {
"line": 32,
"column": 20
}
}
},
{
"type": {
"label": ")",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 691,
"end": 692,
"loc": {
"start": {
"line": 32,
"column": 20
},
"end": {
"line": 32,
"column": 21
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 693,
"end": 694,
"loc": {
"start": {
"line": 32,
"column": 22
},
"end": {
"line": 32,
"column": 23
}
}
},
{
"type": {
"label": "this",
"keyword": "this",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "this",
"start": 704,
"end": 708,
"loc": {
"start": {
"line": 33,
"column": 8
},
"end": {
"line": 33,
"column": 12
}
}
},
{
"type": {
"label": ".",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 708,
"end": 709,
"loc": {
"start": {
"line": 33,
"column": 12
},
"end": {
"line": 33,
"column": 13
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "root",
"start": 709,
"end": 713,
"loc": {
"start": {
"line": 33,
"column": 13
},
"end": {
"line": 33,
"column": 17
}
}
},
{
"type": {
"label": "=",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": true,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "=",
"start": 714,
"end": 715,
"loc": {
"start": {
"line": 33,
"column": 18
},
"end": {
"line": 33,
"column": 19
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "root",
"start": 716,
"end": 720,
"loc": {
"start": {
"line": 33,
"column": 20
},
"end": {
"line": 33,
"column": 24
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 720,
"end": 721,
"loc": {
"start": {
"line": 33,
"column": 24
},
"end": {
"line": 33,
"column": 25
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 727,
"end": 728,
"loc": {
"start": {
"line": 34,
"column": 4
},
"end": {
"line": 34,
"column": 5
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "static",
"start": 736,
"end": 742,
"loc": {
"start": {
"line": 36,
"column": 4
},
"end": {
"line": 36,
"column": 10
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "getId",
"start": 743,
"end": 748,
"loc": {
"start": {
"line": 36,
"column": 11
},
"end": {
"line": 36,
"column": 16
}
}
},
{
"type": {
"label": "(",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 748,
"end": 749,
"loc": {
"start": {
"line": 36,
"column": 16
},
"end": {
"line": 36,
"column": 17
}
}
},
{
"type": {
"label": ")",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 749,
"end": 750,
"loc": {
"start": {
"line": 36,
"column": 17
},
"end": {
"line": 36,
"column": 18
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 751,
"end": 752,
"loc": {
"start": {
"line": 36,
"column": 19
},
"end": {
"line": 36,
"column": 20
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "abstract",
"start": 762,
"end": 770,
"loc": {
"start": {
"line": 37,
"column": 8
},
"end": {
"line": 37,
"column": 16
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 770,
"end": 771,
"loc": {
"start": {
"line": 37,
"column": 16
},
"end": {
"line": 37,
"column": 17
}
}
},
{
"type": {
"label": "return",
"keyword": "return",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "return",
"start": 781,
"end": 787,
"loc": {
"start": {
"line": 38,
"column": 8
},
"end": {
"line": 38,
"column": 14
}
}
},
{
"type": {
"label": "string",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "unknow-gamemode",
"start": 788,
"end": 805,
"loc": {
"start": {
"line": 38,
"column": 15
},
"end": {
"line": 38,
"column": 32
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 805,
"end": 806,
"loc": {
"start": {
"line": 38,
"column": 32
},
"end": {
"line": 38,
"column": 33
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 812,
"end": 813,
"loc": {
"start": {
"line": 39,
"column": 4
},
"end": {
"line": 39,
"column": 5
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Should return all available upgrades\r\n * @returns {Object<string, UpgradeTiers>}\r\n ",
"start": 821,
"end": 926,
"loc": {
"start": {
"line": 41,
"column": 4
},
"end": {
"line": 44,
"column": 7
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "getUpgrades",
"start": 932,
"end": 943,
"loc": {
"start": {
"line": 45,
"column": 4
},
"end": {
"line": 45,
"column": 15
}
}
},
{
"type": {
"label": "(",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 943,
"end": 944,
"loc": {
"start": {
"line": 45,
"column": 15
},
"end": {
"line": 45,
"column": 16
}
}
},
{
"type": {
"label": ")",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 944,
"end": 945,
"loc": {
"start": {
"line": 45,
"column": 16
},
"end": {
"line": 45,
"column": 17
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 946,
"end": 947,
"loc": {
"start": {
"line": 45,
"column": 18
},
"end": {
"line": 45,
"column": 19
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "abstract",
"start": 957,
"end": 965,
"loc": {
"start": {
"line": 46,
"column": 8
},
"end": {
"line": 46,
"column": 16
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 965,
"end": 966,
"loc": {
"start": {
"line": 46,
"column": 16
},
"end": {
"line": 46,
"column": 17
}
}
},
{
"type": {
"label": "return",
"keyword": "return",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "return",
"start": 976,
"end": 982,
"loc": {
"start": {
"line": 47,
"column": 8
},
"end": {
"line": 47,
"column": 14
}
}
},
{
"type": {
"label": "null",
"keyword": "null",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "null",
"start": 983,
"end": 987,
"loc": {
"start": {
"line": 47,
"column": 15
},
"end": {
"line": 47,
"column": 19
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 987,
"end": 988,
"loc": {
"start": {
"line": 47,
"column": 19
},
"end": {
"line": 47,
"column": 20
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 994,
"end": 995,
"loc": {
"start": {
"line": 48,
"column": 4
},
"end": {
"line": 48,
"column": 5
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ",
"start": 1003,
"end": 1081,
"loc": {
"start": {
"line": 50,
"column": 4
},
"end": {
"line": 53,
"column": 7
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "getBlueprintShapeKey",
"start": 1087,
"end": 1107,
"loc": {
"start": {
"line": 54,
"column": 4
},
"end": {
"line": 54,
"column": 24
}
}
},
{
"type": {
"label": "(",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1107,
"end": 1108,
"loc": {
"start": {
"line": 54,
"column": 24
},
"end": {
"line": 54,
"column": 25
}
}
},
{
"type": {
"label": ")",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1108,
"end": 1109,
"loc": {
"start": {
"line": 54,
"column": 25
},
"end": {
"line": 54,
"column": 26
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1110,
"end": 1111,
"loc": {
"start": {
"line": 54,
"column": 27
},
"end": {
"line": 54,
"column": 28
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "abstract",
"start": 1121,
"end": 1129,
"loc": {
"start": {
"line": 55,
"column": 8
},
"end": {
"line": 55,
"column": 16
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 1129,
"end": 1130,
"loc": {
"start": {
"line": 55,
"column": 16
},
"end": {
"line": 55,
"column": 17
}
}
},
{
"type": {
"label": "return",
"keyword": "return",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "return",
"start": 1140,
"end": 1146,
"loc": {
"start": {
"line": 56,
"column": 8
},
"end": {
"line": 56,
"column": 14
}
}
},
{
"type": {
"label": "null",
"keyword": "null",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "null",
"start": 1147,
"end": 1151,
"loc": {
"start": {
"line": 56,
"column": 15
},
"end": {
"line": 56,
"column": 19
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 1151,
"end": 1152,
"loc": {
"start": {
"line": 56,
"column": 19
},
"end": {
"line": 56,
"column": 20
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1158,
"end": 1159,
"loc": {
"start": {
"line": 57,
"column": 4
},
"end": {
"line": 57,
"column": 5
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array<LevelDefinition>}\r\n ",
"start": 1167,
"end": 1285,
"loc": {
"start": {
"line": 59,
"column": 4
},
"end": {
"line": 62,
"column": 7
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "getLevelDefinitions",
"start": 1291,
"end": 1310,
"loc": {
"start": {
"line": 63,
"column": 4
},
"end": {
"line": 63,
"column": 23
}
}
},
{
"type": {
"label": "(",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1310,
"end": 1311,
"loc": {
"start": {
"line": 63,
"column": 23
},
"end": {
"line": 63,
"column": 24
}
}
},
{
"type": {
"label": ")",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1311,
"end": 1312,
"loc": {
"start": {
"line": 63,
"column": 24
},
"end": {
"line": 63,
"column": 25
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1313,
"end": 1314,
"loc": {
"start": {
"line": 63,
"column": 26
},
"end": {
"line": 63,
"column": 27
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "abstract",
"start": 1324,
"end": 1332,
"loc": {
"start": {
"line": 64,
"column": 8
},
"end": {
"line": 64,
"column": 16
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 1332,
"end": 1333,
"loc": {
"start": {
"line": 64,
"column": 16
},
"end": {
"line": 64,
"column": 17
}
}
},
{
"type": {
"label": "return",
"keyword": "return",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "return",
"start": 1343,
"end": 1349,
"loc": {
"start": {
"line": 65,
"column": 8
},
"end": {
"line": 65,
"column": 14
}
}
},
{
"type": {
"label": "null",
"keyword": "null",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "null",
"start": 1350,
"end": 1354,
"loc": {
"start": {
"line": 65,
"column": 15
},
"end": {
"line": 65,
"column": 19
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 1354,
"end": 1355,
"loc": {
"start": {
"line": 65,
"column": 19
},
"end": {
"line": 65,
"column": 20
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1361,
"end": 1362,
"loc": {
"start": {
"line": 66,
"column": 4
},
"end": {
"line": 66,
"column": 5
}
}
},
{
"type": "CommentBlock",
"value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ",
"start": 1370,
"end": 1519,
"loc": {
"start": {
"line": 68,
"column": 4
},
"end": {
"line": 72,
"column": 7
}
}
},
{
"type": {
"label": "name",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"value": "getIsFreeplayAvailable",
"start": 1525,
"end": 1547,
"loc": {
"start": {
"line": 73,
"column": 4
},
"end": {
"line": 73,
"column": 26
}
}
},
{
"type": {
"label": "(",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1547,
"end": 1548,
"loc": {
"start": {
"line": 73,
"column": 26
},
"end": {
"line": 73,
"column": 27
}
}
},
{
"type": {
"label": ")",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1548,
"end": 1549,
"loc": {
"start": {
"line": 73,
"column": 27
},
"end": {
"line": 73,
"column": 28
}
}
},
{
"type": {
"label": "{",
"beforeExpr": true,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1550,
"end": 1551,
"loc": {
"start": {
"line": 73,
"column": 29
},
"end": {
"line": 73,
"column": 30
}
}
},
{
"type": {
"label": "return",
"keyword": "return",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "return",
"start": 1561,
"end": 1567,
"loc": {
"start": {
"line": 74,
"column": 8
},
"end": {
"line": 74,
"column": 14
}
}
},
{
"type": {
"label": "true",
"keyword": "true",
"beforeExpr": false,
"startsExpr": true,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"value": "true",
"start": 1568,
"end": 1572,
"loc": {
"start": {
"line": 74,
"column": 15
},
"end": {
"line": 74,
"column": 19
}
}
},
{
"type": {
"label": ";",
"beforeExpr": true,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 1572,
"end": 1573,
"loc": {
"start": {
"line": 74,
"column": 19
},
"end": {
"line": 74,
"column": 20
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1579,
"end": 1580,
"loc": {
"start": {
"line": 75,
"column": 4
},
"end": {
"line": 75,
"column": 5
}
}
},
{
"type": {
"label": "}",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null
},
"start": 1582,
"end": 1583,
"loc": {
"start": {
"line": 76,
"column": 0
},
"end": {
"line": 76,
"column": 1
}
}
},
{
"type": {
"label": "eof",
"beforeExpr": false,
"startsExpr": false,
"rightAssociative": false,
"isLoop": false,
"isAssign": false,
"prefix": false,
"postfix": false,
"binop": null,
"updateContext": null
},
"start": 1583,
"end": 1583,
"loc": {
"start": {
"line": 76,
"column": 1
},
"end": {
"line": 76,
"column": 1
}
}
}
]
}