92 lines
2.8 KiB
Smarty
92 lines
2.8 KiB
Smarty
{{
|
|
name = x.gdscript_full_name
|
|
key_type = x.key_ttype
|
|
key_type1 = x.key_ttype1
|
|
key_type2 = x.key_ttype2
|
|
value_type = x.value_ttype
|
|
}}
|
|
class {{name}}:
|
|
{{~if x.is_map_table ~}}
|
|
var _data_map = {}
|
|
var _data_list = []
|
|
|
|
func _init(_json_) -> void:
|
|
self._data_map = {}
|
|
self._data_list = []
|
|
|
|
for _json2_ in _json_:
|
|
var _v
|
|
{{gdscript_deserialize_value '_v' '_json2_' value_type}}
|
|
self._data_list.append(_v)
|
|
self._data_map[_v.{{x.index_field.convention_name}}] = _v
|
|
|
|
func get_data_map() -> Dictionary:
|
|
return self._data_map
|
|
func get_data_list() -> Array:
|
|
return self._data_list
|
|
|
|
func get(key):
|
|
return self._data_map.get(key)
|
|
{{~else if x.multi_key ~}}
|
|
{{~ for INDEX in x.index_list ~}}
|
|
var _data_{{INDEX.index_field.convention_name}}_map = {}
|
|
{{~ end ~}}
|
|
var _data_list = []
|
|
|
|
func _init(_json_) -> void:
|
|
{{~ for INDEX in x.index_list ~}}
|
|
self._data_{{INDEX.index_field.convention_name}}_map = {}
|
|
{{~ end ~}}
|
|
self._data_list = []
|
|
|
|
for _json2_ in _json_:
|
|
var _v
|
|
{{gdscript_deserialize_value '_v' '_json2_' value_type}}
|
|
self._data_list.append(_v)
|
|
{{~ for INDEX in x.index_list ~}}
|
|
self._data_{{INDEX.index_field.convention_name}}_map[_v.{{INDEX.index_field.convention_name}}] = _v
|
|
{{~ end ~}}
|
|
|
|
func get_data_map() -> Dictionary:
|
|
return self._data_{{x.index_field.convention_name }}_map
|
|
func get_data_list() -> Array:
|
|
return self._data_list
|
|
{{~ for INDEX in x.index_list ~}}
|
|
func get_by_{{INDEX.index_field.convention_name}}({{INDEX.index_field.convention_name}}):
|
|
return self._data_{{INDEX.index_field.name}}_map.get({{INDEX.index_field.convention_name}})
|
|
{{~ end ~}}
|
|
|
|
func get(key):
|
|
return self._data_{{x.index_field.convention_name }}_map.get(key)
|
|
{{~else if x.is_list_table ~}}
|
|
var _data_list
|
|
func _init(_json_) -> void:
|
|
self._data_list = []
|
|
|
|
for _json2_ in _json_:
|
|
var _v
|
|
{{gdscript_deserialize_value '_v' '_json2_' value_type}}
|
|
self._data_list.append(_v)
|
|
|
|
func get_data_list():
|
|
return self._data_list
|
|
|
|
func get(index):
|
|
return self._data_list[index]
|
|
{{~else~}}
|
|
var _data: Dictionary
|
|
func _init(_json_) -> void:
|
|
assert(len(_json_) == 1, 'table mode=one, but size != 1')
|
|
self._data = _json_[0]
|
|
|
|
func get_data() -> Dictionary:
|
|
return self._data
|
|
|
|
{{~ for field in value_type.bean.hierarchy_export_fields ~}}
|
|
{{~if field.comment != '' ~}}
|
|
# {{field.escape_comment}}
|
|
{{~end~}}
|
|
func {{field.convention_name}}():
|
|
return self._data.{{field.convention_name}}
|
|
{{~end~}}
|
|
{{~end~}} |