From 9cb13d134b10723d253ff8affa2d50778d105db5 Mon Sep 17 00:00:00 2001 From: tpart Date: Sun, 28 Sep 2025 15:21:44 +0200 Subject: Turn off oven light when closed (Closes #419) --- client/map/auto_setup/light_setup.gd | 24 +++++++++------------ client/map/auto_setup/sky_light_setup.gd | 31 ++++++++++++++++++++++++++++ client/map/auto_setup/sky_light_setup.gd.uid | 1 + 3 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 client/map/auto_setup/sky_light_setup.gd create mode 100644 client/map/auto_setup/sky_light_setup.gd.uid (limited to 'client/map/auto_setup') diff --git a/client/map/auto_setup/light_setup.gd b/client/map/auto_setup/light_setup.gd index aeeefb3f..0d71f54b 100644 --- a/client/map/auto_setup/light_setup.gd +++ b/client/map/auto_setup/light_setup.gd @@ -17,22 +17,18 @@ extends Light3D class_name LightSetup @export var completely_disable_light_if_shadows_disabled := false +var shadows_enabled: bool func _ready(): Settings.hook_changed_init("graphics.shadows", "main", apply_settings) -func apply_settings(setting: bool): - if completely_disable_light_if_shadows_disabled: - visible = setting - shadow_enabled = setting +func set_visible_(val: bool): + if completely_disable_light_if_shadows_disabled and not shadows_enabled: + return + visible = val -func set_sky(sky_name: String): - match sky_name: - "day": - light_color = Color.WHITE - light_energy = 1. - "night": - light_color = Color("427a9a") - light_energy = 0.4 - _: - push_error("Can not set up light: Unsupported sky name \"%s\"" % sky_name) +func apply_settings(setting: bool): + shadows_enabled = setting + if completely_disable_light_if_shadows_disabled and not shadows_enabled: + visible = false + shadow_enabled = shadows_enabled diff --git a/client/map/auto_setup/sky_light_setup.gd b/client/map/auto_setup/sky_light_setup.gd new file mode 100644 index 00000000..cb59fbf1 --- /dev/null +++ b/client/map/auto_setup/sky_light_setup.gd @@ -0,0 +1,31 @@ +# Hurry Curry! - a game about cooking +# Copyright (C) 2025 Hurry Curry! contributors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +extends LightSetup +class_name SkyLightSetup + +func _ready(): + super() + +func set_sky(sky_name: String): + match sky_name: + "day": + light_color = Color.WHITE + light_energy = 1. + "night": + light_color = Color("427a9a") + light_energy = 0.4 + _: + push_error("Can not set up light: Unsupported sky name \"%s\"" % sky_name) diff --git a/client/map/auto_setup/sky_light_setup.gd.uid b/client/map/auto_setup/sky_light_setup.gd.uid new file mode 100644 index 00000000..79355f7a --- /dev/null +++ b/client/map/auto_setup/sky_light_setup.gd.uid @@ -0,0 +1 @@ +uid://b8qayruwj51jc -- cgit v1.2.3-70-g09d2