diff options
Diffstat (limited to 'client/map/auto_setup')
-rw-r--r-- | client/map/auto_setup/light_setup.gd | 24 | ||||
-rw-r--r-- | client/map/auto_setup/sky_light_setup.gd | 31 | ||||
-rw-r--r-- | client/map/auto_setup/sky_light_setup.gd.uid | 1 |
3 files changed, 42 insertions, 14 deletions
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 <https://www.gnu.org/licenses/>. +# +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 |