Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
Easy dataclasses with helpful features for Godot Engine.(similar to Python's dataclasses)Features- Customization options- Create object from Dictionary- Serialize to Dictionary- Better printing of objectExamples, Customization and Docshttps://github.com/3ddelano/dataclasses-godot
Dataclasses Godot Plugin
(Get it from Godot Asset Library - Dataclasses on AssetLibrary)
Easy to use dataclasses with helpful features
(similar to Python's dataclasses)
Features
- Customization options
- Create object from Dictionary
- Serialize to Dictionary
- Better printing of object
Installation
From Asset Library
Search for "Dataclasses" in the
AssetLib
tab in Godot and click Download. Once it has downloaded click Install. In the popup that opens, click Install again. (You dont need to enable the plugin in ProjectSettings)Manual Installation
Copy the contents of
addons/dataclasses-godot
into theaddons/
folder in the same directory as your project. (You dont need to enable the plugin in ProjectSettings)
Quick Start
# Main.gd
extends Control
class MyClass:
extends Dataclass
func _init().("MyClass"): pass
# Compulsory
var some_int: int
var some_array: Array
# Optional
var optional_dict = null
func _ready():
# Better printing of objects
var obj = MyClass.new()
obj.optional_dict = {foo = "bar"}
print(obj)
# Create object from Dictionary
print(MyClass.new().from_dict({some_int = 123456789}))
# Serialize to Dictionary
print(MyClass.new().from_dict({some_array = [1,2,3,4, 5]}).to_dict())
Documentation
Class: Dataclass
Properties
Type | Name | Defaults | Description |
---|---|---|---|
String | _name_ | "" | Name of the class to display when printing |
String | _options_ | Default values mentioned in Customization | Options to customize behaviour of the dataclass |
Methods
Returns | Definition | Description |
---|---|---|
self | from_dict(dict: Dictionary) | Create object from Dictionary |
Dictionary | to_dict() | Serialize object to Dictionary |
Customization
sort_keys: true
Whether to sort properties when printing
include_null_in_dict: true
Whether to include properties with null values in the to_dict() method
include_null_in_print: true
Whether to include properties with null values when printing
print_newline: false
Whether to print properties on newlines when printing
Customization Examples
- Print properties of the object on newline
# Main.gd class MyClass: extends Dataclass func _init().("MyClass", {print_newline = true}): pass var some_int: int var some_array: Array func _ready(): print(MyClass.new())
Run res://sample/Sample.tscn for an example
Other Projects
- Want to make Discord Bots in Godot? Use discord.gd
- Add multiplayer and stats with Epic Online Services Godot
- Show your Godot Editor in your Discord Presence using this plugin
Support the project development
Want to support in other ways? Contact me on Discord: @3ddelano#6033
For doubts / help / bugs / problems / suggestions do join: 3ddelano Cafe Discord server
Easy dataclasses with helpful features for Godot Engine.
(similar to Python's dataclasses)
Features
- Customization options
- Create object from Dictionary
- Serialize to Dictionary
- Better printing of object
Examples, Customization and Docs
https://github.com/3ddelano/dataclasses-godot
Reviews
Quick Information
Easy dataclasses with helpful features for Godot Engine.(similar to Python's dataclasses)Features- Customization options- Create object from Dictionary- Serialize to Dictionary- Better printing of objectExamples, Customization and Docshttps://github.com/3ddelano/dataclasses-godot