From 50ea7e15d0a6185d9114cf9ac8337c3558334fd4 Mon Sep 17 00:00:00 2001 From: tpart Date: Sun, 23 Jun 2024 14:28:46 +0200 Subject: Add character hand animations --- client/scripts/player.gd | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'client/scripts/player.gd') diff --git a/client/scripts/player.gd b/client/scripts/player.gd index a304fe29..796a1480 100644 --- a/client/scripts/player.gd +++ b/client/scripts/player.gd @@ -11,7 +11,13 @@ var mesh = preload("res://scenes/player.tscn").instantiate() var hand: Node3D = null -func _init(id: int, new_name: String, pos: Vector2, _character: int): +var _anim_angle: float = 0.0 + +const HAND_BASE_POSITION: Vector3 = Vector3(0, .25, .4) + +@onready var character: Character = $Player/Character + +func _init(_id: int, new_name: String, pos: Vector2, _character: int, new_game: Game): add_child(mesh) position_ = pos name = new_name @@ -19,7 +25,22 @@ func _init(id: int, new_name: String, pos: Vector2, _character: int): func update_position(new_position: Vector2, new_rotation: float): position_ = new_position - rotation.y = new_rotation + rotation_ = new_rotation + +func set_item(i: Item): + i.owned_by = hand_base + if i == null: + push_error("tile is null") + hand = i + character.play_animation("hold") + +func remove_item() -> Item: + var i = hand + if i == null: + push_error("holding nothing") + hand = null + character.play_animation("idle") + return i func take_item(tile: Floor): if hand != null: -- cgit v1.2.3-70-g09d2