class_name GameData extends Resource @export var SPEED: float = 2900.0 @export var ENGINE_SPEED: float = 1900.0 @export var fuel: float = 100 @export var fuel_max: float = 100 @export var engine_speed_modifier: float = 1.0 @export var fuel_efficiency: float = 1.0 @export var engine_maneuverability_modifier: float = 1.0 @export var cargo: Dictionary = {} @export var inventory: Dictionary = {} @export var upgrades: Array[Upgrade] = [FirstUpgrade.new()] @export var mid_module_limit: int = 0 @export var modules: Dictionary = { 0: [], 1: [], 2: [] } @export var floating_pods: Array[FloatingPodData] = [] enum ModuleType { ENGINE, MID, COCKPIT } func get_active_rocket_modules() -> Array[Module]: var _modules: Array[Module] = [] return _modules static func get_module_type_name(_type: ModuleType) -> String: return ModuleType.keys()[_type] func pickup(type: String, amount: int = 1) -> void: if not cargo.has(type): cargo[type] = 0 cargo[type] += amount func has_cargo() -> bool: var cargo_size: int = 0 for item: int in cargo.values(): cargo_size += item return cargo_size > 0 func move_cargo_to_inventory() -> void: for item: String in cargo: if not inventory.has(item): inventory[item] = 0 inventory[item] += cargo[item] func create_cargo_pod(pod_position: Vector2) -> void: if not cargo.is_empty(): var pod: FloatingPodData = FloatingPodData.new() pod.position = pod_position pod.cargo = cargo floating_pods.append(pod)