update
This commit is contained in:
42
scripts/game_state.gd
Normal file
42
scripts/game_state.gd
Normal file
@@ -0,0 +1,42 @@
|
||||
extends Node
|
||||
|
||||
var player_health: float = -1.0
|
||||
var player_max_health: float = -1.0
|
||||
var player_shield: float = -1.0
|
||||
var player_max_shield: float = -1.0
|
||||
var player_role: int = 1
|
||||
var portal_position: Vector3 = Vector3.ZERO
|
||||
var returning_from_dungeon := false
|
||||
var dungeon_cleared := false
|
||||
|
||||
func save_player(player: Node) -> void:
|
||||
var health: Node = player.get_node("Health")
|
||||
var shield: Node = player.get_node("Shield")
|
||||
var role: Node = player.get_node("Role")
|
||||
player_health = health.current_health
|
||||
player_max_health = health.max_health
|
||||
player_shield = shield.current_shield
|
||||
player_max_shield = shield.max_shield
|
||||
player_role = role.current_role
|
||||
|
||||
func restore_player(player: Node) -> void:
|
||||
if player_health < 0:
|
||||
return
|
||||
var health: Node = player.get_node("Health")
|
||||
var shield: Node = player.get_node("Shield")
|
||||
var role: Node = player.get_node("Role")
|
||||
health.current_health = player_health
|
||||
shield.current_shield = player_shield
|
||||
role.set_role(player_role)
|
||||
EventBus.health_changed.emit(player, health.current_health, health.max_health)
|
||||
EventBus.shield_changed.emit(player, shield.current_shield, shield.max_shield)
|
||||
|
||||
func clear_player() -> void:
|
||||
player_health = -1.0
|
||||
player_shield = -1.0
|
||||
|
||||
func clear() -> void:
|
||||
clear_player()
|
||||
portal_position = Vector3.ZERO
|
||||
returning_from_dungeon = false
|
||||
dungeon_cleared = false
|
||||
Reference in New Issue
Block a user