- 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.
52 lines
1.3 KiB
GDScript
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)
|