Files
seeding-planets/entities/player/scripts/player_data.gd
Zacharie Guet 7ae362a3a5 Encore du dev pour la béta 1
* Suppression de la mutation éphémère
* Ajout des modificateur de régions normaux Sableux et Toxique
* Ajout de modificateurs challenge (Rocheux, Radioactif et Contaminé)
* Ajout du modificateur de région bénéfique Résonnance
* Ajout d'un distributeur toutes les 3 régions
* Ajout des régions challenge
* Bouclage sur les couleurs des mutations après le niveau 4
* Ajout de deux nouveaux panneaux de tutoriel, un sur les informations de plantes et l'autre sur le vaisseau
2026-04-17 17:32:58 +02:00

42 lines
1.2 KiB
GDScript

extends Resource
class_name PlayerData
signal updated(player_data : PlayerData)
const DEFAULT_MAX_ENERGY = 3
const DEFAULT_INVENTORY_SIZE = 3
@export var max_energy : int = DEFAULT_MAX_ENERGY
@export var energy : int = DEFAULT_MAX_ENERGY :
set(v):
energy = v
updated.emit(self)
@export var inventory := Inventory.new(DEFAULT_INVENTORY_SIZE)
func get_artefacts() -> Array[Artefact]:
if GameInfo and GameInfo.game_data and GameInfo.game_data.current_run:
return GameInfo.game_data.current_run.artefacts
return []
func update_with_artefacts(artefacts : Array[Artefact]):
inventory.seeds_size = calculate_inventory_size(artefacts)
max_energy = calculate_max_energy(artefacts)
updated.emit()
func calculate_max_energy(artefacts : Array[Artefact]) -> int:
var v = DEFAULT_MAX_ENERGY
for a in artefacts:
v = a.modify_player_max_energy(v)
return v
func calculate_inventory_size(artefacts : Array[Artefact]) -> int:
var v = DEFAULT_INVENTORY_SIZE
for a in artefacts:
v = a.modify_player_inventory_size(v)
return v
func clear_inventory():
inventory = Inventory.new(DEFAULT_INVENTORY_SIZE)