Added function to access textures
parent
deb896bf17
commit
a4ee7cc336
File diff suppressed because one or more lines are too long
|
@ -107,3 +107,4 @@ key_6={
|
||||||
textures/canvas_textures/default_texture_filter=0
|
textures/canvas_textures/default_texture_filter=0
|
||||||
renderer/rendering_method="gl_compatibility"
|
renderer/rendering_method="gl_compatibility"
|
||||||
renderer/rendering_method.mobile="gl_compatibility"
|
renderer/rendering_method.mobile="gl_compatibility"
|
||||||
|
environment/defaults/default_clear_color=Color(0.356863, 0.431373, 0.882353, 1)
|
||||||
|
|
|
@ -7,8 +7,8 @@ extends Camera2D
|
||||||
@export var max_speed: float = 500.0
|
@export var max_speed: float = 500.0
|
||||||
@export var inner_border_threshold: float = 60.0
|
@export var inner_border_threshold: float = 60.0
|
||||||
@export var outer_border_threshold: float = 40.0
|
@export var outer_border_threshold: float = 40.0
|
||||||
@export var min_position: Vector2 = Vector2(-1000, -1000)
|
@export var min_position: Vector2 = Vector2(0, 0)
|
||||||
@export var max_position: Vector2 = Vector2(4000, 4000)
|
@export var max_position: Vector2 = Vector2(1375, 660)
|
||||||
|
|
||||||
var velocity: Vector2 = Vector2.ZERO
|
var velocity: Vector2 = Vector2.ZERO
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
class_name GameManager
|
class_name GameManager
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
var tilemap_types: TileMapTileTypes = TileMapTileTypes.new()
|
||||||
|
|
||||||
@onready var world: World = $Tileset
|
@onready var world: World = $Tileset
|
||||||
@onready var player: PlayerManager = $PlayerManager
|
@onready var player: PlayerManager = $PlayerManager
|
||||||
@onready var camera: CameraController = $Camera2D as CameraController
|
@onready var camera: CameraController = $Camera2D as CameraController
|
||||||
|
@ -14,69 +16,72 @@ var tilemap_navigation: TilemapNavigation = TilemapNavigation.new()
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
tilemap_navigation.world = world
|
tilemap_navigation.world = world
|
||||||
tilemap_navigation.player = player
|
tilemap_navigation.player = player
|
||||||
player.game_manager = self
|
player.game_manager = self
|
||||||
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
|
health_bar.value = player.max_health
|
||||||
food_bar.value = player.max_food
|
food_bar.value = player.max_food
|
||||||
temperature_bar.value = player.temperature_endure
|
temperature_bar.value = player.temperature_endure
|
||||||
update_bars()
|
update_bars()
|
||||||
|
$Camera2D/CanvasLayer/VBoxContainer/TextureRect.texture = world.tilemap_interactive.get_cell_texture(tilemap_types.OBJECT_I_BOAT_PART_CHEST)
|
||||||
|
|
||||||
|
|
||||||
# game_ticker.start()
|
# game_ticker.start()
|
||||||
|
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if Input.is_action_just_pressed("key_1"):
|
if Input.is_action_just_pressed("key_1"):
|
||||||
camera.go_to_zooming(Vector2(517.469787597656, 289.846008300781), 1.771561)
|
camera.go_to_zooming(Vector2(517.469787597656, 289.846008300781), 1.771561)
|
||||||
if Input.is_action_just_pressed("key_2"):
|
if Input.is_action_just_pressed("key_2"):
|
||||||
camera.go_to_zooming(Vector2(789.883972167969, 450.102813720703), 0.56015348434448)
|
camera.go_to_zooming(Vector2(789.883972167969, 450.102813720703), 0.56015348434448)
|
||||||
if Input.is_action_just_pressed("key_9"):
|
if Input.is_action_just_pressed("key_9"):
|
||||||
world.camp_manager.campfire_light()
|
world.camp_manager.campfire_light()
|
||||||
world.camp_manager.sleep_effect()
|
world.camp_manager.sleep_effect()
|
||||||
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"):
|
if Input.is_action_just_pressed("key_6"):
|
||||||
toggle_temperature_layer()
|
toggle_temperature_layer()
|
||||||
|
|
||||||
|
|
||||||
func player_health_depleted():
|
func player_health_depleted():
|
||||||
# TODO
|
# TODO
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func _on_game_tick_timeout() -> void:
|
func _on_game_tick_timeout() -> void:
|
||||||
var timer_on_game_tick_timeout: PerformanceTimer = PerformanceTimer.new()
|
var timer_on_game_tick_timeout: PerformanceTimer = PerformanceTimer.new()
|
||||||
timer_on_game_tick_timeout.display_name = "game tick duration"
|
timer_on_game_tick_timeout.display_name = "game tick duration"
|
||||||
tilemap_navigation.game_tick_start()
|
tilemap_navigation.game_tick_start()
|
||||||
world.step_visualizer.game_tick_start()
|
world.step_visualizer.game_tick_start()
|
||||||
player.game_tick()
|
player.game_tick()
|
||||||
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()
|
update_bars()
|
||||||
|
|
||||||
|
|
||||||
func update_bars() -> void:
|
func update_bars() -> void:
|
||||||
if health_bar != null:
|
if health_bar != null:
|
||||||
health_bar.max_value = player.max_health
|
health_bar.max_value = player.max_health
|
||||||
health_bar.value = clamp(player.health, 0, player.max_health)
|
health_bar.value = clamp(player.health, 0, player.max_health)
|
||||||
|
|
||||||
if food_bar != null:
|
if food_bar != null:
|
||||||
food_bar.max_value = player.max_food
|
food_bar.max_value = player.max_food
|
||||||
food_bar.value = clamp(player.food, 0, 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)
|
||||||
|
|
||||||
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:
|
func toggle_temperature_layer() -> void:
|
||||||
if temperature_layer != null:
|
if temperature_layer != null:
|
||||||
temperature_layer.visible = not temperature_layer.visible
|
temperature_layer.visible = not temperature_layer.visible
|
||||||
print("TemperatureLayer visibility:", temperature_layer.visible)
|
print("TemperatureLayer visibility:", temperature_layer.visible)
|
||||||
else:
|
else:
|
||||||
print("TemperatureLayer is null!")
|
print("TemperatureLayer is null!")
|
||||||
|
|
|
@ -99,3 +99,11 @@ func fill_ellipse(center: Vector2i, radius_x: int, radius_y: int, atlas_coords:
|
||||||
for y in range(center.y - radius_y, center.y + radius_y + 1):
|
for y in range(center.y - radius_y, center.y + radius_y + 1):
|
||||||
if (pow(x - center.x, 2) / pow(radius_x, 2) + pow(y - center.y, 2) / pow(radius_y, 2)) <= 1:
|
if (pow(x - center.x, 2) / pow(radius_x, 2) + pow(y - center.y, 2) / pow(radius_y, 2)) <= 1:
|
||||||
tilemap.set_cell(Vector2i(x, y), sid, atlas_coords)
|
tilemap.set_cell(Vector2i(x, y), sid, atlas_coords)
|
||||||
|
|
||||||
|
|
||||||
|
func get_cell_texture(coord: Vector2i) -> Texture:
|
||||||
|
var source: TileSetAtlasSource = tilemap.tile_set.get_source(sid) as TileSetAtlasSource
|
||||||
|
var rect: Rect2i = source.get_tile_texture_region(coord)
|
||||||
|
var image: Image = source.texture.get_image()
|
||||||
|
var tile_image: Image = image.get_region(rect)
|
||||||
|
return ImageTexture.create_from_image(tile_image)
|
||||||
|
|
Loading…
Reference in New Issue