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:  |