This adds structure and type safety to working with genotypes (as well as loci and alleles). Additionally, this enabled a relatively easy path forward to adding a much more developer-friendly editor tool.
There are still some issues with this, but those issues do not cause much instability for anyone other than developers. The known issues are:
The custom editor throws an error when the game is running and, therefore, does not load until the game is stopped
Entity-specific genotypes have to be saved as their separate resource, otherwise they will share all the same values
If you attempt to use the Godot UI to create a Genotype resource more than once per editor session, you will encounter the issues described above with sharing the same values. For now, close Godot and reopen it to remedy these issues
There was also a mild regression in the usage of locus-type names... however, they now all have a fixed, numeric ID (thanks to the enum), and we can add translation support for this now.
This adds structure and type safety to working with genotypes (as well as loci and alleles). Additionally, this enabled a relatively easy path forward to adding a much more developer-friendly editor tool.
There are still some issues with this, but those issues do not cause much instability for anyone other than developers. The known issues are:
There was also a mild regression in the usage of locus-type names... however, they now all have a fixed, numeric ID (thanks to the enum), and we can add translation support for this now.