diff options
Diffstat (limited to 'client/player')
-rw-r--r-- | client/player/chat_message.tscn | 2 | ||||
-rw-r--r-- | client/player/controllable_player.gd | 19 | ||||
-rw-r--r-- | client/player/onscreen_controls/controls.tscn | 6 | ||||
-rw-r--r-- | client/player/player.gd | 1 |
4 files changed, 15 insertions, 13 deletions
diff --git a/client/player/chat_message.tscn b/client/player/chat_message.tscn index 594e9ec1..287891d5 100644 --- a/client/player/chat_message.tscn +++ b/client/player/chat_message.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://5rcfoyuiwuya"] -[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/font-josefin-sans.woff2" id="1_3ximm"] +[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/fonts/font-josefin-sans.woff2" id="1_3ximm"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dpele"] bg_color = Color(1, 1, 1, 1) diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd index 8c907efa..3a245e1a 100644 --- a/client/player/controllable_player.gd +++ b/client/player/controllable_player.gd @@ -39,7 +39,7 @@ var current_vibration_strength := 0. var current_vibration_change := 0. var target: Vector2i = Vector2i(0, 0) -var last_interaction: Vector2i = Vector2i(0, 0) +var last_interaction = null func _ready(): vibration_timer = Timer.new() @@ -205,20 +205,23 @@ func take_item(tile: Tile): func interact(): if not is_input_enabled(): return var tile = game.map.get_tile_instance(target) - if tile != null and not last_interaction == target: - if interacting: + if tile != null: + marker.visible = true + + # clear last interaction if target has moved since + if last_interaction != null and not last_interaction == target: game.mp.send_tile_interact(game.player_id, last_interaction, false) + marker.set_interacting(false) + last_interaction = null marker.set_interactive(game.get_tile_interactive(target)) - marker.visible = true marker_target = tile.item_base.global_position - if Input.is_action_just_pressed("interact"): - interacting = true + if Input.is_action_just_pressed("interact") and last_interaction == null: last_interaction = target game.mp.send_tile_interact(game.player_id, target, true) tile.interact() marker.set_interacting(true) - elif Input.is_action_just_released("interact"): - interacting = false + if Input.is_action_just_released("interact"): + last_interaction = null game.mp.send_tile_interact(game.player_id, target, false) marker.set_interacting(false) else: diff --git a/client/player/onscreen_controls/controls.tscn b/client/player/onscreen_controls/controls.tscn index 0d09504f..a833b69f 100644 --- a/client/player/onscreen_controls/controls.tscn +++ b/client/player/onscreen_controls/controls.tscn @@ -2,9 +2,9 @@ [ext_resource type="PackedScene" uid="uid://dmr0fcamx7t56" path="res://player/onscreen_controls/virtual_joystick_scene.tscn" id="1_4k4lh"] [ext_resource type="Script" path="res://player/onscreen_controls/controls.gd" id="1_rnoki"] -[ext_resource type="Texture2D" uid="uid://bnxllatlo4clg" path="res://menu/boost.webp" id="2_i4ife"] -[ext_resource type="Texture2D" uid="uid://dcgt82qkya880" path="res://menu/interact.webp" id="3_37rne"] -[ext_resource type="Texture2D" uid="uid://qto5rj6wlaeb" path="res://menu/pause.webp" id="5_4bttq"] +[ext_resource type="Texture2D" uid="uid://bnxllatlo4clg" path="res://menu/icons/boost.webp" id="2_i4ife"] +[ext_resource type="Texture2D" uid="uid://dcgt82qkya880" path="res://menu/icons/interact.webp" id="3_37rne"] +[ext_resource type="Texture2D" uid="uid://qto5rj6wlaeb" path="res://menu/icons/pause.webp" id="5_4bttq"] [node name="UI" type="CanvasLayer"] script = ExtResource("1_rnoki") diff --git a/client/player/player.gd b/client/player/player.gd index 1ca7a37f..f90b2b1b 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -28,7 +28,6 @@ var position_ = Vector2(0, 0) var position_anim = Vector2(0, 0) var boosting := false var walking := false -var interacting := false var username: String var movement_base: Node3D = Node3D.new() |