MagicNStuff/game/src/core/autoloads/shader_globals.gd
SchimmelSpreu83 1269e9a059 Some code cleanup
- Added an event when switching to another input device.
- Added InitialSetupMenu, which shows up when starting the game for the first time.
- Updated entrance hall csg.
- Added DialogBank for easier localization.
- Shaders can now be paused and time scaled.
- Added shading the edges of the beating lightbeam shader.
2026-04-20 19:18:51 +02:00

52 lines
1.3 KiB
GDScript

@tool
extends Node
var shader_time: float = 0.0
var time_scale: float = 1.0
var beat: float = 0.0: set = set_beat
var bar: float = 0.0: set = set_bar
var song_time: float = 0.0: set = set_song_time
var total_song_time: float = 0.0: set = set_total_song_time
var user_offset_ms: float = 0.0
func _notification(what: int) -> void:
if what == NOTIFICATION_EDITOR_PRE_SAVE:
# Just in case.
RenderingServer.global_shader_parameter_set(&"time", 0.0)
func _process(delta: float) -> void:
shader_time += delta * time_scale
RenderingServer.global_shader_parameter_set(&"time", shader_time)
func set_paused(value: bool) -> void:
set_process(not value)
func set_user_offset_ms(offset: float) -> void:
user_offset_ms = offset
RenderingServer.global_shader_parameter_set(&"user_offset_ms", beat)
func set_beat(_beat: float) -> void:
beat = _beat
RenderingServer.global_shader_parameter_set(&"beat", beat)
func set_bar(_bar: float) -> void:
bar = _bar
RenderingServer.global_shader_parameter_set(&"bar", bar)
func set_song_time(time: float) -> void:
song_time = time
RenderingServer.global_shader_parameter_set(&"song_time", time)
func set_total_song_time(time: float) -> void:
total_song_time = time
RenderingServer.global_shader_parameter_set(&"total_song_time", time)