@tool extends Sprite2D @export var mode: Light2D.BlendMode = Light2D.BlendMode.BLEND_MODE_ADD: set(new_val): mode = new_val if not is_node_ready(): return _setup() @export_group("Ambient Light", "ambient_light_") @export var ambient_light_scale := 1.0: set(new_val): ambient_light_scale = new_val if not is_node_ready(): return _setup() @export var ambient_light_energy := 1.0: set(new_val): ambient_light_energy = new_val if not is_node_ready(): return _setup() @export var ambient_light_color := Color8(0xff, 0xff, 0xff, 0xff): set(new_val): ambient_light_color = new_val if not is_node_ready(): return _setup() @onready var texture_light = %TexturePointLight2D as PointLight2D @onready var natural_light = %NaturalPointLight2D as PointLight2D func _ready() -> void: _setup() func _setup() -> void: texture_light.texture = texture natural_light.scale = Vector2(ambient_light_scale, ambient_light_scale) natural_light.energy = ambient_light_energy natural_light.color = ambient_light_color natural_light.blend_mode = mode