mardi 31 août 2021

How do I get a random variant of an enum in GDScript, Godot 3.3?

I have declared an enum like so in GDScript:

enum State = { STANDING, WALKING, RUNNING }

I want to get a random variant of this enum without mentioning all variants of it so that I can add more variants to the enum later without changing the code responsible for getting a random variant.

So far, I've tried this:

State.get(randi() % State.size())

And this:

State[randi() % State.size()]

Neither work. The former gives me Null, and the latter gives me the error "Invalid get index '2' (on base: 'Dictionary')."

How might I go about doing this in a way that actually works?




Aucun commentaire:

Enregistrer un commentaire