1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- extends Node
- class_name DialogicDefinitionsUtil
-
-
- static func get_definition_by_key(data: Dictionary, key: String, value: String):
- var variables : Array = data['variables']
- var glossary : Array = data['glossary']
- for v in variables:
- if v[key] == value:
- return v
- for g in glossary:
- if g[key] == value:
- return g
- return null
-
-
- static func get_definition_by_id(data: Dictionary, id: String):
- return get_definition_by_key(data, 'id', id)
-
-
- static func get_definition_by_name(data: Dictionary, id: String):
- return get_definition_by_key(data, 'name', id)
-
-
- static func set_definition(section: String, data: Dictionary, elem: Dictionary):
- delete_definition(data, elem['id'])
- var array: Array = data[section]
- var found = false;
- for e in array:
- if e['id'] == elem['id']:
- found = true
- array.erase(e)
- array.append(elem)
- break
- if not found:
- array.append(elem)
-
-
- static func set_definition_variable(data: Dictionary, id: String, name: String, value):
- set_definition('variables', data, {
- 'id': id,
- 'name': name,
- 'value': value,
- 'type': 0
- })
-
-
- static func set_definition_glossary(data: Dictionary, id: String, name: String, title: String, text: String, extra: String):
- set_definition('glossary', data, {
- 'id': id,
- 'name': name,
- 'title': title,
- 'text': text,
- 'extra': extra,
- 'type': 1
- })
-
-
- static func delete_definition(data: Dictionary, id: String):
- var variables : Array = data['variables']
- var glossary : Array = data['glossary']
- var item = get_definition_by_id(data, id);
- if item != null:
- if (item['type'] == 0):
- variables.erase(item)
- else:
- glossary.erase(item)
-
-
- static func definitions_json_to_array(data: Dictionary) -> Array:
- return data['variables'] + data['glossary']
|