+1 vote

I'm trying to make an alternate constructor to a custom class.

Example:

class_name FightingCharacter

func init(name, hp, attack):
    # do stuff
    pass

static func alternative_constructor(my_struct):
    return FightingCharacter.new(
        my_struct.name,
        my_struct.hp,
        my_struct.attack
    )

It doesn't work. The compilation fails with 'Parser Error: Using own name in class file is not allowed (creates a cyclic reference)'

Is there any other way to achieve what I want?
(It's a common idiom in Python)

in Engine by (13 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.