Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crsolver/goduz
A GDScript library for building user interfaces with Godot Engine 4
https://github.com/crsolver/goduz
gdscript godot godot-engine godotengine gui library ui
Last synced: 3 months ago
JSON representation
A GDScript library for building user interfaces with Godot Engine 4
- Host: GitHub
- URL: https://github.com/crsolver/goduz
- Owner: crsolver
- License: mit
- Created: 2022-05-14T16:34:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-05T20:04:58.000Z (12 months ago)
- Last Synced: 2024-09-29T05:45:46.881Z (3 months ago)
- Topics: gdscript, godot, godot-engine, godotengine, gui, library, ui
- Language: GDScript
- Homepage:
- Size: 898 KB
- Stars: 133
- Watchers: 7
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![Alt text](images/goduz_logo.png?raw=true "Title")
# Goduz
Goduz is a GDScript library for building user interfaces with [Godot Engine](https://github.com/GodotEngine) 4.Inspired by React, Goduz allows to build modular applications base on components. Define
views for each state of your application and Goduz will update and render just the right control nodes when your data changes.
This library takes advantage of the already powerful control nodes of Godot.```gdscript
class_name Counter extends Componentfunc _init():
super()
state.count = 0func decrease(): state.count -= 1
func increase(): state.count += 1func view():
return\
hbox({preset="center"},[
button({text="-", on_pressed=decrease}),
label({text=str(state.count)}),
button({text="+", on_pressed=increase}),
])
```## Installation
```bash
git clone https://github.com/andresgamboaa/goduz.git
```1. Copy the goduz folder to the addons folder of your project.
2. Enable this addon within the Godot settings: Project > Project Settings > Plugins
3. Add the RootComponent node to a control node in your scene.## Examples
[Goduz Notes](https://github.com/andresgamboaa/goduz-notes)
## IMPORTANT
This library is not ready for serious projects, some parts of the code contain naive solutions and not all control nodes and cases have been tested.
* Currently working with Godot 4 beta 2.