From db34682cf908b77cfd8ff3bf560d9f9988a9e296 Mon Sep 17 00:00:00 2001 From: gotfishmakesticks <80163046+gotfishmakesticks@users.noreply.github.com> Date: Sat, 13 Jan 2024 15:24:04 +0300 Subject: [PATCH] Background color + Modules Save/Load WIP --- scenes/menus/BaseMenu.tscn | 1 + scripts/Space.gd | 25 +++++++++++-------------- scripts/game.gd | 6 +++++- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/scenes/menus/BaseMenu.tscn b/scenes/menus/BaseMenu.tscn index e08ef68..33473d6 100644 --- a/scenes/menus/BaseMenu.tscn +++ b/scenes/menus/BaseMenu.tscn @@ -296,6 +296,7 @@ offset_bottom = 511.0 text = "Accept quest" [node name="EquipmentMenu" type="NinePatchRect" parent="."] +visible = false layout_mode = 0 offset_left = 320.0 offset_top = 40.0 diff --git a/scripts/Space.gd b/scripts/Space.gd index a3c555a..39a29b1 100644 --- a/scripts/Space.gd +++ b/scripts/Space.gd @@ -1,15 +1,10 @@ extends Node2D var can_target = [] -var weapon_dict = { - "SingleRocketMk1" : "res://scenes/weapons/presets/SingleRocketMk1.tscn", - "DoubleLaserMk1" : "res://scenes/weapons/presets/DoubleLaserMk1.tscn", - "SingleLaserMk1" : "res://scenes/weapons/presets/SingleLaserMk1.tscn" -} -var bought_weapon : Dictionary = weapon_dict.duplicate() var color_player var color_base var color_enemy +var color_background @export var map_width = 8192 @export var map_height = 8192 @onready var ship = $MainShip @@ -21,9 +16,6 @@ signal scene_ready func _ready(): randomize() recolor() - for key in bought_weapon: - bought_weapon[key] = false - bought_weapon["SingleLaserMk1"] = true ship.camera.limit_left = -map_width/2.0 ship.camera.limit_right = map_width/2.0 ship.camera.limit_top = -map_height/2.0 @@ -38,12 +30,16 @@ func _ready(): ship.hull.fuel = save['fuel'] ship.hull.ammunition = save['ammo'] ship.hull.cargo = save['cargo'] + ship.hulls = save['hulls'] as Array[String] + ship.engines = save['engines'] as Array[String] + ship.shields = save['shields'] as Array[String] + ship.weapons = save['weapons'] as Array[String] if save.has('ship_equipment'): - var hull = Game.get_module(save['ship_equipment']['hull'], 'hull').instantiate() - var engine = Game.get_module(save['ship_equipment']['hull'], 'engine').instantiate() - var shield = Game.get_module(save['ship_equipment']['hull'], 'shield').instantiate() - var primary_weapon = Game.get_weapon(save['ship_equipment']['primary_weapon']).instantiate() - var secondary_weapon = Game.get_weapon(save['ship_equipment']['secondary_weapon']).instantiate() + var hull = save['ship_equipment']['hull'] + var engine = save['ship_equipment']['engine'] + var shield = save['ship_equipment']['shield'] + var primary_weapon = save['ship_equipment']['primary_weapon'] + var secondary_weapon = save['ship_equipment']['secondary_weapon'] ship.change_hull(hull) ship.change_engine(engine) ship.change_shield(shield) @@ -94,6 +90,7 @@ func recolor(): color_player = Color.from_hsv(randf(), randf_range(0.8, 1), randf_range(0.8, 1)) color_base = Color.from_hsv(randf(), randf_range(0.8, 1), randf_range(0.8, 1)) color_enemy = Color.from_hsv(randf(), randf_range(0.8, 1), randf_range(0.8, 1)) + color_background = Color.from_hsv(randf(), randf_range(0.1765, 1), randf_range(0.0392, 0.0862)) ship.modulate = color_player bases.modulate = color_base enemy_faction.modulate = color_enemy diff --git a/scripts/game.gd b/scripts/game.gd index 40bd69c..b2d2770 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -32,7 +32,11 @@ static func profile_save(scene : Node) -> void: "hp" : scene.ship.hull.hp, "fuel" : scene.ship.hull.fuel, "money" : scene.ship.money, - "cargo" : scene.ship.hull.cargo + "cargo" : scene.ship.hull.cargo, + "hulls" : scene.ship.hulls, + "engines" : scene.ship.engines, + "shields" : scene.ship.shields, + "weapons" : scene.ship.weapons } if !scene.ship.quest.new or scene.ship.quest_completed: profile.profile_meta['game']['quest'] = {