67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Smarty
		
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Smarty
		
	
	
	
|  | {{x.cpp_namespace_begin}}
 | ||
|  | 
 | ||
|  | {{ | ||
|  |     name = x.name
 | ||
|  |     parent_def_type = x.parent_def_type
 | ||
|  |     export_fields = x.export_fields
 | ||
|  |     hierarchy_export_fields = x.hierarchy_export_fields
 | ||
|  | }}
 | ||
|  | 
 | ||
|  | {{~if x.comment != '' ~}}
 | ||
|  | /**
 | ||
|  |  * {{x.escape_comment}}
 | ||
|  |  */
 | ||
|  | {{~end~}}
 | ||
|  | class {{name}} : public {{if parent_def_type}} {{parent_def_type.cpp_full_name}} {{else}} bright::CfgBean {{end}}
 | ||
|  | { | ||
|  |     public:
 | ||
|  | 
 | ||
|  |     static bool deserialize{{name}}(ByteBuf& _buf, ::bright::SharedPtr<{{name}}>& _out);
 | ||
|  | 
 | ||
|  |     {{name}}()
 | ||
|  |     {  | ||
|  | 
 | ||
|  |     }
 | ||
|  | 
 | ||
|  | {{~if !hierarchy_export_fields.empty?~}}
 | ||
|  |     {{name}}({{- for field in hierarchy_export_fields }}{{cpp_define_type field.ctype}} {{field.name}}{{if !for.last}},{{end}} {{end}}) 
 | ||
|  |     {{~if parent_def_type~}}
 | ||
|  |             : {{parent_def_type.cpp_full_name}}({{ for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}}, {{end}}{{end}})
 | ||
|  |     {{~end~}}
 | ||
|  |     { | ||
|  | 
 | ||
|  |         {{~ for field in export_fields ~}}
 | ||
|  |         this->{{field.convention_name}} = {{field.name}};
 | ||
|  |         {{~end~}}
 | ||
|  |     }
 | ||
|  | {{~end~}}
 | ||
|  |     virtual ~{{name}}() {}
 | ||
|  | 
 | ||
|  |     bool deserialize(ByteBuf& _buf);
 | ||
|  | 
 | ||
|  |     {{~ for field in export_fields ~}}
 | ||
|  | {{~if field.comment != '' ~}}
 | ||
|  |     /**
 | ||
|  |      * {{field.escape_comment}}
 | ||
|  |      */
 | ||
|  | {{~end~}}
 | ||
|  |     {{cpp_define_type field.ctype}} {{field.convention_name}};
 | ||
|  |     {{~if field.index_field~}} 
 | ||
|  |     ::bright::HashMap<{{cpp_define_type field.index_field.ctype}}, {{cpp_define_type field.ctype.element_type}}> {{field.convention_name}}_Index;
 | ||
|  |     {{~end~}}
 | ||
|  |     {{~if field.gen_ref~}}
 | ||
|  |     {{field.cpp_ref_validator_define}}
 | ||
|  |     {{~end~}}
 | ||
|  |     {{~end~}}
 | ||
|  | 
 | ||
|  | {{~if !x.is_abstract_type~}}
 | ||
|  |     static constexpr int __ID__ = {{x.id}};
 | ||
|  | 
 | ||
|  |     int getTypeId() const { return __ID__; }
 | ||
|  | {{~end~}}
 | ||
|  | 
 | ||
|  |     virtual void resolve(::bright::HashMap<::bright::String, void*>& _tables);
 | ||
|  | };
 | ||
|  | 
 | ||
|  | {{x.cpp_namespace_end}}
 |