pxt-core 8.2.13 → 8.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/buildengine.js +3 -3
- package/built/cli.js +5 -5
- package/built/gdb.js +4 -4
- package/built/nodeutil.d.ts +1 -0
- package/built/pxt.js +360 -360
- package/built/pxtblockly.js +35 -35
- package/built/pxtblocks.js +35 -35
- package/built/pxtcompiler.js +156 -156
- package/built/pxteditor.d.ts +15 -3
- package/built/pxteditor.js +6 -6
- package/built/pxtlib.d.ts +2 -1
- package/built/pxtlib.js +162 -161
- package/built/pxtpy.js +34 -35
- package/built/pxtsim.d.ts +5 -5
- package/built/pxtsim.js +3 -3
- package/built/server.js +5 -5
- package/built/storage.js +4 -4
- package/built/target.js +1 -1
- package/built/web/main.js +1 -1
- package/built/web/pxtapp.js +1 -1
- package/built/web/pxtasseteditor.js +1 -1
- package/built/web/pxteditor.js +1 -1
- package/built/web/pxtembed.js +2 -2
- package/built/web/pxtlib.js +1 -1
- package/built/web/pxtpy.js +1 -1
- package/built/web/pxtsim.js +1 -1
- package/built/web/pxtworker.js +1 -1
- package/built/web/rtlsemantic.css +1 -1
- package/built/web/semantic.css +1 -1
- package/built/web/skillmap/js/2.960f04a5.chunk.js +2 -0
- package/built/web/skillmap/js/main.44b2383f.chunk.js +1 -0
- package/common-docs/static/logo/social-buttons/google-classroom.png +0 -0
- package/common-docs/static/logo/social-buttons/microsoft-teams.png +0 -0
- package/docfiles/pxtweb/tsconfig.json +2 -1
- package/localtypings/dom.d.ts +3 -0
- package/localtypings/react.d.ts +1 -1
- package/package.json +6 -6
- package/react-common/components/controls/Modal.tsx +2 -2
- package/react-common/components/share/ShareInfo.tsx +1 -1
- package/react-common/tsconfig.json +3 -2
- package/theme/common.less +5 -3
- package/theme/highcontrast.less +3 -0
- package/theme/toolbox.less +25 -0
- package/theme/tutorial-sidebar.less +171 -115
- package/webapp/public/skillmap.html +1 -1
- package/built/web/skillmap/js/2.26325281.chunk.js +0 -2
- package/built/web/skillmap/js/main.d94a2bd9.chunk.js +0 -1
package/built/pxtlib.js
CHANGED
|
@@ -3802,7 +3802,7 @@ var pxt;
|
|
|
3802
3802
|
definitionNameToParam: {},
|
|
3803
3803
|
handlerArgs: []
|
|
3804
3804
|
};
|
|
3805
|
-
const instance = (fn.kind == 1 /* Method */ || fn.kind == 2 /* Property */) && !fn.attributes.defaultInstance;
|
|
3805
|
+
const instance = (fn.kind == 1 /* ts.pxtc.SymbolKind.Method */ || fn.kind == 2 /* ts.pxtc.SymbolKind.Property */) && !fn.attributes.defaultInstance;
|
|
3806
3806
|
const hasBlockDef = !!fn.attributes._def;
|
|
3807
3807
|
const defParameters = hasBlockDef ? fn.attributes._def.parameters.slice(0) : undefined;
|
|
3808
3808
|
const optionalStart = hasBlockDef ? defParameters.length : (fn.parameters ? fn.parameters.length : 0);
|
|
@@ -4461,6 +4461,7 @@ var pxt;
|
|
|
4461
4461
|
}
|
|
4462
4462
|
})(blocks = pxt.blocks || (pxt.blocks = {}));
|
|
4463
4463
|
})(pxt || (pxt = {}));
|
|
4464
|
+
/// <reference path="../localtypings/dom.d.ts" />
|
|
4464
4465
|
var pxt;
|
|
4465
4466
|
(function (pxt) {
|
|
4466
4467
|
var BrowserUtils;
|
|
@@ -12999,7 +13000,7 @@ var pxt;
|
|
|
12999
13000
|
}
|
|
13000
13001
|
sprite_1.base64EncodeBitmap = base64EncodeBitmap;
|
|
13001
13002
|
function getFixedInstanceDropdownValues(apis, qName) {
|
|
13002
|
-
return pxt.Util.values(apis.byQName).filter(sym => sym.kind === 4 /* Variable */
|
|
13003
|
+
return pxt.Util.values(apis.byQName).filter(sym => sym.kind === 4 /* pxtc.SymbolKind.Variable */
|
|
13003
13004
|
&& sym.attributes.fixedInstance
|
|
13004
13005
|
&& isSubtype(apis, sym.retType, qName));
|
|
13005
13006
|
}
|
|
@@ -15515,7 +15516,7 @@ var ts;
|
|
|
15515
15516
|
ex = m[mkey] = {
|
|
15516
15517
|
attributes: {
|
|
15517
15518
|
blockId: `${isNumberType ? s.namespace : mkey}_blockCombine_${rtp}`,
|
|
15518
|
-
callingConvention: 0 /* Plain */,
|
|
15519
|
+
callingConvention: 0 /* ir.CallingConvention.Plain */,
|
|
15519
15520
|
group: s.attributes.group,
|
|
15520
15521
|
paramDefl: {},
|
|
15521
15522
|
jsDoc: isGet
|
|
@@ -15527,7 +15528,7 @@ var ts;
|
|
|
15527
15528
|
fileName: s.fileName,
|
|
15528
15529
|
qName: `${mkey}.${tp}`,
|
|
15529
15530
|
pkg: s.pkg,
|
|
15530
|
-
kind: 2 /* Property */,
|
|
15531
|
+
kind: 2 /* SymbolKind.Property */,
|
|
15531
15532
|
parameters: [
|
|
15532
15533
|
{
|
|
15533
15534
|
name: "property",
|
|
@@ -15641,15 +15642,15 @@ var ts;
|
|
|
15641
15642
|
}
|
|
15642
15643
|
else if (!!s.attributes.block
|
|
15643
15644
|
&& !s.attributes.fixedInstance
|
|
15644
|
-
&& s.kind != 7 /* EnumMember */
|
|
15645
|
-
&& s.kind != 5 /* Module */
|
|
15646
|
-
&& s.kind != 9 /* Interface */
|
|
15647
|
-
&& s.kind != 8 /* Class */) {
|
|
15645
|
+
&& s.kind != 7 /* pxtc.SymbolKind.EnumMember */
|
|
15646
|
+
&& s.kind != 5 /* pxtc.SymbolKind.Module */
|
|
15647
|
+
&& s.kind != 9 /* pxtc.SymbolKind.Interface */
|
|
15648
|
+
&& s.kind != 8 /* pxtc.SymbolKind.Class */) {
|
|
15648
15649
|
if (!s.attributes.blockId)
|
|
15649
15650
|
s.attributes.blockId = s.qName.replace(/\./g, "_");
|
|
15650
15651
|
if (s.attributes.block == "true") {
|
|
15651
15652
|
let b = pxtc.U.uncapitalize(s.name);
|
|
15652
|
-
if (s.kind == 1 /* Method */ || s.kind == 2 /* Property */) {
|
|
15653
|
+
if (s.kind == 1 /* SymbolKind.Method */ || s.kind == 2 /* SymbolKind.Property */) {
|
|
15653
15654
|
b += " %" + s.namespace.toLowerCase();
|
|
15654
15655
|
}
|
|
15655
15656
|
const params = (_b = (_a = s.parameters) === null || _a === void 0 ? void 0 : _a.filter(pr => !parameterTypeIsArrowFunction(pr))) !== null && _b !== void 0 ? _b : [];
|
|
@@ -15703,7 +15704,7 @@ var ts;
|
|
|
15703
15704
|
if (key) {
|
|
15704
15705
|
return key;
|
|
15705
15706
|
}
|
|
15706
|
-
if ((symbol && symbol.kind == 6 /* Enum */) || (!symbol && param.includes("."))) {
|
|
15707
|
+
if ((symbol && symbol.kind == 6 /* SymbolKind.Enum */) || (!symbol && param.includes("."))) {
|
|
15707
15708
|
// Python enums are all caps
|
|
15708
15709
|
const dotIdx = param.lastIndexOf(".");
|
|
15709
15710
|
const left = param.substr(0, dotIdx);
|
|
@@ -15886,7 +15887,7 @@ var ts;
|
|
|
15886
15887
|
function parseCommentString(cmt) {
|
|
15887
15888
|
let res = {
|
|
15888
15889
|
paramDefl: {},
|
|
15889
|
-
callingConvention: 0 /* Plain */,
|
|
15890
|
+
callingConvention: 0 /* ir.CallingConvention.Plain */,
|
|
15890
15891
|
_source: cmt
|
|
15891
15892
|
};
|
|
15892
15893
|
let didSomething = true;
|
|
@@ -16018,9 +16019,9 @@ var ts;
|
|
|
16018
16019
|
});
|
|
16019
16020
|
res.jsDoc = res.jsDoc.trim();
|
|
16020
16021
|
if (res.async)
|
|
16021
|
-
res.callingConvention = 1 /* Async */;
|
|
16022
|
+
res.callingConvention = 1 /* ir.CallingConvention.Async */;
|
|
16022
16023
|
if (res.promise)
|
|
16023
|
-
res.callingConvention = 2 /* Promise */;
|
|
16024
|
+
res.callingConvention = 2 /* ir.CallingConvention.Promise */;
|
|
16024
16025
|
if (res.jres)
|
|
16025
16026
|
res.whenUsed = true;
|
|
16026
16027
|
if (res.subcategories) {
|
|
@@ -16102,11 +16103,11 @@ var ts;
|
|
|
16102
16103
|
const tk = eatToken(c => c == char);
|
|
16103
16104
|
const offset = char === "_" ? 2 : 0;
|
|
16104
16105
|
if (tk.length === 1)
|
|
16105
|
-
newToken = { kind: 1 /* SingleAsterisk */ << offset, content: tk };
|
|
16106
|
+
newToken = { kind: 1 /* TokenKind.SingleAsterisk */ << offset, content: tk };
|
|
16106
16107
|
else if (tk.length === 2)
|
|
16107
|
-
newToken = { kind: 2 /* DoubleAsterisk */ << offset, content: tk };
|
|
16108
|
+
newToken = { kind: 2 /* TokenKind.DoubleAsterisk */ << offset, content: tk };
|
|
16108
16109
|
else if (tk.length === 3)
|
|
16109
|
-
newToken = { kind: 3 /* TripleAsterisk */ << offset, content: tk };
|
|
16110
|
+
newToken = { kind: 3 /* TokenKind.TripleAsterisk */ << offset, content: tk };
|
|
16110
16111
|
else
|
|
16111
16112
|
strIndex = restoreIndex; // error: no more than three style marks
|
|
16112
16113
|
break;
|
|
@@ -16116,21 +16117,21 @@ var ts;
|
|
|
16116
16117
|
strIndex = restoreIndex; // error: not terminated
|
|
16117
16118
|
break;
|
|
16118
16119
|
}
|
|
16119
|
-
newToken = { kind: 256 /* Image */, content: image };
|
|
16120
|
+
newToken = { kind: 256 /* TokenKind.Image */, content: image };
|
|
16120
16121
|
break;
|
|
16121
16122
|
case "|":
|
|
16122
|
-
newToken = { kind: 32 /* Pipe */ };
|
|
16123
|
+
newToken = { kind: 32 /* TokenKind.Pipe */ };
|
|
16123
16124
|
break;
|
|
16124
16125
|
case "\\":
|
|
16125
16126
|
if (strIndex < (def.length - 1))
|
|
16126
|
-
newToken = { kind: 16 /* Escape */, content: def[1 + (strIndex++)] };
|
|
16127
|
+
newToken = { kind: 16 /* TokenKind.Escape */, content: def[1 + (strIndex++)] };
|
|
16127
16128
|
break;
|
|
16128
16129
|
case "[":
|
|
16129
16130
|
const contentText = eatEnclosure("]");
|
|
16130
16131
|
if (contentText !== undefined && def[strIndex++ + 1] === "(") {
|
|
16131
16132
|
const contentClass = eatEnclosure(")");
|
|
16132
16133
|
if (contentClass !== undefined) {
|
|
16133
|
-
newToken = { kind: 512 /* TaggedText */, content: contentText, type: contentClass };
|
|
16134
|
+
newToken = { kind: 512 /* TokenKind.TaggedText */, content: contentText, type: contentClass };
|
|
16134
16135
|
break;
|
|
16135
16136
|
}
|
|
16136
16137
|
}
|
|
@@ -16151,12 +16152,12 @@ var ts;
|
|
|
16151
16152
|
if (!varName)
|
|
16152
16153
|
strIndex = oldIndex;
|
|
16153
16154
|
}
|
|
16154
|
-
newToken = { kind: (char === "$") ? 1024 /* ParamRef */ : 64 /* Parameter */, content: param[0], type: param[1], name: varName };
|
|
16155
|
+
newToken = { kind: (char === "$") ? 1024 /* TokenKind.ParamRef */ : 64 /* TokenKind.Parameter */, content: param[0], type: param[1], name: varName };
|
|
16155
16156
|
break;
|
|
16156
16157
|
}
|
|
16157
16158
|
if (newToken) {
|
|
16158
16159
|
if (currentWord)
|
|
16159
|
-
tokens.push({ kind: 128 /* Word */, content: currentWord });
|
|
16160
|
+
tokens.push({ kind: 128 /* TokenKind.Word */, content: currentWord });
|
|
16160
16161
|
currentWord = undefined;
|
|
16161
16162
|
tokens.push(newToken);
|
|
16162
16163
|
}
|
|
@@ -16168,7 +16169,7 @@ var ts;
|
|
|
16168
16169
|
}
|
|
16169
16170
|
}
|
|
16170
16171
|
if (currentWord)
|
|
16171
|
-
tokens.push({ kind: 128 /* Word */, content: currentWord });
|
|
16172
|
+
tokens.push({ kind: 128 /* TokenKind.Word */, content: currentWord });
|
|
16172
16173
|
const parts = [];
|
|
16173
16174
|
const parameters = [];
|
|
16174
16175
|
let stack = [];
|
|
@@ -16178,7 +16179,7 @@ var ts;
|
|
|
16178
16179
|
for (let i = 0; i < tokens.length; i++) {
|
|
16179
16180
|
const token = tokens[i].kind;
|
|
16180
16181
|
const top = stack[stack.length - 1];
|
|
16181
|
-
if (token & 15 /* StyleMarks */) {
|
|
16182
|
+
if (token & 15 /* TokenKind.StyleMarks */) {
|
|
16182
16183
|
pushCurrentLabel(tokens[i].content);
|
|
16183
16184
|
if (token & open) {
|
|
16184
16185
|
if (top & token) {
|
|
@@ -16200,35 +16201,35 @@ var ts;
|
|
|
16200
16201
|
stack.push(token);
|
|
16201
16202
|
}
|
|
16202
16203
|
}
|
|
16203
|
-
else if (token & 144 /* Text */) {
|
|
16204
|
+
else if (token & 144 /* TokenKind.Text */) {
|
|
16204
16205
|
currentLabel += tokens[i].content;
|
|
16205
16206
|
}
|
|
16206
|
-
else if (token & 1120 /* Unstylable */) {
|
|
16207
|
+
else if (token & 1120 /* TokenKind.Unstylable */) {
|
|
16207
16208
|
pushLabels();
|
|
16208
16209
|
}
|
|
16209
|
-
if (token == 64 /* Parameter */) {
|
|
16210
|
+
if (token == 64 /* TokenKind.Parameter */) {
|
|
16210
16211
|
const param = { kind: "param", name: tokens[i].content, shadowBlockId: tokens[i].type, ref: false };
|
|
16211
16212
|
if (tokens[i].name)
|
|
16212
16213
|
param.varName = tokens[i].name;
|
|
16213
16214
|
parts.push(param);
|
|
16214
16215
|
parameters.push(param);
|
|
16215
16216
|
}
|
|
16216
|
-
else if (token == 1024 /* ParamRef */) {
|
|
16217
|
+
else if (token == 1024 /* TokenKind.ParamRef */) {
|
|
16217
16218
|
const param = { kind: "param", name: tokens[i].content, shadowBlockId: tokens[i].type, ref: true };
|
|
16218
16219
|
if (tokens[i].name)
|
|
16219
16220
|
param.varName = tokens[i].name;
|
|
16220
16221
|
parts.push(param);
|
|
16221
16222
|
parameters.push(param);
|
|
16222
16223
|
}
|
|
16223
|
-
else if (token == 256 /* Image */) {
|
|
16224
|
+
else if (token == 256 /* TokenKind.Image */) {
|
|
16224
16225
|
pushCurrentLabel();
|
|
16225
16226
|
labelStack.push({ kind: "image", uri: tokens[i].content });
|
|
16226
16227
|
}
|
|
16227
|
-
else if (token == 512 /* TaggedText */) {
|
|
16228
|
+
else if (token == 512 /* TokenKind.TaggedText */) {
|
|
16228
16229
|
pushCurrentLabel();
|
|
16229
16230
|
labelStack.push({ kind: "label", text: tokens[i].content, cssClass: tokens[i].type });
|
|
16230
16231
|
}
|
|
16231
|
-
else if (token == 32 /* Pipe */) {
|
|
16232
|
+
else if (token == 32 /* TokenKind.Pipe */) {
|
|
16232
16233
|
parts.push({ kind: "break" });
|
|
16233
16234
|
}
|
|
16234
16235
|
}
|
|
@@ -16297,9 +16298,9 @@ var ts;
|
|
|
16297
16298
|
if (!label.content)
|
|
16298
16299
|
continue;
|
|
16299
16300
|
const styles = [];
|
|
16300
|
-
if (label.styles & 10 /* Bold */)
|
|
16301
|
+
if (label.styles & 10 /* TokenKind.Bold */)
|
|
16301
16302
|
styles.push("bold");
|
|
16302
|
-
if (label.styles & 5 /* Italics */)
|
|
16303
|
+
if (label.styles & 5 /* TokenKind.Italics */)
|
|
16303
16304
|
styles.push("italics");
|
|
16304
16305
|
parts.push({ kind: "label", text: label.content, style: styles });
|
|
16305
16306
|
}
|
|
@@ -16784,7 +16785,7 @@ var pxt;
|
|
|
16784
16785
|
}
|
|
16785
16786
|
getProjectAsync(headerId) {
|
|
16786
16787
|
return this.db.getAsync(IndexedDBWorkspace.projectTable, headerId)
|
|
16787
|
-
.then(entry =>
|
|
16788
|
+
.then(entry => entry === null || entry === void 0 ? void 0 : entry.project);
|
|
16788
16789
|
}
|
|
16789
16790
|
saveProjectAsync(project) {
|
|
16790
16791
|
return this.db.setAsync(IndexedDBWorkspace.projectTable, {
|
|
@@ -16794,7 +16795,7 @@ var pxt;
|
|
|
16794
16795
|
}
|
|
16795
16796
|
getUserStateAsync() {
|
|
16796
16797
|
return this.db.getAsync(IndexedDBWorkspace.userTable, "local-user")
|
|
16797
|
-
.then(entry =>
|
|
16798
|
+
.then(entry => entry === null || entry === void 0 ? void 0 : entry.user);
|
|
16798
16799
|
}
|
|
16799
16800
|
saveUserStateAsync(user) {
|
|
16800
16801
|
return this.db.setAsync(IndexedDBWorkspace.userTable, {
|
|
@@ -17953,12 +17954,12 @@ var pxt;
|
|
|
17953
17954
|
return this.nextInternalID++;
|
|
17954
17955
|
}
|
|
17955
17956
|
createNewImage(width = 16, height = 16) {
|
|
17956
|
-
const id = this.generateNewID("image" /* Image */);
|
|
17957
|
+
const id = this.generateNewID("image" /* AssetType.Image */);
|
|
17957
17958
|
const bitmap = new pxt.sprite.Bitmap(width, height).data();
|
|
17958
17959
|
const newImage = {
|
|
17959
17960
|
internalID: this.getNewInternalId(),
|
|
17960
17961
|
id,
|
|
17961
|
-
type: "image" /* Image */,
|
|
17962
|
+
type: "image" /* AssetType.Image */,
|
|
17962
17963
|
bitmap: bitmap,
|
|
17963
17964
|
meta: {},
|
|
17964
17965
|
jresData: pxt.sprite.base64EncodeBitmap(bitmap)
|
|
@@ -17966,12 +17967,12 @@ var pxt;
|
|
|
17966
17967
|
return this.state.images.add(newImage);
|
|
17967
17968
|
}
|
|
17968
17969
|
createNewAnimation(width = 16, height = 16) {
|
|
17969
|
-
const id = this.generateNewID("animation" /* Animation */);
|
|
17970
|
+
const id = this.generateNewID("animation" /* AssetType.Animation */);
|
|
17970
17971
|
const bitmap = new pxt.sprite.Bitmap(width, height).data();
|
|
17971
17972
|
const newAnimation = {
|
|
17972
17973
|
internalID: this.getNewInternalId(),
|
|
17973
17974
|
id,
|
|
17974
|
-
type: "animation" /* Animation */,
|
|
17975
|
+
type: "animation" /* AssetType.Animation */,
|
|
17975
17976
|
frames: [bitmap],
|
|
17976
17977
|
interval: 500,
|
|
17977
17978
|
meta: {},
|
|
@@ -17979,11 +17980,11 @@ var pxt;
|
|
|
17979
17980
|
return this.state.animations.add(newAnimation);
|
|
17980
17981
|
}
|
|
17981
17982
|
createNewAnimationFromData(frames, interval = 500, displayName) {
|
|
17982
|
-
const id = this.generateNewID("animation" /* Animation */);
|
|
17983
|
+
const id = this.generateNewID("animation" /* AssetType.Animation */);
|
|
17983
17984
|
const newAnimation = {
|
|
17984
17985
|
internalID: this.getNewInternalId(),
|
|
17985
17986
|
id,
|
|
17986
|
-
type: "animation" /* Animation */,
|
|
17987
|
+
type: "animation" /* AssetType.Animation */,
|
|
17987
17988
|
frames,
|
|
17988
17989
|
interval,
|
|
17989
17990
|
meta: { displayName },
|
|
@@ -18016,13 +18017,13 @@ var pxt;
|
|
|
18016
18017
|
}
|
|
18017
18018
|
createNewTile(data, id, displayName) {
|
|
18018
18019
|
this.onChange();
|
|
18019
|
-
if (!id || this.isNameTaken("tile" /* Tile */, id)) {
|
|
18020
|
-
id = this.generateNewID("tile" /* Tile */);
|
|
18020
|
+
if (!id || this.isNameTaken("tile" /* AssetType.Tile */, id)) {
|
|
18021
|
+
id = this.generateNewID("tile" /* AssetType.Tile */);
|
|
18021
18022
|
}
|
|
18022
18023
|
const newTile = {
|
|
18023
18024
|
internalID: this.getNewInternalId(),
|
|
18024
18025
|
id,
|
|
18025
|
-
type: "tile" /* Tile */,
|
|
18026
|
+
type: "tile" /* AssetType.Tile */,
|
|
18026
18027
|
jresData: pxt.sprite.base64EncodeBitmap(data),
|
|
18027
18028
|
bitmap: data,
|
|
18028
18029
|
meta: {
|
|
@@ -18036,8 +18037,8 @@ var pxt;
|
|
|
18036
18037
|
this.onChange();
|
|
18037
18038
|
const newImage = {
|
|
18038
18039
|
internalID: this.getNewInternalId(),
|
|
18039
|
-
id: this.generateNewID("image" /* Image */),
|
|
18040
|
-
type: "image" /* Image */,
|
|
18040
|
+
id: this.generateNewID("image" /* AssetType.Image */),
|
|
18041
|
+
type: "image" /* AssetType.Image */,
|
|
18041
18042
|
jresData: pxt.sprite.base64EncodeBitmap(data),
|
|
18042
18043
|
meta: {
|
|
18043
18044
|
displayName
|
|
@@ -18052,7 +18053,7 @@ var pxt;
|
|
|
18052
18053
|
if (existing) {
|
|
18053
18054
|
this.state.tiles.update(existing.id, tile);
|
|
18054
18055
|
if (existing.id !== tile.id || !pxt.sprite.bitmapEquals(existing.bitmap, tile.bitmap)) {
|
|
18055
|
-
for (const tm of this.getAssets("tilemap" /* Tilemap */)) {
|
|
18056
|
+
for (const tm of this.getAssets("tilemap" /* AssetType.Tilemap */)) {
|
|
18056
18057
|
if (tm.data.tileset.tiles.some(t => t.internalID === tile.internalID)) {
|
|
18057
18058
|
tm.data.tileset.tiles = tm.data.tileset.tiles.map(t => t.internalID === tile.internalID ? tile : t);
|
|
18058
18059
|
this.updateTilemap(tm.id, tm.data);
|
|
@@ -18115,7 +18116,7 @@ var pxt;
|
|
|
18115
18116
|
return new pxt.sprite.TilemapData(tilemap, tileset, layers.data());
|
|
18116
18117
|
}
|
|
18117
18118
|
resolveTile(id) {
|
|
18118
|
-
return this.lookupAsset("tile" /* Tile */, id);
|
|
18119
|
+
return this.lookupAsset("tile" /* AssetType.Tile */, id);
|
|
18119
18120
|
}
|
|
18120
18121
|
resolveProjectTileByInternalID(id) {
|
|
18121
18122
|
return this.state.tiles.getSnapshot(tile => tile.internalID === id)[0];
|
|
@@ -18132,7 +18133,7 @@ var pxt;
|
|
|
18132
18133
|
tile = {
|
|
18133
18134
|
internalID: this.getNewInternalId(),
|
|
18134
18135
|
id,
|
|
18135
|
-
type: "tile" /* Tile */,
|
|
18136
|
+
type: "tile" /* AssetType.Tile */,
|
|
18136
18137
|
bitmap: bitmap,
|
|
18137
18138
|
jresData: pxt.sprite.base64EncodeBitmap(bitmap),
|
|
18138
18139
|
meta: {},
|
|
@@ -18144,11 +18145,11 @@ var pxt;
|
|
|
18144
18145
|
}
|
|
18145
18146
|
createNewTilemapFromData(data, name) {
|
|
18146
18147
|
this.onChange();
|
|
18147
|
-
const id = this.generateNewIDInternal("tilemap" /* Tilemap */, name || lf("level"));
|
|
18148
|
+
const id = this.generateNewIDInternal("tilemap" /* AssetType.Tilemap */, name || lf("level"));
|
|
18148
18149
|
this.state.tilemaps.add({
|
|
18149
18150
|
internalID: this.getNewInternalId(),
|
|
18150
18151
|
id,
|
|
18151
|
-
type: "tilemap" /* Tilemap */,
|
|
18152
|
+
type: "tilemap" /* AssetType.Tilemap */,
|
|
18152
18153
|
meta: {
|
|
18153
18154
|
displayName: name || id
|
|
18154
18155
|
},
|
|
@@ -18235,13 +18236,13 @@ var pxt;
|
|
|
18235
18236
|
isNameTaken(assetType, name) {
|
|
18236
18237
|
const isTaken = (id) => {
|
|
18237
18238
|
switch (assetType) {
|
|
18238
|
-
case "image" /* Image */:
|
|
18239
|
+
case "image" /* AssetType.Image */:
|
|
18239
18240
|
return this.state.images.isIDTaken(id) || this.gallery.images.isIDTaken(id);
|
|
18240
|
-
case "tile" /* Tile */:
|
|
18241
|
+
case "tile" /* AssetType.Tile */:
|
|
18241
18242
|
return this.state.tiles.isIDTaken(id) || this.gallery.tiles.isIDTaken(id);
|
|
18242
|
-
case "tilemap" /* Tilemap */:
|
|
18243
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18243
18244
|
return this.state.tilemaps.isIDTaken(id) || this.gallery.tilemaps.isIDTaken(id);
|
|
18244
|
-
case "animation" /* Animation */:
|
|
18245
|
+
case "animation" /* AssetType.Animation */:
|
|
18245
18246
|
return this.state.animations.isIDTaken(id) || this.gallery.animations.isIDTaken(id);
|
|
18246
18247
|
}
|
|
18247
18248
|
};
|
|
@@ -18279,8 +18280,8 @@ var pxt;
|
|
|
18279
18280
|
let blockIds = ((_b = (_a = asset.meta) === null || _a === void 0 ? void 0 : _a.blockIDs) === null || _b === void 0 ? void 0 : _b.filter(id => !skipIDs || (skipIDs === null || skipIDs === void 0 ? void 0 : skipIDs.indexOf(id)) < 0)) || [];
|
|
18280
18281
|
if (blockIds.length > 0)
|
|
18281
18282
|
return true;
|
|
18282
|
-
if (asset.type == "tile" /* Tile */) {
|
|
18283
|
-
for (const tm of this.getAssets("tilemap" /* Tilemap */)) {
|
|
18283
|
+
if (asset.type == "tile" /* pxt.AssetType.Tile */) {
|
|
18284
|
+
for (const tm of this.getAssets("tilemap" /* AssetType.Tilemap */)) {
|
|
18284
18285
|
if ((skipIDs === null || skipIDs === void 0 ? void 0 : skipIDs.indexOf(tm.id)) >= 0) {
|
|
18285
18286
|
continue;
|
|
18286
18287
|
}
|
|
@@ -18294,15 +18295,15 @@ var pxt;
|
|
|
18294
18295
|
const displayName = pxt.Util.escapeForRegex((_c = asset.meta) === null || _c === void 0 ? void 0 : _c.displayName) || "";
|
|
18295
18296
|
let assetTsRefs;
|
|
18296
18297
|
switch (asset.type) {
|
|
18297
|
-
case "tile" /* Tile */:
|
|
18298
|
+
case "tile" /* pxt.AssetType.Tile */:
|
|
18298
18299
|
assetTsRefs = `myTiles.${shortId}|assets.tile\`${shortId}\``;
|
|
18299
18300
|
if (displayName)
|
|
18300
18301
|
assetTsRefs += `|assets.tile\`${displayName}\``;
|
|
18301
18302
|
break;
|
|
18302
|
-
case "tilemap" /* Tilemap */:
|
|
18303
|
+
case "tilemap" /* pxt.AssetType.Tilemap */:
|
|
18303
18304
|
assetTsRefs = `tilemap\`${shortId}\``;
|
|
18304
18305
|
break;
|
|
18305
|
-
case "animation" /* Animation */:
|
|
18306
|
+
case "animation" /* pxt.AssetType.Animation */:
|
|
18306
18307
|
assetTsRefs = `assets.animation\`${shortId}\``;
|
|
18307
18308
|
if (displayName)
|
|
18308
18309
|
assetTsRefs += `|assets.animation\`${displayName}\``;
|
|
@@ -18316,15 +18317,15 @@ var pxt;
|
|
|
18316
18317
|
const assetTsRegex = new RegExp(assetTsRefs, "gm");
|
|
18317
18318
|
let assetPyRefs;
|
|
18318
18319
|
switch (asset.type) {
|
|
18319
|
-
case "tile" /* Tile */:
|
|
18320
|
+
case "tile" /* pxt.AssetType.Tile */:
|
|
18320
18321
|
assetPyRefs = `myTiles.${shortId}|assets.tile\("""${shortId}"""\)`;
|
|
18321
18322
|
if (displayName)
|
|
18322
18323
|
assetPyRefs += `|assets.tile\("""${displayName}"""\)`;
|
|
18323
18324
|
break;
|
|
18324
|
-
case "tilemap" /* Tilemap */:
|
|
18325
|
+
case "tilemap" /* pxt.AssetType.Tilemap */:
|
|
18325
18326
|
assetPyRefs = `assets.tilemap\("""${shortId}"""\)`;
|
|
18326
18327
|
break;
|
|
18327
|
-
case "animation" /* Animation */:
|
|
18328
|
+
case "animation" /* pxt.AssetType.Animation */:
|
|
18328
18329
|
assetPyRefs = `assets.animation\("""${shortId}"""\)`;
|
|
18329
18330
|
if (displayName)
|
|
18330
18331
|
assetPyRefs += `|assets.animation\("""${displayName}"""\)`;
|
|
@@ -18355,63 +18356,63 @@ var pxt;
|
|
|
18355
18356
|
}
|
|
18356
18357
|
lookupAsset(assetType, name) {
|
|
18357
18358
|
switch (assetType) {
|
|
18358
|
-
case "image" /* Image */:
|
|
18359
|
+
case "image" /* AssetType.Image */:
|
|
18359
18360
|
return this.state.images.getByID(name) || this.gallery.images.getByID(name);
|
|
18360
|
-
case "tile" /* Tile */:
|
|
18361
|
+
case "tile" /* AssetType.Tile */:
|
|
18361
18362
|
return this.state.tiles.getByID(name) || this.gallery.tiles.getByID(name);
|
|
18362
|
-
case "tilemap" /* Tilemap */:
|
|
18363
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18363
18364
|
return this.state.tilemaps.getByID(name) || this.gallery.tilemaps.getByID(name);
|
|
18364
|
-
case "animation" /* Animation */:
|
|
18365
|
+
case "animation" /* AssetType.Animation */:
|
|
18365
18366
|
return this.state.animations.getByID(name) || this.gallery.animations.getByID(name);
|
|
18366
18367
|
}
|
|
18367
18368
|
}
|
|
18368
18369
|
lookupAssetByName(assetType, name) {
|
|
18369
18370
|
switch (assetType) {
|
|
18370
|
-
case "image" /* Image */:
|
|
18371
|
+
case "image" /* AssetType.Image */:
|
|
18371
18372
|
return this.state.images.getByDisplayName(name);
|
|
18372
|
-
case "tile" /* Tile */:
|
|
18373
|
+
case "tile" /* AssetType.Tile */:
|
|
18373
18374
|
return this.state.tiles.getByDisplayName(name);
|
|
18374
|
-
case "tilemap" /* Tilemap */:
|
|
18375
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18375
18376
|
return this.state.tilemaps.getByDisplayName(name);
|
|
18376
|
-
case "animation" /* Animation */:
|
|
18377
|
+
case "animation" /* AssetType.Animation */:
|
|
18377
18378
|
return this.state.animations.getByDisplayName(name);
|
|
18378
18379
|
}
|
|
18379
18380
|
}
|
|
18380
18381
|
getAssets(type) {
|
|
18381
18382
|
switch (type) {
|
|
18382
|
-
case "image" /* Image */: return this.state.images.getSnapshot();
|
|
18383
|
-
case "tile" /* Tile */: return this.state.tiles.getSnapshot();
|
|
18384
|
-
case "tilemap" /* Tilemap */: return this.state.tilemaps.getSnapshot();
|
|
18385
|
-
case "animation" /* Animation */: return this.state.animations.getSnapshot();
|
|
18383
|
+
case "image" /* AssetType.Image */: return this.state.images.getSnapshot();
|
|
18384
|
+
case "tile" /* AssetType.Tile */: return this.state.tiles.getSnapshot();
|
|
18385
|
+
case "tilemap" /* AssetType.Tilemap */: return this.state.tilemaps.getSnapshot();
|
|
18386
|
+
case "animation" /* AssetType.Animation */: return this.state.animations.getSnapshot();
|
|
18386
18387
|
}
|
|
18387
18388
|
}
|
|
18388
18389
|
getGalleryAssets(type) {
|
|
18389
18390
|
switch (type) {
|
|
18390
|
-
case "image" /* Image */: return this.gallery.images.getSnapshot();
|
|
18391
|
-
case "tile" /* Tile */: return this.gallery.tiles.getSnapshot();
|
|
18392
|
-
case "tilemap" /* Tilemap */: return this.gallery.tilemaps.getSnapshot();
|
|
18393
|
-
case "animation" /* Animation */: return this.gallery.animations.getSnapshot();
|
|
18391
|
+
case "image" /* AssetType.Image */: return this.gallery.images.getSnapshot();
|
|
18392
|
+
case "tile" /* AssetType.Tile */: return this.gallery.tiles.getSnapshot();
|
|
18393
|
+
case "tilemap" /* AssetType.Tilemap */: return this.gallery.tilemaps.getSnapshot();
|
|
18394
|
+
case "animation" /* AssetType.Animation */: return this.gallery.animations.getSnapshot();
|
|
18394
18395
|
}
|
|
18395
18396
|
}
|
|
18396
18397
|
lookupBlockAsset(type, blockID) {
|
|
18397
18398
|
let filter = (a) => { var _a, _b; return ((_b = (_a = a.meta) === null || _a === void 0 ? void 0 : _a.blockIDs) === null || _b === void 0 ? void 0 : _b.indexOf(blockID)) !== -1; };
|
|
18398
18399
|
switch (type) {
|
|
18399
|
-
case "image" /* Image */: return this.state.images.getSnapshot(filter)[0];
|
|
18400
|
-
case "tile" /* Tile */: return this.state.tiles.getSnapshot(filter)[0];
|
|
18401
|
-
case "tilemap" /* Tilemap */: return this.state.tilemaps.getSnapshot(filter)[0];
|
|
18402
|
-
case "animation" /* Animation */: return this.state.animations.getSnapshot(filter)[0];
|
|
18400
|
+
case "image" /* AssetType.Image */: return this.state.images.getSnapshot(filter)[0];
|
|
18401
|
+
case "tile" /* AssetType.Tile */: return this.state.tiles.getSnapshot(filter)[0];
|
|
18402
|
+
case "tilemap" /* AssetType.Tilemap */: return this.state.tilemaps.getSnapshot(filter)[0];
|
|
18403
|
+
case "animation" /* AssetType.Animation */: return this.state.animations.getSnapshot(filter)[0];
|
|
18403
18404
|
}
|
|
18404
18405
|
}
|
|
18405
18406
|
updateAsset(asset) {
|
|
18406
18407
|
this.onChange();
|
|
18407
18408
|
switch (asset.type) {
|
|
18408
|
-
case "image" /* Image */:
|
|
18409
|
+
case "image" /* AssetType.Image */:
|
|
18409
18410
|
return this.state.images.update(asset.id, asset);
|
|
18410
|
-
case "tile" /* Tile */:
|
|
18411
|
+
case "tile" /* AssetType.Tile */:
|
|
18411
18412
|
return this.updateTile(asset);
|
|
18412
|
-
case "tilemap" /* Tilemap */:
|
|
18413
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18413
18414
|
return this.state.tilemaps.update(asset.id, asset);
|
|
18414
|
-
case "animation" /* Animation */:
|
|
18415
|
+
case "animation" /* AssetType.Animation */:
|
|
18415
18416
|
return this.state.animations.update(asset.id, asset);
|
|
18416
18417
|
}
|
|
18417
18418
|
}
|
|
@@ -18422,17 +18423,17 @@ var pxt;
|
|
|
18422
18423
|
const name = displayName || ((_a = clone.meta) === null || _a === void 0 ? void 0 : _a.displayName);
|
|
18423
18424
|
let newAsset;
|
|
18424
18425
|
switch (asset.type) {
|
|
18425
|
-
case "image" /* Image */:
|
|
18426
|
+
case "image" /* AssetType.Image */:
|
|
18426
18427
|
newAsset = this.createNewProjectImage(clone.bitmap, name);
|
|
18427
18428
|
break;
|
|
18428
|
-
case "tile" /* Tile */:
|
|
18429
|
+
case "tile" /* AssetType.Tile */:
|
|
18429
18430
|
newAsset = this.createNewTile(clone.bitmap, null, name);
|
|
18430
18431
|
break;
|
|
18431
|
-
case "tilemap" /* Tilemap */:
|
|
18432
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18432
18433
|
const [id, tilemap] = this.createNewTilemapFromData(clone.data, name);
|
|
18433
18434
|
newAsset = this.getTilemap(id);
|
|
18434
18435
|
break;
|
|
18435
|
-
case "animation" /* Animation */:
|
|
18436
|
+
case "animation" /* AssetType.Animation */:
|
|
18436
18437
|
newAsset = this.createNewAnimationFromData(clone.frames, clone.interval, name);
|
|
18437
18438
|
}
|
|
18438
18439
|
return newAsset;
|
|
@@ -18440,44 +18441,44 @@ var pxt;
|
|
|
18440
18441
|
removeAsset(asset) {
|
|
18441
18442
|
this.onChange();
|
|
18442
18443
|
switch (asset.type) {
|
|
18443
|
-
case "image" /* Image */:
|
|
18444
|
+
case "image" /* AssetType.Image */:
|
|
18444
18445
|
return this.state.images.removeByID(asset.id);
|
|
18445
|
-
case "tile" /* Tile */:
|
|
18446
|
+
case "tile" /* AssetType.Tile */:
|
|
18446
18447
|
return this.state.tiles.removeByID(asset.id);
|
|
18447
|
-
case "tilemap" /* Tilemap */:
|
|
18448
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18448
18449
|
return this.state.tilemaps.removeByID(asset.id);
|
|
18449
|
-
case "animation" /* Animation */:
|
|
18450
|
+
case "animation" /* AssetType.Animation */:
|
|
18450
18451
|
return this.state.animations.removeByID(asset.id);
|
|
18451
18452
|
}
|
|
18452
18453
|
}
|
|
18453
18454
|
addChangeListener(asset, listener) {
|
|
18454
18455
|
switch (asset.type) {
|
|
18455
|
-
case "image" /* Image */:
|
|
18456
|
+
case "image" /* AssetType.Image */:
|
|
18456
18457
|
this.state.images.addListener(asset.internalID, listener);
|
|
18457
18458
|
break;
|
|
18458
|
-
case "tile" /* Tile */:
|
|
18459
|
+
case "tile" /* AssetType.Tile */:
|
|
18459
18460
|
this.state.tiles.addListener(asset.internalID, listener);
|
|
18460
18461
|
break;
|
|
18461
|
-
case "tilemap" /* Tilemap */:
|
|
18462
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18462
18463
|
this.state.tilemaps.addListener(asset.internalID, listener);
|
|
18463
18464
|
break;
|
|
18464
|
-
case "animation" /* Animation */:
|
|
18465
|
+
case "animation" /* AssetType.Animation */:
|
|
18465
18466
|
this.state.animations.addListener(asset.internalID, listener);
|
|
18466
18467
|
break;
|
|
18467
18468
|
}
|
|
18468
18469
|
}
|
|
18469
18470
|
removeChangeListener(type, listener) {
|
|
18470
18471
|
switch (type) {
|
|
18471
|
-
case "image" /* Image */:
|
|
18472
|
+
case "image" /* AssetType.Image */:
|
|
18472
18473
|
this.state.images.removeListener(listener);
|
|
18473
18474
|
break;
|
|
18474
|
-
case "tile" /* Tile */:
|
|
18475
|
+
case "tile" /* AssetType.Tile */:
|
|
18475
18476
|
this.state.tiles.removeListener(listener);
|
|
18476
18477
|
break;
|
|
18477
|
-
case "tilemap" /* Tilemap */:
|
|
18478
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18478
18479
|
this.state.tilemaps.removeListener(listener);
|
|
18479
18480
|
break;
|
|
18480
|
-
case "animation" /* Animation */:
|
|
18481
|
+
case "animation" /* AssetType.Animation */:
|
|
18481
18482
|
this.state.animations.removeListener(listener);
|
|
18482
18483
|
break;
|
|
18483
18484
|
}
|
|
@@ -18489,7 +18490,7 @@ var pxt;
|
|
|
18489
18490
|
const isProject = dep.id === "this";
|
|
18490
18491
|
const images = this.readImages(dep.parseJRes(), isProject);
|
|
18491
18492
|
for (const image of images) {
|
|
18492
|
-
if (image.type === "tile" /* Tile */) {
|
|
18493
|
+
if (image.type === "tile" /* AssetType.Tile */) {
|
|
18493
18494
|
if (isProject) {
|
|
18494
18495
|
this.state.tiles.add(image);
|
|
18495
18496
|
}
|
|
@@ -18497,7 +18498,7 @@ var pxt;
|
|
|
18497
18498
|
this.gallery.tiles.add(image);
|
|
18498
18499
|
}
|
|
18499
18500
|
}
|
|
18500
|
-
else if (image.type === "image" /* Image */) {
|
|
18501
|
+
else if (image.type === "image" /* AssetType.Image */) {
|
|
18501
18502
|
if (isProject) {
|
|
18502
18503
|
this.state.images.add(image);
|
|
18503
18504
|
}
|
|
@@ -18518,7 +18519,7 @@ var pxt;
|
|
|
18518
18519
|
for (const tm of getTilemaps(pack.parseJRes())) {
|
|
18519
18520
|
this.state.tilemaps.add({
|
|
18520
18521
|
internalID: this.getNewInternalId(),
|
|
18521
|
-
type: "tilemap" /* Tilemap */,
|
|
18522
|
+
type: "tilemap" /* AssetType.Tilemap */,
|
|
18522
18523
|
id: tm.id,
|
|
18523
18524
|
meta: {
|
|
18524
18525
|
// For tilemaps, use the id as the display name for backwards compat
|
|
@@ -18533,7 +18534,7 @@ var pxt;
|
|
|
18533
18534
|
}
|
|
18534
18535
|
loadTilemapJRes(jres, skipDuplicates = false) {
|
|
18535
18536
|
jres = pxt.inflateJRes(jres);
|
|
18536
|
-
const tiles = this.readImages(jres, true).filter(im => im.type === "tile" /* Tile */);
|
|
18537
|
+
const tiles = this.readImages(jres, true).filter(im => im.type === "tile" /* pxt.AssetType.Tile */);
|
|
18537
18538
|
// If we are loading JRES into an existing project (i.e. in multipart tutorials)
|
|
18538
18539
|
// we need to correct the tile ids because the user may have created new tiles
|
|
18539
18540
|
// and taken some of the ids that were used by the tutorial author
|
|
@@ -18554,7 +18555,7 @@ var pxt;
|
|
|
18554
18555
|
for (const tm of getTilemaps(jres)) {
|
|
18555
18556
|
this.state.tilemaps.add({
|
|
18556
18557
|
internalID: this.getNewInternalId(),
|
|
18557
|
-
type: "tilemap" /* Tilemap */,
|
|
18558
|
+
type: "tilemap" /* AssetType.Tilemap */,
|
|
18558
18559
|
id: tm.id,
|
|
18559
18560
|
meta: {
|
|
18560
18561
|
// For tilemaps, use the id as the display name for backwards compat
|
|
@@ -18575,10 +18576,10 @@ var pxt;
|
|
|
18575
18576
|
for (const key of Object.keys(jres)) {
|
|
18576
18577
|
const entry = jres[key];
|
|
18577
18578
|
if (entry.tilemapTile) {
|
|
18578
|
-
this.state.tiles.add(this.generateImage(entry, "tile" /* Tile */));
|
|
18579
|
+
this.state.tiles.add(this.generateImage(entry, "tile" /* AssetType.Tile */));
|
|
18579
18580
|
}
|
|
18580
18581
|
else if (entry.mimeType === pxt.IMAGE_MIME_TYPE) {
|
|
18581
|
-
this.state.images.add(this.generateImage(entry, "image" /* Image */));
|
|
18582
|
+
this.state.images.add(this.generateImage(entry, "image" /* AssetType.Image */));
|
|
18582
18583
|
}
|
|
18583
18584
|
else if (entry.mimeType === pxt.ANIMATION_MIME_TYPE) {
|
|
18584
18585
|
const [animation, needsInflation] = this.generateAnimation(entry);
|
|
@@ -18639,7 +18640,7 @@ var pxt;
|
|
|
18639
18640
|
}
|
|
18640
18641
|
const anim = {
|
|
18641
18642
|
internalID: this.getNewInternalId(),
|
|
18642
|
-
type: "animation" /* Animation */,
|
|
18643
|
+
type: "animation" /* AssetType.Animation */,
|
|
18643
18644
|
meta: {
|
|
18644
18645
|
displayName: entry.displayName
|
|
18645
18646
|
},
|
|
@@ -18673,14 +18674,14 @@ var pxt;
|
|
|
18673
18674
|
}
|
|
18674
18675
|
generateNewID(type) {
|
|
18675
18676
|
switch (type) {
|
|
18676
|
-
case "animation" /* Animation */:
|
|
18677
|
-
return this.generateNewIDInternal("animation" /* Animation */, pxt.sprite.ANIMATION_PREFIX, pxt.sprite.ANIMATION_NAMESPACE);
|
|
18678
|
-
case "image" /* Image */:
|
|
18679
|
-
return this.generateNewIDInternal("image" /* Image */, pxt.sprite.IMAGE_PREFIX, pxt.sprite.IMAGES_NAMESPACE);
|
|
18680
|
-
case "tile" /* Tile */:
|
|
18681
|
-
return this.generateNewIDInternal("tile" /* Tile */, pxt.sprite.TILE_PREFIX, pxt.sprite.TILE_NAMESPACE);
|
|
18682
|
-
case "tilemap" /* Tilemap */:
|
|
18683
|
-
return this.generateNewIDInternal("tilemap" /* Tilemap */, lf("level"));
|
|
18677
|
+
case "animation" /* AssetType.Animation */:
|
|
18678
|
+
return this.generateNewIDInternal("animation" /* AssetType.Animation */, pxt.sprite.ANIMATION_PREFIX, pxt.sprite.ANIMATION_NAMESPACE);
|
|
18679
|
+
case "image" /* AssetType.Image */:
|
|
18680
|
+
return this.generateNewIDInternal("image" /* AssetType.Image */, pxt.sprite.IMAGE_PREFIX, pxt.sprite.IMAGES_NAMESPACE);
|
|
18681
|
+
case "tile" /* AssetType.Tile */:
|
|
18682
|
+
return this.generateNewIDInternal("tile" /* AssetType.Tile */, pxt.sprite.TILE_PREFIX, pxt.sprite.TILE_NAMESPACE);
|
|
18683
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18684
|
+
return this.generateNewIDInternal("tilemap" /* AssetType.Tilemap */, lf("level"));
|
|
18684
18685
|
}
|
|
18685
18686
|
}
|
|
18686
18687
|
generateNewIDInternal(type, varPrefix, namespaceString) {
|
|
@@ -18702,12 +18703,12 @@ var pxt;
|
|
|
18702
18703
|
for (const key of Object.keys(allJRes)) {
|
|
18703
18704
|
const entry = allJRes[key];
|
|
18704
18705
|
if (entry.tilemapTile) {
|
|
18705
|
-
const tile = this.generateImage(entry, "tile" /* Tile */);
|
|
18706
|
+
const tile = this.generateImage(entry, "tile" /* AssetType.Tile */);
|
|
18706
18707
|
tile.isProjectTile = isProjectFile;
|
|
18707
18708
|
assets.push(tile);
|
|
18708
18709
|
}
|
|
18709
18710
|
else if (entry.mimeType === pxt.IMAGE_MIME_TYPE) {
|
|
18710
|
-
assets.push(this.generateImage(entry, "image" /* Image */));
|
|
18711
|
+
assets.push(this.generateImage(entry, "image" /* AssetType.Image */));
|
|
18711
18712
|
}
|
|
18712
18713
|
else if (entry.mimeType === pxt.ANIMATION_MIME_TYPE) {
|
|
18713
18714
|
const [animation, needsInflation] = this.generateAnimation(entry);
|
|
@@ -18756,11 +18757,11 @@ var pxt;
|
|
|
18756
18757
|
// FIXME: we should get the "image.ofBuffer" and blockIdentity from pxtarget probably
|
|
18757
18758
|
out += `${indent}//% fixedInstance jres blockIdentity=images._tile\n`;
|
|
18758
18759
|
out += `${indent}export const ${key} = image.ofBuffer(hex\`\`);\n`;
|
|
18759
|
-
tileEntries.push({ keys: [entry.displayName, getShortIDCore("tile" /* Tile */, key, true)], expression: key });
|
|
18760
|
+
tileEntries.push({ keys: [entry.displayName, getShortIDCore("tile" /* AssetType.Tile */, key, true)], expression: key });
|
|
18760
18761
|
}
|
|
18761
18762
|
if (entry.mimeType === pxt.TILEMAP_MIME_TYPE) {
|
|
18762
18763
|
const tm = decodeTilemap(entry);
|
|
18763
|
-
tilemapEntries.push({ keys: [entry.displayName, getShortIDCore("tilemap" /* Tilemap */, entry.id)], expression: pxt.sprite.encodeTilemap(tm, "typescript") });
|
|
18764
|
+
tilemapEntries.push({ keys: [entry.displayName, getShortIDCore("tilemap" /* AssetType.Tilemap */, entry.id)], expression: pxt.sprite.encodeTilemap(tm, "typescript") });
|
|
18764
18765
|
}
|
|
18765
18766
|
}
|
|
18766
18767
|
if (tilemapEntries.length) {
|
|
@@ -18784,7 +18785,7 @@ var pxt;
|
|
|
18784
18785
|
const entry = jres[key];
|
|
18785
18786
|
if (typeof entry === "string" || entry.mimeType === pxt.IMAGE_MIME_TYPE) {
|
|
18786
18787
|
let expression;
|
|
18787
|
-
let factoryKeys = [getShortIDCore("image" /* Image */, key, true)];
|
|
18788
|
+
let factoryKeys = [getShortIDCore("image" /* AssetType.Image */, key, true)];
|
|
18788
18789
|
if (typeof entry === "string") {
|
|
18789
18790
|
expression = pxt.sprite.bitmapToImageLiteral(pxt.sprite.getBitmapFromJResURL(entry), "typescript");
|
|
18790
18791
|
}
|
|
@@ -18800,7 +18801,7 @@ var pxt;
|
|
|
18800
18801
|
else if (entry.mimeType === pxt.ANIMATION_MIME_TYPE) {
|
|
18801
18802
|
const animation = decodeAnimation(entry);
|
|
18802
18803
|
animationEntries.push({
|
|
18803
|
-
keys: [entry.displayName, getShortIDCore("animation" /* Animation */, key, true)],
|
|
18804
|
+
keys: [entry.displayName, getShortIDCore("animation" /* AssetType.Animation */, key, true)],
|
|
18804
18805
|
expression: `[${animation.frames.map(f => pxt.sprite.bitmapToImageLiteral(pxt.sprite.Bitmap.fromData(f), "typescript")).join(", ")}]`
|
|
18805
18806
|
});
|
|
18806
18807
|
}
|
|
@@ -18844,12 +18845,12 @@ var pxt;
|
|
|
18844
18845
|
function cloneAsset(asset) {
|
|
18845
18846
|
asset.meta = Object.assign({}, asset.meta);
|
|
18846
18847
|
switch (asset.type) {
|
|
18847
|
-
case "tile" /* Tile */:
|
|
18848
|
-
case "image" /* Image */:
|
|
18848
|
+
case "tile" /* AssetType.Tile */:
|
|
18849
|
+
case "image" /* AssetType.Image */:
|
|
18849
18850
|
return Object.assign(Object.assign({}, asset), { bitmap: cloneBitmap(asset.bitmap) });
|
|
18850
|
-
case "animation" /* Animation */:
|
|
18851
|
+
case "animation" /* AssetType.Animation */:
|
|
18851
18852
|
return Object.assign(Object.assign({}, asset), { frames: asset.frames.map(frame => cloneBitmap(frame)) });
|
|
18852
|
-
case "tilemap" /* Tilemap */:
|
|
18853
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18853
18854
|
return Object.assign(Object.assign({}, asset), { data: asset.data.cloneData() });
|
|
18854
18855
|
}
|
|
18855
18856
|
}
|
|
@@ -18858,7 +18859,7 @@ var pxt;
|
|
|
18858
18859
|
// Get the last part of the fully qualified name
|
|
18859
18860
|
const id = asset.id.substr(asset.id.lastIndexOf(".") + 1);
|
|
18860
18861
|
switch (asset.type) {
|
|
18861
|
-
case "image" /* Image */:
|
|
18862
|
+
case "image" /* AssetType.Image */:
|
|
18862
18863
|
allJRes[id] = asset.jresData;
|
|
18863
18864
|
if (asset.meta.displayName) {
|
|
18864
18865
|
allJRes[id] = {
|
|
@@ -18868,7 +18869,7 @@ var pxt;
|
|
|
18868
18869
|
};
|
|
18869
18870
|
}
|
|
18870
18871
|
break;
|
|
18871
|
-
case "tile" /* Tile */:
|
|
18872
|
+
case "tile" /* AssetType.Tile */:
|
|
18872
18873
|
allJRes[id] = {
|
|
18873
18874
|
data: asset.jresData,
|
|
18874
18875
|
mimeType: pxt.IMAGE_MIME_TYPE,
|
|
@@ -18876,12 +18877,12 @@ var pxt;
|
|
|
18876
18877
|
displayName: asset.meta.displayName
|
|
18877
18878
|
};
|
|
18878
18879
|
break;
|
|
18879
|
-
case "tilemap" /* Tilemap */:
|
|
18880
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18880
18881
|
// we include the full ID for tilemaps
|
|
18881
18882
|
const serialized = serializeTilemap(asset.data, asset.id, asset.meta.displayName);
|
|
18882
18883
|
allJRes[serialized.id] = serialized;
|
|
18883
18884
|
break;
|
|
18884
|
-
case "animation" /* Animation */:
|
|
18885
|
+
case "animation" /* AssetType.Animation */:
|
|
18885
18886
|
allJRes[id] = serializeAnimation(asset);
|
|
18886
18887
|
break;
|
|
18887
18888
|
}
|
|
@@ -18895,13 +18896,13 @@ var pxt;
|
|
|
18895
18896
|
a.meta.displayName !== b.meta.displayName)
|
|
18896
18897
|
return false;
|
|
18897
18898
|
switch (a.type) {
|
|
18898
|
-
case "image" /* Image */:
|
|
18899
|
-
case "tile" /* Tile */:
|
|
18899
|
+
case "image" /* AssetType.Image */:
|
|
18900
|
+
case "tile" /* AssetType.Tile */:
|
|
18900
18901
|
return pxt.sprite.bitmapEquals(a.bitmap, b.bitmap);
|
|
18901
|
-
case "animation" /* Animation */:
|
|
18902
|
+
case "animation" /* AssetType.Animation */:
|
|
18902
18903
|
const bAnimation = b;
|
|
18903
18904
|
return a.interval === bAnimation.interval && pxt.U.arrayEquals(a.frames, bAnimation.frames, pxt.sprite.bitmapEquals);
|
|
18904
|
-
case "tilemap" /* Tilemap */:
|
|
18905
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18905
18906
|
return a.data.equals(b.data);
|
|
18906
18907
|
}
|
|
18907
18908
|
}
|
|
@@ -18925,7 +18926,7 @@ var pxt;
|
|
|
18925
18926
|
shortId = getShortIDForAsset(asset);
|
|
18926
18927
|
}
|
|
18927
18928
|
if (!shortId) {
|
|
18928
|
-
if (asset.type === "image" /* Image */ || asset.type === "tile" /* Tile */) {
|
|
18929
|
+
if (asset.type === "image" /* pxt.AssetType.Image */ || asset.type === "tile" /* pxt.AssetType.Tile */) {
|
|
18929
18930
|
// Use the qualified name
|
|
18930
18931
|
return asset.id;
|
|
18931
18932
|
}
|
|
@@ -18934,13 +18935,13 @@ var pxt;
|
|
|
18934
18935
|
const leftTick = isPython ? `("""` : "`";
|
|
18935
18936
|
const rightTick = isPython ? `""")` : "`";
|
|
18936
18937
|
switch (asset.type) {
|
|
18937
|
-
case "tile" /* Tile */:
|
|
18938
|
+
case "tile" /* AssetType.Tile */:
|
|
18938
18939
|
return `assets.tile${leftTick}${shortId}${rightTick}`;
|
|
18939
|
-
case "image" /* Image */:
|
|
18940
|
+
case "image" /* AssetType.Image */:
|
|
18940
18941
|
return `assets.image${leftTick}${shortId}${rightTick}`;
|
|
18941
|
-
case "animation" /* Animation */:
|
|
18942
|
+
case "animation" /* AssetType.Animation */:
|
|
18942
18943
|
return `assets.animation${leftTick}${shortId}${rightTick}`;
|
|
18943
|
-
case "tilemap" /* Tilemap */:
|
|
18944
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
18944
18945
|
return `tilemap${leftTick}${shortId}${rightTick}`;
|
|
18945
18946
|
}
|
|
18946
18947
|
}
|
|
@@ -18963,13 +18964,13 @@ var pxt;
|
|
|
18963
18964
|
const { type, name } = match;
|
|
18964
18965
|
switch (type) {
|
|
18965
18966
|
case "tile":
|
|
18966
|
-
return project.lookupAssetByName("tile" /* Tile */, name);
|
|
18967
|
+
return project.lookupAssetByName("tile" /* AssetType.Tile */, name);
|
|
18967
18968
|
case "image":
|
|
18968
|
-
return project.lookupAssetByName("image" /* Image */, name);
|
|
18969
|
+
return project.lookupAssetByName("image" /* AssetType.Image */, name);
|
|
18969
18970
|
case "tilemap":
|
|
18970
|
-
return project.lookupAssetByName("tilemap" /* Tilemap */, name) || project.lookupAsset("tilemap" /* Tilemap */, name);
|
|
18971
|
+
return project.lookupAssetByName("tilemap" /* AssetType.Tilemap */, name) || project.lookupAsset("tilemap" /* AssetType.Tilemap */, name);
|
|
18971
18972
|
case "animation":
|
|
18972
|
-
return project.lookupAssetByName("animation" /* Animation */, name);
|
|
18973
|
+
return project.lookupAssetByName("animation" /* AssetType.Animation */, name);
|
|
18973
18974
|
}
|
|
18974
18975
|
}
|
|
18975
18976
|
return undefined;
|
|
@@ -18977,13 +18978,13 @@ var pxt;
|
|
|
18977
18978
|
pxt.lookupProjectAssetByTSReference = lookupProjectAssetByTSReference;
|
|
18978
18979
|
function getDefaultAssetDisplayName(type) {
|
|
18979
18980
|
switch (type) {
|
|
18980
|
-
case "image" /* Image */:
|
|
18981
|
+
case "image" /* pxt.AssetType.Image */:
|
|
18981
18982
|
return lf("myImage");
|
|
18982
|
-
case "tile" /* Tile */:
|
|
18983
|
+
case "tile" /* pxt.AssetType.Tile */:
|
|
18983
18984
|
return lf("myTile");
|
|
18984
|
-
case "tilemap" /* Tilemap */:
|
|
18985
|
+
case "tilemap" /* pxt.AssetType.Tilemap */:
|
|
18985
18986
|
return lf("level");
|
|
18986
|
-
case "animation" /* Animation */:
|
|
18987
|
+
case "animation" /* pxt.AssetType.Animation */:
|
|
18987
18988
|
return lf("myAnim");
|
|
18988
18989
|
default:
|
|
18989
18990
|
return lf("asset");
|
|
@@ -18997,16 +18998,16 @@ var pxt;
|
|
|
18997
18998
|
function getShortIDCore(assetType, id, allowNoPrefix = false) {
|
|
18998
18999
|
let prefix;
|
|
18999
19000
|
switch (assetType) {
|
|
19000
|
-
case "image" /* Image */:
|
|
19001
|
+
case "image" /* AssetType.Image */:
|
|
19001
19002
|
prefix = pxt.sprite.IMAGES_NAMESPACE + ".";
|
|
19002
19003
|
break;
|
|
19003
|
-
case "tile" /* Tile */:
|
|
19004
|
+
case "tile" /* AssetType.Tile */:
|
|
19004
19005
|
prefix = pxt.sprite.TILE_NAMESPACE + ".";
|
|
19005
19006
|
break;
|
|
19006
|
-
case "tilemap" /* Tilemap */:
|
|
19007
|
+
case "tilemap" /* AssetType.Tilemap */:
|
|
19007
19008
|
prefix = "";
|
|
19008
19009
|
break;
|
|
19009
|
-
case "animation" /* Animation */:
|
|
19010
|
+
case "animation" /* AssetType.Animation */:
|
|
19010
19011
|
prefix = pxt.sprite.ANIMATION_NAMESPACE + ".";
|
|
19011
19012
|
break;
|
|
19012
19013
|
}
|
|
@@ -19076,7 +19077,7 @@ var pxt;
|
|
|
19076
19077
|
id = id.replace(/\.\./g, ".");
|
|
19077
19078
|
}
|
|
19078
19079
|
return {
|
|
19079
|
-
type: "animation" /* Animation */,
|
|
19080
|
+
type: "animation" /* AssetType.Animation */,
|
|
19080
19081
|
internalID: 0,
|
|
19081
19082
|
id: id,
|
|
19082
19083
|
interval,
|
|
@@ -20009,15 +20010,15 @@ var ts;
|
|
|
20009
20010
|
ScriptTarget[ScriptTarget["Latest"] = 2] = "Latest";
|
|
20010
20011
|
})(ScriptTarget = pxtc.ScriptTarget || (pxtc.ScriptTarget = {}));
|
|
20011
20012
|
function isIdentifierStart(ch, languageVersion) {
|
|
20012
|
-
return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ ||
|
|
20013
|
-
ch === 36 /*
|
|
20014
|
-
ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion);
|
|
20013
|
+
return ch >= 65 /* CharacterCodes.A */ && ch <= 90 /* CharacterCodes.Z */ || ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */ ||
|
|
20014
|
+
ch === 36 /* CharacterCodes.$ */ || ch === 95 /* CharacterCodes._ */ ||
|
|
20015
|
+
ch > 127 /* CharacterCodes.maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion);
|
|
20015
20016
|
}
|
|
20016
20017
|
pxtc.isIdentifierStart = isIdentifierStart;
|
|
20017
20018
|
function isIdentifierPart(ch, languageVersion) {
|
|
20018
|
-
return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ ||
|
|
20019
|
-
ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /*
|
|
20020
|
-
ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion);
|
|
20019
|
+
return ch >= 65 /* CharacterCodes.A */ && ch <= 90 /* CharacterCodes.Z */ || ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */ ||
|
|
20020
|
+
ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */ || ch === 36 /* CharacterCodes.$ */ || ch === 95 /* CharacterCodes._ */ ||
|
|
20021
|
+
ch > 127 /* CharacterCodes.maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion);
|
|
20021
20022
|
}
|
|
20022
20023
|
pxtc.isIdentifierPart = isIdentifierPart;
|
|
20023
20024
|
pxtc.reservedWords = ["abstract", "any", "as", "break",
|