Files
kurovadis/scripts/save.gd
T
2025-06-22 23:22:32 -06:00

55 lines
1.2 KiB
GDScript
Executable File

@tool
class_name Save
extends Resource
enum Difficulty {EASY, NORMAL, HARD}
enum Projectile {BLAST, FIRE, ICE, LASER}
@export var slot: int = 1
@export var playtime: int = 0
@export var difficulty: Difficulty = Difficulty.NORMAL
@export var max_health: int = 100
@export var xp: int = 0
@export var room: String = "labs"
@export var atk: int = 1
@export var def: int = 1
@export var con: int = 1
@export var chg: int = 1
@export var projectile: Projectile = Projectile.BLAST;
@export var fire: bool = false
@export var ice: bool = false
@export var laser: bool = false
@export var roll: bool = false
@export var wall: bool = false
@export var pound: bool = false
@export var slice: bool = false
@export var lock_1: bool = false
@export var lock_2: bool = false
@export var lock_3: bool = false
func _init(save_slot: int):
self.slot = save_slot
func save_to_disk() -> Error:
return ResourceSaver.save(self, "user://slot_%s.res" % self.slot)
static func exists(save_slot: int) -> bool:
return ResourceLoader.exists("user://slot_%s.res" % save_slot)
static func load(save_slot: int) -> Save:
if exists(save_slot):
var save_data = ResourceLoader.load("user://slot_%s.res" % save_slot)
if save_data is Save:
return save_data
return null