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 % 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 func printline(line: String) -> void: open() $ConsoleText.text += "\n" + line func close() -> void: visible = false