Prepping cooking

This commit is contained in:
2026-01-15 17:28:39 -06:00
parent 098a9d47f9
commit 3b7de160dc
27 changed files with 151 additions and 19 deletions

32
scene/Load.gd Normal file
View File

@@ -0,0 +1,32 @@
class_name LoadSingleton extends Node
signal loadStart(scenePath:String, loadId:int)
signal loadEnd(scenePath:String, loadId:int, resource:Resource)
signal loadError(scenePath:String, loadId:int, error:String)
signal loadProgress(scenePath:String, loadId:int, progress:float)
var watchingIds:Array[int] = []
func _process(delta: float) -> void:
var wIds = watchingIds.duplicate()
for watchId in wIds:
var status = ResourceLoader.load_threaded_get_status(watchId)
if status == ResourceLoader.ThreadLoadStatus.THREAD_LOAD_LOADED:
watchingIds.erase(watchId)
var resource = ResourceLoader.load_threaded_get(watchId)
loadEnd.emit(watchId, resource)
elif status == ResourceLoader.ThreadLoadStatus.THREAD_LOAD_FAILED:
watchingIds.erase(watchId)
loadError.emit(watchId, "Error loading resource.")
elif status == ResourceLoader.ThreadLoadStatus.THREAD_LOAD_INVALID_RESOURCE:
watchingIds.erase(watchId)
loadError.emit(watchId, "Invalid Resource.")
elif status == ResourceLoader.ThreadLoadStatus.THREAD_LOAD_IN_PROGRESS:
loadProgress.emit(watchId, 0.0)
pass
func load(scenePath:String) -> int:
var loadId = ResourceLoader.load_threaded_request(scenePath)
watchingIds.append(loadId)
loadStart.emit(scenePath, loadId)
return loadId

1
scene/Load.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://dfpml5awf5i35

6
scene/Load.tscn Normal file
View File

@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://c8shl8u156rfi"]
[ext_resource type="Script" uid="uid://dfpml5awf5i35" path="res://scene/Load.gd" id="1_a3iwn"]
[node name="Load" type="Node"]
script = ExtResource("1_a3iwn")

31
scene/Pause.gd Normal file
View File

@@ -0,0 +1,31 @@
class_name PauseSingleton extends Node
# var cutscenePaused:bool = false
# func cutscenePause() -> void:
# cutscenePaused = true
# func cutsceneResume() -> void:
# cutscenePaused = false
# func isMovementPaused() -> bool:
# if cutscenePaused:
# return true
# if !UI.TEXTBOX.isClosed:
# return true
# if UI.PAUSE.isOpen():
# return true
# if OVERWORLD.isMapChanging():
# return true
# return false
# func menuPause() -> void:
# # if UI.PAUSE.isOpen():
# # UI.PAUSE.close()
# # else:
# # UI.PAUSE.open()
# pass

1
scene/Pause.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://dmm23kdp5xcx

81
scene/Transition.gd Normal file
View File

@@ -0,0 +1,81 @@
class_name TransitionSingleton extends Control
enum FadeType {
NONE,
FADE_IN,
FADE_OUT
}
signal fadeOutStart
signal fadeOutEnd
signal fadeInStart
signal fadeInEnd
signal fadeUpdate(t:float)
var fadeType:FadeType = FadeType.NONE
var fadeDuration:float = 0.4
var fadeTime:float = 0.0
var inFade = false
func _enter_tree() -> void:
$Overlay.visible = false
func _process(delta: float) -> void:
if fadeType == FadeType.NONE:
return
fadeTime += delta
var t:float = fadeTime / fadeDuration
# Get destination alpha type.
var destAlpha:float = 0.0
var srcAlpha:float
if fadeType == FadeType.FADE_IN:
srcAlpha = 1.0
destAlpha = 0.0
elif fadeType == FadeType.FADE_OUT:
srcAlpha = 0.0
destAlpha = 1.0
# End?
if t >= 1.0:
fadeUpdate.emit(1.0)
var cFade = fadeType
fadeType = FadeType.NONE
$Overlay.color.a = destAlpha
inFade = false
if cFade == FadeType.FADE_OUT:
fadeOutEnd.emit()
elif cFade == FadeType.FADE_IN:
fadeInEnd.emit()
return
# TODO: Use curves
$Overlay.color.a = srcAlpha + (destAlpha - srcAlpha) * t
fadeUpdate.emit(t)
pass
func fade(
fade:FadeType = FadeType.FADE_IN,
duration:float = 0.4,
color:Color = Color(0, 0, 0, 1),
):
if inFade:
push_error("Transition: Cannot start a new fade while another is in progress.")
return
$Overlay.visible = true
$Overlay.color = color
fadeDuration = duration
fadeTime = 0
fadeType = fade
inFade = true
if fade == FadeType.FADE_IN:
fadeInStart.emit()
$Overlay.color.a = 0
elif fade == FadeType.FADE_OUT:
fadeOutStart.emit()
$Overlay.color.a = 1

1
scene/Transition.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://iu3m73wtjlho

20
scene/Transition.tscn Normal file
View File

@@ -0,0 +1,20 @@
[gd_scene load_steps=2 format=3 uid="uid://i4ukelrrsujw"]
[ext_resource type="Script" uid="uid://iu3m73wtjlho" path="res://scene/Transition.gd" id="1_isjic"]
[node name="Transition" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_isjic")
[node name="Overlay" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2