FiniteStateMachine icon indicating copy to clipboard operation
FiniteStateMachine copied to clipboard

Folder complexity for the FSM

Open salvob41 opened this issue 6 years ago • 4 comments

The FSM folder tree is a bit overcomplicated. In order to access the script code of a state you need the following path FSM/States/NameState same for a transition FSM/Transitions/NameTransition
Often the only elements you need is the script (and nothing else, maybe the .tscn).

What if all the states files could stay in the States folder instead having also a folder called like the NameState ?

salvob41 avatar May 16 '18 20:05 salvob41

Hello, I don't think I will change the default behavior it's there for a reason. I made the plugin mostly as an internal tool for our studio and the structure seems to work well for us. I usually prefer more 'clean' but +1 deep structure since it's more readable. It's especially visible when your state/transition is using additional sub-scenes/other files internally. I'm not saying however the behavior will never change or that I will not give an option to modify that. Thanks to some bugfixes in 3.1 I will be able to add a 'configuration window' to the plugin, it might be a good idea to put an option there.

kubecz3k avatar May 17 '18 08:05 kubecz3k

Further more I need to say I'm always creating an additional folder anytime when I'm creating a new scene. In bigger projects you never can be sure how much any given scene will develop in the future and this principle saved me an headache more than once. (What I mean -> when the scene is growing into pile of mess that is hard to maintain it's at least doing that inside it's own playground)

kubecz3k avatar May 17 '18 08:05 kubecz3k

Thank you for the insight :)

salvob41 avatar May 17 '18 11:05 salvob41

also sorry if i'm not fixing bugs or replying on the time. I'm in small production hell for last couple of months. But you can be quite sure the plugin will be always in 'usable' state since we are using it in our production. But also for me this piece of code mostly should help 'get things done' it dont need to be super beautiful or solve each edge case 'with elegant feature for such occasion' :P However there is a lot of stuff that you can do with this plugin in many different ways with some workarounds (if needed).

kubecz3k avatar May 17 '18 14:05 kubecz3k