@@ -39,7 +39,8 @@ func create_entity(name:String, category:PandoraCategory) -> PandoraEntity:
3939
4040## Creates a new category on an optional parent category
4141func create_category (name :String , parent_category :PandoraCategory = null ) -> PandoraCategory :
42- var category = PandoraCategory .new (_id_generator .generate (), name , "" , "" )
42+ var category = PandoraCategory .new ()
43+ category .init_entity (_id_generator .generate (), name , "" , "" )
4344 if parent_category != null :
4445 parent_category ._children .append (category )
4546 category ._category_id = parent_category ._id
@@ -226,7 +227,7 @@ func _deserialize_entities(data:Array) -> Dictionary:
226227func _deserialize_categories (data :Array ) -> Dictionary :
227228 var dict = {}
228229 for category_data in data :
229- var category = PandoraCategory .new ("" , "" , "" , "" )
230+ var category = PandoraCategory .new ()
230231 category .load_data (category_data )
231232 dict [category ._id ] = category
232233 if category ._category_id == "" :
@@ -298,18 +299,25 @@ func _get_entity_class(path:String) -> GDScript:
298299
299300func _create_entity_from_script (path :String , id :String , name :String , icon_path :String , category_id :String ):
300301 var clazz = _get_entity_class (path )
301- var new_method = _find_first_method_of_script (clazz , "_init " )
302+ var new_method = _find_first_method_of_script (clazz , "init_entity " )
302303 if not new_method .has ("args" ):
303304 push_error ("ERROR - Pandora is unable to correctly resolve new() method." )
304- return PandoraEntityScript .new (id , name , icon_path , category_id )
305- var expected_method = _find_first_method_of_script (PandoraEntityScript , "_init" )
305+ var entity = PandoraEntityScript .new ()
306+ entity .init_entity (id , name , icon_path , category_id )
307+ return entity
308+ var expected_method = _find_first_method_of_script (PandoraEntityScript , "init_entity" )
306309 if new_method ["args" ].size () != expected_method ["args" ].size ():
307- push_warning ("_init() method has incorrect signature! Requires " + str (expected_method ["args" ].size ()) + " arguments - defaulting to PandoraEntity instead." )
308- return PandoraEntityScript .new (id , name , icon_path , category_id )
309- var entity = clazz .new (id , name , icon_path , category_id )
310+ push_warning ("init_entity() method has incorrect signature! Requires " + str (expected_method ["args" ].size ()) + " arguments - defaulting to PandoraEntity instead." )
311+ var entity = PandoraEntityScript .new ()
312+ entity .init_entity (id , name , icon_path , category_id )
313+ return entity
314+
315+ var entity = clazz .new ()
310316 if not entity is PandoraEntity :
311317 push_warning ("Script '" + path + "' must extend PandoraEntity - defaulting to PandoraEntity instead." )
312- entity = PandoraEntityScript .new (id , name , icon_path , category_id )
318+ entity = PandoraEntityScript .new ()
319+
320+ entity .init_entity (id , name , icon_path , category_id )
313321 return entity
314322
315323
0 commit comments