
Y
Publisher
ydipeepo
Nesinkrona
Tools
Async GDScript Coroutine Signal Await Cancellation Patterns Yield
!! IMPORTANT !! This add-on is no longer maintained by me. And continues to be maintained here: https://github.com/folt-a/godot-nesink --- I am notified here cause there is no way to delete the submitted assets.
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
Nesinkrona (for Godot 4)
An addon to enhance the awaitability of GDScript 2.0.
- It improves the readability and naturalness of code that is intermingled with signals and coroutines. (similar to Promise in JS or Task in C#).
- Fast due to simple implementation.
- Can be canceled from outside of await.
- Contains patterns that reproduce iterations with yield. (experimental)
# Multiple Async or Signal or Coroutine can be combined into a new Async
var all_async := Async.all([
Async.from(_coro), # from Async
obj.signal, # from Signal
func(): return 0 # from Coroutine
])
var result = await all_async.wait()
# or you can await it immediately.
var result = await Async.wait_all([
Async.from(_coro),
obj.signal,
func(): return 0
])
# Includes general patterns for await
Async.all()
Async.all_settled()
Async.any()
Async.race()
Async.wait_all()
Async.wait_all_settled()
Async.wait_any()
Async.wait_race()
# and support continuations and cancellations.
var another_async = async.then(func(prev_result):
return prev_result * prev_result)
var cancel := Cancel.new()
await another_async.wait(cancel)
How do I use it?
Checking demos
- Git clone then open in Godot Engine.
- (Select
demo/Demo.tscn
as Main Scene then) F5!
Add-on installation
- Git clone then copy
addons/godot-nesink
to your project. - Activate
Nesinkrona
addon. - Code!
And details: 📖 Wiki (Google Translated)
Contributing
We are grateful to the community for contributing bug fixes, documentation, translations, and any other improvements!
Original repository
This repository was transfer from ydipeepo
ありがとうございます……!