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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import React from "react";
import type { ScriptEventDef } from "lib/scriptEventsHandlers/handlerTypes";
import type {
ScriptEventFieldSchema,
ScriptNormalized,
} from "shared/lib/entities/entitiesTypes";
export const getScriptEventFields = (
command: string,
value: { customEventId?: string; engineFieldKey?: string },
customEvents: Record<string, ScriptNormalized>,
scriptEventDefs: Record<string, ScriptEventDef>,
) => {
const eventCommands =
(scriptEventDefs[command] && scriptEventDefs[command]?.fields) || [];
Eif (value.customEventId && customEvents[value.customEventId]) {
const customEvent = customEvents[value.customEventId];
const description = customEvent?.description
? [
{
label: customEvent.description
.split("\n")
.map((text, index) => (
<div key={index}>{text || <div> </div>}</div>
)),
},
{
type: "break",
},
]
: [];
const usedVariables =
Object.values(customEvent?.variables || []).map((v) => {
Eif (v?.passByReference === "array") {
return {
label: `${v.name || ""}[${v.length}]`,
key: `$variable[${v.id || ""}]$`,
type: "variable",
defaultValue: "LAST_VARIABLE",
variableType: "arrayReference",
arrayLength: v.length,
} satisfies ScriptEventFieldSchema;
}
return {
label: `${v?.name || ""}`,
key: `$variable[${v?.id || ""}]$`,
type: "value",
defaultValue: {
type: "variable",
value: "LAST_VARIABLE",
},
};
}) || [];
const usedActors =
Object.values(customEvent?.actors || []).map((a) => {
return {
label: `${a?.name || ""}`,
defaultValue: "player",
key: `$actor[${a?.id || ""}]$`,
type: "actor",
};
}) || [];
return ([] as ScriptEventFieldSchema[]).concat(
eventCommands,
description,
usedVariables,
usedActors,
);
}
return eventCommands;
};
|