35 lines
1.1 KiB
GDScript
35 lines
1.1 KiB
GDScript
extends WorldEnvironment
|
|
|
|
var dof_strength_tween : Tween = null
|
|
func _ready():
|
|
State.environment_settings_changed.connect(_on_environment_settings_update)
|
|
Scenes.scene_starting.connect(scene_starting)
|
|
Scenes.scene_finished.connect(scene_finished)
|
|
_on_environment_settings_update()
|
|
|
|
func focus_env():
|
|
if dof_strength_tween: dof_strength_tween.kill()
|
|
dof_strength_tween = create_tween()
|
|
dof_strength_tween.tween_property(camera_attributes, "dof_blur_amount", 0, 1)
|
|
await(dof_strength_tween.finished)
|
|
camera_attributes.dof_blur_near_enabled = false
|
|
|
|
func focus_object(delay: float):
|
|
if dof_strength_tween: dof_strength_tween.kill()
|
|
camera_attributes.dof_blur_near_enabled = true
|
|
dof_strength_tween = create_tween()
|
|
dof_strength_tween.tween_property(camera_attributes, "dof_blur_amount", 0.4, 1).set_delay(delay)
|
|
|
|
func scene_starting(id: int, _repeat: bool):
|
|
if id == Scenes.id.YOUTH_VOICE_TRAINING:
|
|
focus_object(10.0)
|
|
else:
|
|
focus_object(0.0)
|
|
|
|
func scene_finished(_id: int, _repeat: bool):
|
|
focus_env()
|
|
|
|
func _on_environment_settings_update():
|
|
environment.ssil_enabled = State.ssil_enable
|
|
environment.sdfgi_enabled = State.sdfgi_enable
|