Godot 4.0
I am creating a 2D game that includes different light sources: candle, candelabra, lantern, torch, etc. Each light source is a StaticBody2D with a CollisionShape2D, a Sprite2D and a PointLight2D. They differ in their sprite texturess and in the color, intensity and range of their light.
I intend to have a variety of these objects in my game, and life would be easier for me if I could create a base light and have each type of light (Candle, Torch, Lantern) as its own independent Scene built off of this base.
If I were doing this in OOP, I'd create a base Light class and derive Candle, Lantern and Torch from it, but I'm not sure how I'd do this in Godot since each Scene is a Node tree with child Nodes instead of a class with attributes and I want to derive from the whole tree, not just one node.
I've read through the docs, but either I'm missing something or I'm just not thinking about it right because I haven't been able to puzzle out a way to do this.
I'd rather not just copy my base scene into each light scene.
Any thoughts?