Use of Non-Roblox Tool Instances#132
Conversation
Signed-off-by: MrModification <davgardner24@gmail.com>
Signed-off-by: MrModification <davgardner24@gmail.com>
|
Thanks for the PR. While I do appreciate the effort put into this, it's out of scope for Satchel. I'll be closing because I haven't heard a need to add custom tools that would justify updating the documentation or maintaining this feature. |
|
The benefit may be niche, i made the modifications to better support the flow of a game I'm working on. And thought maybe a few others would benefit too. Roblox tools have Tool.Activated, Tool.Equipped and others which are okay for basic systems. However, for modular/unified tool systems hacky solutions are required. CustomTool instances: likely the Model with attributes or just a Value with attributes, have no default Roblox implementations. That means, no user input, no animation, no replication, no state. It's very raw but very extensible. Custom: animations, config, input mapping, validation, ui hooks, state machine all without Roblox forcing unwanted behavior/interference. This approach allows custom tool systems to use Satchel and it's clean ui, instead of making a custom inventory system or fighting hacky solutions. Satchel is very clean and only a few modifications were made to support custom tools: New Functions:
Modified Functions:
New Connections:
In my opinion, it's still a very maintainable system because the core of Satchel wasn't altered it functions only as a bypass of "If statements" and allows for Attributes. I Believe this will make satchel even more favorable for advanced systems/scripters. I thank you for satchel and i will continue to use it in other projects of mine. I appreciate your time and hope you’ll reconsider supporting this feature. |
Uses :GetAttribute("")
Beneficial for developers wanting to use a system other than Roblox's default Tool
To create a new Custom Tool you need
An instance, with the following Attributes:
This allows for a tool to be very raw and scriptable instead of stripping a default tool down