summaryrefslogtreecommitdiff
path: root/client/player
diff options
context:
space:
mode:
Diffstat (limited to 'client/player')
-rw-r--r--client/player/chat_message.tscn2
-rw-r--r--client/player/controllable_player.gd19
-rw-r--r--client/player/onscreen_controls/controls.tscn6
-rw-r--r--client/player/player.gd1
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()