aboutsummaryrefslogtreecommitdiff
path: root/client/scripts/player.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/scripts/player.gd')
-rw-r--r--client/scripts/player.gd20
1 files changed, 13 insertions, 7 deletions
diff --git a/client/scripts/player.gd b/client/scripts/player.gd
index 6e07c3aa..a304fe29 100644
--- a/client/scripts/player.gd
+++ b/client/scripts/player.gd
@@ -21,7 +21,7 @@ func update_position(new_position: Vector2, new_rotation: float):
position_ = new_position
rotation.y = new_rotation
-func take_item(tile: FullTile):
+func take_item(tile: Floor):
if hand != null:
push_error("already holding an item")
var i = tile.take_item()
@@ -29,9 +29,15 @@ func take_item(tile: FullTile):
push_error("tile is null")
hand = i
-func put_item(tile: FullTile):
- var i = hand
- if i == null:
- push_error("holding nothing")
- i = null
- tile.put_item(hand)
+func put_item(tile: Floor):
+ var i = remove_item()
+ tile.put_item(i)
+
+func _process(delta):
+ _anim_angle = fmod(_anim_angle + delta, TAU)
+ hand_base.position.y = HAND_BASE_POSITION.y + 0.05 * sin(_anim_angle * 3)
+ position_anim = lerp(position_anim, position_, delta * 10)
+ rotation_anim = lerp_angle(rotation_anim, rotation_, delta * 10)
+ position.x = position_anim.x
+ position.z = position_anim.y
+ rotation.y = rotation_anim