I have 2 resources, a parent and a child
ResourceA
extends Resource
class_name ResourceA
var foo := 42
ResourceB
extends ResourceA
class_name ResourceB
var bar := 69
ResourceB should be - to an extent - interchangeable as a type with ResourceA, because it inherits from it. However, this doesn't seem to work in this case:
ClassA
extends Node3D
class_name ClassA
func init(p_resource: ResourceA) -> ClassA:
return self
ClassB
extends ClassA
class_name ClassB
func init(p_resource: ResourceB) -> ClassB:
return self
ClassB's init function is registered as an invalid function signature: