Not sure if anyone actually asked this before but,
I have had some issues with this update here and there, overall I just had to change the order of some stuff and do some extra checks, but… I wanted to ask this for a long time, because no one does…? I’m not sure if it’s a stupid question that was already answered…
But, would you guys add a Signal constructor? Something like Signal.new
that allows people to just create events without requiring us to have a separate Signal library inside every single separate library we use…?
I heard that there was already one in the past, but that it was deprecated, but to this day, I have never seen anyone else talk about this except for Kampfkarren and I’m unsure if that was a mistake or if there actually was one.
It’s really annoying to have to update a bunch of models once a change like this happens,
we don’t have an actual way of making events on Roblox, the closest thing we have is RemoveEvents, but they’re extremely inconvenient. They pass all arguments as deep-copied, that’s really annoying for me and I think for a lot of people.
In my code, I have a lot of internal events that are used to decrease RunService.Heartbeat / Stepped
usage because of performance, and pretty much 99% of them are built with the fact that a event is fired always with live references to the arguments.
I had to re-write my Signal library a bunch of times at this point, I wish I didn’t actually need to depend on it.
In fact, with Deferred events, I can’t even clean-up them arguments correctly. I just clean them up on :Destroy
now. I store them inside the Signal table, and if I remove them from there after the code is :Fire
'd, then it will break, because the connections are fired afterwards.
Having a Signal class inside Roblox would be so great, it would be so easy to use, + it would mean that we could use functions that are better optimized.
Also, it’s not just “there’s no way to do it officially” but, it’s hard to find one that’s actually good, one that doesn’t use more memory then what needed, something that respects actual Lua Event behaviour, doesn’t use more CPU than needed. I have never found a single one I’m comfortable using.
The best out of the bunch I’ve seen is loleris’s one, but I don’t like how you create events and it’s really confusing to understand what’s going on + there’s no :Wait
method which I also don’t know how to add safely.