goostengine / goost

A general-purpose, extensible and customizable C++ extension for Godot Engine.
https://goostengine.github.io/
MIT License
481 stars 18 forks source link

Add `Spawner2D` node #165

Closed Xrayez closed 2 years ago

Xrayez commented 2 years ago

Resolves godotengine/godot-proposals#3651.

image

https://user-images.githubusercontent.com/17108460/145722750-46897545-87ea-4790-a9e4-5e1edcc35f34.mp4

Features

Note that I'm not using Timer nodes for this at all, the timer logic is custom and allows for better integration and control.

Spawner3D could be implemented similarly.

To-do

Note that not everything below need to be implemented, this is rather a list of ideas.

Example project

https://github.com/goostengine/goost-examples/tree/gd3/2d/spawner

Xrayez commented 2 years ago

The core implementation is good enough I think, so lets merge this...

See https://github.com/godotengine/godot-proposals/issues/3651#issuecomment-994781604, I think it makes sense to introduce SpawnMaterial in order to make this node more useful.