{"repo":"TheWalruzz/godot-sx","free":true,"listed":false,"github":"https://github.com/TheWalruzz/godot-sx","clone":"git clone https://github.com/TheWalruzz/godot-sx.git","description":"Signal Extensions for Godot 4","language":"GDScript","stars":101,"topics":["godot","godot-engine","godot-engine-4","gdscript","rx"],"license":"MIT","category":"game-templates","readme_excerpt":"GodotSx - Signal Extensions for Godot 4 Have you ever wanted to do more things with Godot's signals? Maybe merge them or filter them Rx-style? Then Signal Extensions (or Sx for short) are for you. This simple and lightweight library allows you to do basic operations on regular Signals and treat them like reactive-ish streams. DISCLAIMER: This addon is NOT an Rx implementation. Therefore, it does not, nor will it ever, implement all the functionality and operators of Rx. If you need a proper Rx implementation for Godot 4, see this excellent project: GodotRx that Sx is largely inspired by. Motivation The main goal of this library is to allow for more advanced signal handling in Godot. Godot's built-in signal system is robust, but could really profit from reactive approach, which works pretty well with games. Especially when a lot of components interact with each other. Those kind of manipulations could be done by an Rx framework (like GodotRx mentioned above), but this means including a package, that due to the sheer scale of mechanisms needed for pure Rx to work, is really big and bloated for use cases you might actually encounter in your code. Instead of including a big and complex Rx solution, why not extend the existing mechanism? Sx allows for signal manipulation that feels like Rx, without all the overhead. Installation Copy addons/signal extensions directory to the /addons/ directory in your project Enable SignalExtensions plugin in Project Settings - Plugins You're done","default_branch":null,"files":null,"tree":[],"storefront":"/r/TheWalruzz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/TheWalruzz/godot-sx/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}