Move "computer" related state to the OldComputer singleton.
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
yagigreg committed 2026-10-17 23:13:48 -05:00
1 parent 5ef5874d11
commit f8eb3cb378
2 files changed
+31 -30

No files matched your search

+28 -1
View File
@@ -1,7 +1,34 @@
extends CanvasLayer
var disks_wanted = [1, 2, 3, 4]
var disks_loaded = []
var starting_integrity = 2
var total_integrity = starting_integrity + len(disks_wanted)
func _ready() -> void:
$ConsoleText.text = $ConsoleText.text % %Pharaoh.get_memory_integrity()
$ConsoleText.text = $ConsoleText.text % get_memory_integrity()
func load_disk(disk_num: int) -> bool:
if !disk_num or (disk_num in disks_loaded):
return false
disks_loaded.push_back(disk_num)
disks_wanted.remove_at(disks_wanted.find(disk_num))
print("Loaded up disk ", disk_num)
printline(
">> Loaded data disk %d (of %d). Memory integrity now at %d%%" %
[disk_num, len(disks_wanted) + len(disks_loaded), get_memory_integrity()]
)
return true
func get_next_disk_num() -> int:
return disks_wanted.front()
func get_memory_integrity():
return 100.0 / total_integrity * (starting_integrity + len(disks_loaded))
func open() -> void:
visible = true
+3 -29
View File
@@ -1,29 +1,12 @@
extends Interactable
var disks_wanted = [1, 2, 3, 4]
var disks_loaded = []
var starting_integrity = 2
var total_integrity = starting_integrity + len(disks_wanted)
func load_disk(disk_num: int) -> bool:
if !disk_num or (disk_num in disks_loaded):
return false
disks_loaded.push_back(disk_num)
disks_wanted.remove_at(disks_wanted.find(disk_num))
return true
func get_memory_integrity():
return 100.0 / total_integrity * (starting_integrity + len(disks_loaded))
func _on_interacted() -> void:
#%OldComputer.open()
%Player2D.spawn_point = global_position
var wanted_disk = disks_wanted.front()
var wanted_disk = %OldComputer.get_next_disk_num()
if %Player2D.complete_objective("sarc"):
%OldComputer.open()
%Player2D.give_objective(
@@ -32,20 +15,11 @@ func _on_interacted() -> void:
)
return
if not %Player2D.take_disk(wanted_disk):
return
if not load_disk(wanted_disk):
if not (%Player2D.take_disk(wanted_disk) and %OldComputer.load_disk(wanted_disk)):
return
%Player2D.complete_objective("disk%d" % wanted_disk)
print("Loaded up disk ", wanted_disk)
%OldComputer.printline(
">> Loaded data disk %d (of %d). Memory integrity now at %d%%" %
[wanted_disk, len(disks_wanted) + len(disks_loaded), get_memory_integrity()]
)
wanted_disk = disks_wanted.front()
wanted_disk = %OldComputer.get_next_disk_num()
if (not wanted_disk) or %Player2D.has_disk(wanted_disk):
return