2025-01-05 11:25:13 +00:00
|
|
|
@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:
|
2025-02-05 12:34:38 +00:00
|
|
|
if not texture:
|
|
|
|
texture_light.enabled = false
|
|
|
|
else:
|
|
|
|
texture_light.texture = texture
|
2025-01-05 11:25:13 +00:00
|
|
|
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
|