commit
deb896bf17
|
@ -43,6 +43,25 @@ unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "INV"
|
text = "INV"
|
||||||
|
|
||||||
|
[node name="HealthBar" type="ProgressBar" parent="Camera2D/CanvasLayer/VBoxContainer"]
|
||||||
|
modulate = Color(0.787561, 0.0888135, 0.00437393, 1)
|
||||||
|
custom_minimum_size = Vector2(150, 15)
|
||||||
|
layout_mode = 2
|
||||||
|
show_percentage = false
|
||||||
|
|
||||||
|
[node name="FoodBar" type="ProgressBar" parent="Camera2D/CanvasLayer/VBoxContainer"]
|
||||||
|
modulate = Color(0.166826, 0.552224, 0.153144, 1)
|
||||||
|
custom_minimum_size = Vector2(0, 15)
|
||||||
|
layout_mode = 2
|
||||||
|
show_percentage = false
|
||||||
|
|
||||||
|
[node name="TemperatureBar" type="ProgressBar" parent="Camera2D/CanvasLayer/VBoxContainer"]
|
||||||
|
modulate = Color(0.0235294, 0.0392157, 1, 1)
|
||||||
|
custom_minimum_size = Vector2(0, 15)
|
||||||
|
layout_mode = 2
|
||||||
|
max_value = 50.0
|
||||||
|
show_percentage = false
|
||||||
|
|
||||||
[node name="Tileset" type="Node2D" parent="."]
|
[node name="Tileset" type="Node2D" parent="."]
|
||||||
script = ExtResource("1_k0rw8")
|
script = ExtResource("1_k0rw8")
|
||||||
|
|
||||||
|
@ -63,7 +82,7 @@ tile_map_data = PackedByteArray("AAAQAA4AAwAAAAAAAAA=")
|
||||||
tile_set = ExtResource("1_vlccq")
|
tile_set = ExtResource("1_vlccq")
|
||||||
|
|
||||||
[node name="TemperatureLayer" type="TileMapLayer" parent="Tileset"]
|
[node name="TemperatureLayer" type="TileMapLayer" parent="Tileset"]
|
||||||
tile_map_data = PackedByteArray("AAAAAAAAAgABAAAAAAA=")
|
tile_map_data = PackedByteArray("AAAAAAAAAgABAAAAAAAsAAYAAgABAAAAAAApAAYAAgABAAAAAAAqAAYAAgABAAAAAAArAAYAAgABAAAAAAAtAAYAAgABAAAAAAAuAAYAAgABAAAAAAAvAAYAAgABAAAAAAAwAAYAAgABAAAAAAAwAAcAAgABAAAAAAAvAAcAAgABAAAAAAAuAAcAAgABAAAAAAAtAAcAAgABAAAAAAAsAAcAAgABAAAAAAArAAcAAgABAAAAAAAqAAcAAgABAAAAAAAqAAgAAgABAAAAAAAqAAkAAgABAAAAAAArAAkAAgABAAAAAAAsAAkAAgABAAAAAAAtAAkAAgABAAAAAAAuAAkAAgABAAAAAAAuAAgAAgABAAAAAAAvAAgAAgABAAAAAAAwAAgAAgABAAAAAAAtAAgAAgABAAAAAAAsAAgAAgABAAAAAAArAAgAAgABAAAAAAA=")
|
||||||
tile_set = ExtResource("1_vlccq")
|
tile_set = ExtResource("1_vlccq")
|
||||||
|
|
||||||
[node name="NavigationVisualization" type="TileMapLayer" parent="Tileset"]
|
[node name="NavigationVisualization" type="TileMapLayer" parent="Tileset"]
|
||||||
|
|
|
@ -5,6 +5,10 @@ extends Node
|
||||||
@onready var player: PlayerManager = $PlayerManager
|
@onready var player: PlayerManager = $PlayerManager
|
||||||
@onready var camera: CameraController = $Camera2D as CameraController
|
@onready var camera: CameraController = $Camera2D as CameraController
|
||||||
@onready var game_ticker: Timer = $GameTick
|
@onready var game_ticker: Timer = $GameTick
|
||||||
|
@onready var health_bar: ProgressBar = $Camera2D/CanvasLayer/VBoxContainer/HealthBar
|
||||||
|
@onready var food_bar: ProgressBar = $Camera2D/CanvasLayer/VBoxContainer/FoodBar
|
||||||
|
@onready var temperature_bar: ProgressBar = $Camera2D/CanvasLayer/VBoxContainer/TemperatureBar
|
||||||
|
@onready var temperature_layer: Node2D = $Tileset/TemperatureLayer
|
||||||
|
|
||||||
var tilemap_navigation: TilemapNavigation = TilemapNavigation.new()
|
var tilemap_navigation: TilemapNavigation = TilemapNavigation.new()
|
||||||
|
|
||||||
|
@ -16,6 +20,10 @@ func _ready() -> void:
|
||||||
world.camp_manager.game_manager = self
|
world.camp_manager.game_manager = self
|
||||||
world.step_visualizer.game_manager = self
|
world.step_visualizer.game_manager = self
|
||||||
world.step_visualizer.world = world
|
world.step_visualizer.world = world
|
||||||
|
health_bar.value = player.max_health
|
||||||
|
food_bar.value = player.max_food
|
||||||
|
temperature_bar.value = player.temperature_endure
|
||||||
|
update_bars()
|
||||||
|
|
||||||
|
|
||||||
# game_ticker.start()
|
# game_ticker.start()
|
||||||
|
@ -32,6 +40,8 @@ func _process(delta: float) -> void:
|
||||||
world.camp_manager.campfire_extinguish()
|
world.camp_manager.campfire_extinguish()
|
||||||
if Input.is_action_just_pressed("force_game_tick"):
|
if Input.is_action_just_pressed("force_game_tick"):
|
||||||
_on_game_tick_timeout()
|
_on_game_tick_timeout()
|
||||||
|
if Input.is_action_just_pressed("key_6"):
|
||||||
|
toggle_temperature_layer()
|
||||||
|
|
||||||
|
|
||||||
func player_health_depleted():
|
func player_health_depleted():
|
||||||
|
@ -48,3 +58,25 @@ func _on_game_tick_timeout() -> void:
|
||||||
tilemap_navigation.game_tick_end()
|
tilemap_navigation.game_tick_end()
|
||||||
world.step_visualizer.game_tick_end()
|
world.step_visualizer.game_tick_end()
|
||||||
timer_on_game_tick_timeout.stop()
|
timer_on_game_tick_timeout.stop()
|
||||||
|
update_bars()
|
||||||
|
|
||||||
|
func update_bars() -> void:
|
||||||
|
if health_bar != null:
|
||||||
|
health_bar.max_value = player.max_health
|
||||||
|
health_bar.value = clamp(player.health, 0, player.max_health)
|
||||||
|
|
||||||
|
if food_bar != null:
|
||||||
|
food_bar.max_value = player.max_food
|
||||||
|
food_bar.value = clamp(player.food, 0, player.max_food)
|
||||||
|
|
||||||
|
if temperature_bar != null:
|
||||||
|
var temperature_value = player.temperature_endure - player.temperature_timer
|
||||||
|
temperature_bar.max_value = player.temperature_endure
|
||||||
|
temperature_bar.value = clamp(temperature_value, 0, player.temperature_endure)
|
||||||
|
|
||||||
|
func toggle_temperature_layer() -> void:
|
||||||
|
if temperature_layer != null:
|
||||||
|
temperature_layer.visible = not temperature_layer.visible
|
||||||
|
print("TemperatureLayer visibility:", temperature_layer.visible)
|
||||||
|
else:
|
||||||
|
print("TemperatureLayer is null!")
|
||||||
|
|
|
@ -3,7 +3,9 @@ extends Node
|
||||||
|
|
||||||
@onready var inventory_label: Label = %InventoryLabel
|
@onready var inventory_label: Label = %InventoryLabel
|
||||||
|
|
||||||
|
@export var max_health: int = 100
|
||||||
# food system
|
# food system
|
||||||
|
@export var max_food: int = 100
|
||||||
@export var food_damage: int = 1
|
@export var food_damage: int = 1
|
||||||
@export var food_addon_per_berry: int = 100
|
@export var food_addon_per_berry: int = 100
|
||||||
@export var food_critical_threshold: int = 50
|
@export var food_critical_threshold: int = 50
|
||||||
|
@ -26,10 +28,10 @@ var board_position: Vector2i = Vector2i(0, 0):
|
||||||
|
|
||||||
@onready var behavior_tree: BehaviorTree = $BehaviorTree
|
@onready var behavior_tree: BehaviorTree = $BehaviorTree
|
||||||
|
|
||||||
var food: int = 0
|
var food: int = max_food
|
||||||
# var water: int = 0
|
# var water: int = 0
|
||||||
var temperature_timer: int = 0
|
var temperature_timer: int = 0
|
||||||
var health: int = 0
|
var health: int = max_health
|
||||||
|
|
||||||
#
|
#
|
||||||
var inventory_slot: Vector2i = tilemap_types.EMPTY:
|
var inventory_slot: Vector2i = tilemap_types.EMPTY:
|
||||||
|
|
|
@ -10,7 +10,7 @@ func run(blackboard: Dictionary) -> void:
|
||||||
return
|
return
|
||||||
|
|
||||||
player.inventory_slot = tilemap_types.EMPTY
|
player.inventory_slot = tilemap_types.EMPTY
|
||||||
player.food += player.food_addon_per_berry
|
player.food = player.max_food
|
||||||
|
|
||||||
status = SUCCESS
|
status = SUCCESS
|
||||||
status_reason = "Ate berry, player now has " + str(player.food) + " food"
|
status_reason = "Ate berry, player now has " + str(player.food) + " food"
|
||||||
|
|
Loading…
Reference in New Issue