diff options
Diffstat (limited to 'client/map/tiles/cutting_board.gd')
-rw-r--r-- | client/map/tiles/cutting_board.gd | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/client/map/tiles/cutting_board.gd b/client/map/tiles/cutting_board.gd index 312bf129..564f4a38 100644 --- a/client/map/tiles/cutting_board.gd +++ b/client/map/tiles/cutting_board.gd @@ -18,6 +18,7 @@ extends CounterBase var board = load("res://map/tiles/cutting_board.tscn").instantiate() var chopping: AudioStreamPlayer3D = AudioStreamPlayer3D.new() +var acting_player func _init(ctx: TileFactory.TileCC): super(ctx) @@ -25,20 +26,24 @@ func _init(ctx: TileFactory.TileCC): add_child(chopping) base.add_child(board) -func progress(position_: float, speed: float, warn: bool, acting_player): +func progress(position_: float, speed: float, warn: bool, acting_player_): super(position_, speed, warn, acting_player) var knife: Node3D = board.get_node("Knife") - knife.visible = speed == 0 - - if acting_player != null: - var acting_character: Character = acting_player.character - acting_character.cutting = speed != 0 + acting_player = acting_player_ if not chopping.playing and speed != 0.: chopping.play() + if acting_player != null: + knife.visible = false + var acting_character: Character = acting_player.character + acting_character.cutting = true func finish(): super() + if is_instance_valid(acting_player): + var acting_character: Character = acting_player.character + acting_character.cutting = false + board.get_node("Knife").visible = true chopping.stop() static func interact_target() -> Vector3: |