diff options
Diffstat (limited to 'client/scripts/player.gd')
-rw-r--r-- | client/scripts/player.gd | 20 |
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 |