An open API service indexing awesome lists of open source software.

https://github.com/chickensoft-games/supernodes

Supercharge your Godot nodes with power-ups and third party source generators.
https://github.com/chickensoft-games/supernodes

generator godot mixins

Last synced: 3 months ago
JSON representation

Supercharge your Godot nodes with power-ups and third party source generators.

Awesome Lists containing this project

README

          

# 🔮 SuperNodes

[![Chickensoft Badge][chickensoft-badge]][chickensoft-website] [![Discord][discord-badge]][discord] [![Read the docs][read-the-docs-badge]][docs] ![line coverage][line-coverage] ![branch coverage][branch-coverage]

SuperNodes is a C# source generator that gives superpowers to Godot node scripts.

---


SuperNodes Logo

*Supercharge your Godot nodes with lifecycle-aware mixins, third party source generators, script introspection, and dynamic property manipulation — all without runtime reflection!*

---

## 📖 [Documentation][docs]

SuperNodes can do a LOT — [check out the official documentation][docs] for usage details.

- ✅ Apply PowerUps (essentially mixins for C#) to any class or record.
- ✅ PowerUps applied to a `GodotObject` or Godot `Node` can hook into the node's lifecycle, observing events and running code before user script callbacks.
- ✅ Use third-party source generators alongside Godot's official source generators.
- ✅ Get and set the value of script properties and fields at runtime, without using reflection.
- ✅ Examine the attributes and types of script properties and fields at runtime, without using reflection.
- ✅ Inspect SuperNodes across assemblies using the shared runtime types.
- ✅ Compatible with source-only nuget packages.
- ✅ Inspect SuperNodes across assemblies using the shared runtime types.
- ✅ 100% code coverage. Contact us in Discord if you find a problem!

[chickensoft-badge]: https://raw.githubusercontent.com/chickensoft-games/chickensoft_site/main/static/img/badges/chickensoft_badge.svg
[chickensoft-website]: https://chickensoft.games
[discord]: https://discord.gg/gSjaPgMmYW
[discord-badge]: https://raw.githubusercontent.com/chickensoft-games/chickensoft_site/main/static/img/badges/discord_badge.svg
[read-the-docs-badge]: https://raw.githubusercontent.com/chickensoft-games/chickensoft_site/main/static/img/badges/read_the_docs_badge.svg
[docs]: https://chickensoft.games/docs/super_nodes
[line-coverage]: https://raw.githubusercontent.com/chickensoft-games/SuperNodes/main/SuperNodes.Tests/reports/line_coverage.svg
[branch-coverage]: https://raw.githubusercontent.com/chickensoft-games/SuperNodes/main/SuperNodes.Tests/reports/branch_coverage.svg