44 lines
1.0 KiB
GDScript
44 lines
1.0 KiB
GDScript
@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
|