Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | const l10n = require("../helpers/l10n").default;
const id = "EVENT_IF_FLAGS_COMPARE";
const groups = ["EVENT_GROUP_CONTROL_FLOW"];
const subGroups = {
EVENT_GROUP_CONTROL_FLOW: "EVENT_GROUP_VARIABLES",
};
const autoLabel = (fetchArg) => {
return l10n("EVENT_IF_FLAGS_COMPARE_LABEL", {
variable: fetchArg("variable"),
flag: String(Number(fetchArg("flag")) + 1),
});
};
const fields = [
{
key: "variable",
label: l10n("FIELD_VARIABLE"),
description: l10n("FIELD_VARIABLE_DESC"),
type: "variable",
defaultValue: "LAST_VARIABLE",
},
{
key: "flag",
label: l10n("FIELD_FLAG"),
description: l10n("FIELD_FLAG_CHECK_DESC"),
type: "selectFlags",
defaultValue: 0,
},
{
key: "true",
label: l10n("FIELD_TRUE"),
description: l10n("FIELD_TRUE_DESC"),
type: "events",
},
{
key: "__collapseElse",
label: l10n("FIELD_ELSE"),
type: "collapsable",
defaultValue: true,
conditions: [
{
key: "__disableElse",
ne: true,
},
],
},
{
key: "false",
label: l10n("FIELD_FALSE"),
description: l10n("FIELD_FALSE_DESC"),
conditions: [
{
key: "__collapseElse",
ne: true,
},
{
key: "__disableElse",
ne: true,
},
],
type: "events",
},
];
const compile = (input, helpers) => {
const { ifVariableBitwiseValue } = helpers;
const truePath = input.true;
const falsePath = input.__disableElse ? [] : input.false;
let flags = 0;
Iif (input.flag === 0) flags = 0x0001;
Iif (input.flag === 1) flags = 0x0002;
Iif (input.flag === 2) flags = 0x0004;
Iif (input.flag === 3) flags = 0x0008;
Iif (input.flag === 4) flags = 0x0010;
if (input.flag === 5) flags = 0x0020;
Iif (input.flag === 6) flags = 0x0040;
Iif (input.flag === 7) flags = 0x0080;
Iif (input.flag === 8) flags = 0x0100;
Iif (input.flag === 9) flags = 0x0200;
Iif (input.flag === 10) flags = 0x0400;
Iif (input.flag === 11) flags = 0x0800;
Iif (input.flag === 12) flags = 0x1000;
Iif (input.flag === 13) flags = 0x2000;
Iif (input.flag === 14) flags = 0x4000;
Iif (input.flag === 15) flags = 0x8000;
ifVariableBitwiseValue(input.variable, ".B_AND", flags, truePath, falsePath);
};
module.exports = {
id,
description: l10n("EVENT_IF_FLAGS_COMPARE_DESC"),
autoLabel,
groups,
subGroups,
fields,
compile,
};
|