init
This commit is contained in:
58
scripts/game_data.gd
Normal file
58
scripts/game_data.gd
Normal file
@@ -0,0 +1,58 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user