MCPcopy
hub / github.com/4ian/GDevelop / insertInVariablesContainer

Function insertInVariablesContainer

newIDE/app/src/Utils/VariablesUtils.js:46–79  ·  view source on GitHub ↗
(
  variablesContainer: gdVariablesContainer,
  name: string,
  serializedVariable: any | null,
  index: number,
  inheritedVariablesContainer: ?gdVariablesContainer,
  variableType?: 'number' | 'string' | 'boolean' | null
)

Source from the content-addressed store, hash-verified

44};
45
46export const insertInVariablesContainer = (
47 variablesContainer: gdVariablesContainer,
48 name: string,
49 serializedVariable: any | null,
50 index: number,
51 inheritedVariablesContainer: ?gdVariablesContainer,
52 variableType?: 'number' | 'string' | 'boolean' | null
53): { name: string, variable: gdVariable } => {
54 const newName = newNameGenerator(
55 name,
56 name => {
57 return (
58 variablesContainer.has(name) ||
59 (!!inheritedVariablesContainer && inheritedVariablesContainer.has(name))
60 );
61 },
62 serializedVariable ? 'CopyOf' : undefined
63 );
64 const newVariable = new gd.Variable();
65 if (serializedVariable) {
66 unserializeFromJSObject(newVariable, serializedVariable);
67 newVariable.resetPersistentUuid();
68 }
69 const variable = variablesContainer.insert(newName, newVariable, index);
70 if (variableType === 'number') {
71 variable.setValue(0);
72 } else if (variableType === 'string') {
73 variable.setString('');
74 } else if (variableType === 'boolean') {
75 variable.setBool(false);
76 }
77 newVariable.delete();
78 return { name: newName, variable };
79};
80
81export const insertInVariableChildrenArray = (
82 targetParentVariable: gdVariable,

Callers 3

VariablesList.jsFile · 0.90

Calls 7

unserializeFromJSObjectFunction · 0.90
newNameGeneratorFunction · 0.85
deleteMethod · 0.65
hasMethod · 0.45
resetPersistentUuidMethod · 0.45
setValueMethod · 0.45
setStringMethod · 0.45

Tested by

no test coverage detected