aboutsummaryrefslogtreecommitdiff
path: root/client/scripts
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2024-06-22 21:58:12 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-23 19:30:15 +0200
commitd14e5c8a7cf6eec2bf764a3eb347492dae0357f1 (patch)
tree8a5a65f7f17d45082e0e5f26e1ea44f7e66bbebf /client/scripts
parente468cf085e0b23b3c5b359a672fccc6b8b7d4fc2 (diff)
downloadhurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar
hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar.bz2
hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar.zst
interact
Diffstat (limited to 'client/scripts')
-rw-r--r--client/scripts/controllable_player.gd11
-rw-r--r--client/scripts/game.gd3
-rw-r--r--client/scripts/multiplayer.gd2
3 files changed, 12 insertions, 4 deletions
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd
index d0852846..debb86dd 100644
--- a/client/scripts/controllable_player.gd
+++ b/client/scripts/controllable_player.gd
@@ -23,7 +23,7 @@ func _process(delta):
update(delta, input)
position_anim = position_
rotation_anim = rotation_
- mark_interact_target()
+ interact()
super(delta)
func update(dt: float, input: Vector2):
@@ -68,12 +68,19 @@ func aabb_point_distance(min: Vector2, max: Vector2, p: Vector2) -> float:
func update_position(_new_position: Vector2, _new_rotation: float):
pass
-func mark_interact_target():
+func interact():
var target = Vector2i(
int(floor(position.x + sin(rotation.y))),
int(floor(position.z + cos(rotation.y)))
)
var tile_idx = str(target)
+ if Input.is_action_just_pressed("interact"):
+ Multiplayer.send_interact(target, true)
+ if game.map.tile_by_pos.has(tile_idx):
+ var t: Floor = game.map.tile_by_pos[tile_idx]
+ t.interact()
+ elif Input.is_action_just_released("interact"):
+ Multiplayer.send_interact(target, false)
if game.map.tile_by_pos.has(tile_idx):
var t: Floor = game.map.tile_by_pos[tile_idx]
game.marker.visible = true
diff --git a/client/scripts/game.gd b/client/scripts/game.gd
index f363c894..86277b3f 100644
--- a/client/scripts/game.gd
+++ b/client/scripts/game.gd
@@ -31,8 +31,9 @@ func _ready():
)
Multiplayer.connect("remove_player", func(id: int):
- var player = players.get(id)
+ var player: Player = players.get(id)
if player != null:
+ player.hand.queue_free()
players.erase(id)
player.queue_free()
)
diff --git a/client/scripts/multiplayer.gd b/client/scripts/multiplayer.gd
index 4e05fad5..7032b216 100644
--- a/client/scripts/multiplayer.gd
+++ b/client/scripts/multiplayer.gd
@@ -137,7 +137,7 @@ func send_position(pos: Vector2, rotation: float):
"rot": rotation
})
-func send_interact(pos: Vector2, edge: bool):
+func send_interact(pos: Vector2i, edge: bool):
send_packet({
"type": "interact",
"pos": [pos.x, pos.y],