# 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 WorldEnvironment
class_name EnvironmentSetup

@export var allow_sdfgi := true

func set_sky(sky_name: String):
	environment.sky.sky_material = load("res://map/environment/presets/%s_sky.tres" % sky_name)

func _ready():
	Settings.hook_changed_init("graphics.ssao", self, func (x): environment.ssao_enabled = x)
	Settings.hook_changed_init("graphics.gi", self, func (x): environment.sdfgi_enabled = x == "sdfgi" and allow_sdfgi)
	Settings.hook_changed_init("graphics.glow", self, func (x): environment.glow_enabled = x)
	
	if !Global.on_vulkan():
		environment.environment.tonemap_exposure = 0.5
