godot-extended-libraries / godot-next

Godot Node Extensions - Basic Node Extensions for Godot Engine
MIT License
957 stars 61 forks source link

There is no initialize button #65

Open Shadowblitz16 opened 4 years ago

Shadowblitz16 commented 4 years ago

I came here from this video

however there is no initialize button like in the video and I get a error when I click on the base type box image

I am using godot 3.2.1 btw

Shadowblitz16 commented 4 years ago

also when adding the behavor.gd script to the base type I get this.. image

maybe it would be a good idea to remove the set and basetype fields in the inspector and just have them initialize on being added to the scene.

willnationsdev commented 4 years ago

Hm, ok. I'll have to look into why that's happening. Thanks for letting me know.

And yeah, I think increasing the usability by having the CallbackDelegator and Behavior have a more explicit relationship that is just overrideable might be a good idea. I mean, I want users to be able to create and use their own base Behavior class, but that doesn't mean we can't make things easier for new users.

Shadowblitz16 commented 4 years ago

ok cool another thing I would like to see would be allowing existing nodes like sprite or kinematic body to be able to use behaviors.

I don't really see how the current system can work due to godot forcing people to have a certain hierarchy.

willnationsdev commented 4 years ago

I would like to see would be allowing existing nodes like sprite or kinematic body to be able to use behaviors.

This is fundamentally impossible without changing the core of Godot Engine's entire Object-Script relationship. That will probably never happen, and I certainly have no intention of maintaining a hard fork of Godot.

I don't really see how the current system can work due to godot forcing people to have a certain hierarchy.

Well, you can still use it the same way you would use any has-a relationship in programming, so I'm not quite sure what you mean. You can't use CallbackDelegator/Behavior as a replacement for a Spatial or Node2D as a root node or something, but if you have utility / game logic in your application that you want to attach to a node tree, it may be good option for that use case over simply attaching many child nodes to provide those same utilities.