58 lines
1.3 KiB
GDScript
58 lines
1.3 KiB
GDScript
extends Resource
|
|
class_name GameData
|
|
|
|
signal current_region_data_updated(p : RegionData)
|
|
|
|
@export var current_run : RunData = null
|
|
|
|
@export var current_region_data : RegionData = null
|
|
|
|
@export var player_data : PlayerData = PlayerData.new()
|
|
|
|
@export var max_mutations_by_plant : int = 2
|
|
|
|
@export var last_game_scene : Scene = null
|
|
|
|
@export var ship_in_space = false
|
|
|
|
@export var tutorial_done = false
|
|
|
|
@export var incubator_used = []
|
|
|
|
@export var dialogs_done : Array[String] = [] #Chemin des dialogues démarrés
|
|
|
|
func start_run():
|
|
player_data.inventory.clear_items()
|
|
current_run = RunData.new()
|
|
current_run.current_run_point_changed.connect(
|
|
func(rp : RunPoint):
|
|
start_region(rp.region_parameter)
|
|
)
|
|
|
|
func reset_player():
|
|
player_data = PlayerData.new()
|
|
|
|
func reset_all():
|
|
start_run()
|
|
reset_player()
|
|
|
|
func start_region(region_param : RegionParameter):
|
|
current_region_data = RegionData.new(region_param)
|
|
current_region_data_updated.emit(current_region_data)
|
|
GameInfo.save_game_data()
|
|
|
|
func give_up():
|
|
current_region_data = null
|
|
current_run = null
|
|
|
|
func start_tutorial():
|
|
current_region_data = RegionData.new(
|
|
RegionParameter.new(
|
|
10,
|
|
3,
|
|
tr("TUTORIAL"),
|
|
["tutorial"],
|
|
0,
|
|
randi()
|
|
)
|
|
) |