This repository has been archived on 2025-09-12. You can view files and clone it, but cannot push or open issues or pull requests.
ld49/game/customer/GenericCustomer.tscn

149 lines
6.2 KiB
Text

[gd_scene load_steps=21 format=2]
[ext_resource path="res://game/customer/GenericCustomer.gd" type="Script" id=1]
[ext_resource path="res://art_assets/customer/customer.gltf" type="PackedScene" id=2]
[ext_resource path="res://game/customer/CustomerClick.gd" type="Script" id=3]
[ext_resource path="res://game/customer/speech_bubble/SpatialSpeechBubble.tscn" type="PackedScene" id=4]
[ext_resource path="res://game/customer/FSM/states/idle.gd" type="Script" id=5]
[ext_resource path="res://game/customer/FSM/states/walking.gd" type="Script" id=6]
[ext_resource path="res://game/customer/FSM/fsm_manager.gd" type="Script" id=7]
[ext_resource path="res://game/customer/FSM/states/waiting_to_order.gd" type="Script" id=8]
[ext_resource path="res://game/customer/FSM/states/waiting_for_order.gd" type="Script" id=9]
[ext_resource path="res://game/customer/FSM/states/drinking.gd" type="Script" id=10]
[ext_resource path="res://game/customer/FSM/states/delivering_order_to_barista.gd" type="Script" id=11]
[ext_resource path="res://game/customer/FSM/states/picking_up_beverage.gd" type="Script" id=12]
[ext_resource path="res://game/customer/GenericCustomerAnimationTree.tres" type="AnimationNodeStateMachine" id=13]
[ext_resource path="res://game/customer/selection/CustomerSelectionView.tscn" type="PackedScene" id=14]
[ext_resource path="res://sound/sfx_angrywaitingtime_v2.ogg" type="AudioStream" id=15]
[ext_resource path="res://sound/sfx_reactionhappy_v1.ogg" type="AudioStream" id=16]
[ext_resource path="res://sound/sfx_reactiongrumpy_v1.ogg" type="AudioStream" id=17]
[sub_resource type="CapsuleShape" id=1]
radius = 0.52163
[sub_resource type="BoxShape" id=2]
extents = Vector3( 0.543002, 0.57038, 1.05343 )
[sub_resource type="AnimationNodeStateMachinePlayback" id=3]
[node name="customer" type="KinematicBody" groups=[
"customer",
]]
script = ExtResource( 1 )
grumble_min_pitch = 0.75
grumble_max_pitch = 1.5
[node name="customer" parent="." instance=ExtResource( 2 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 )
[node name="CollisionShape" type="CollisionShape" parent="."]
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.265404, 0 )
shape = SubResource( 1 )
disabled = true
[node name="MaxWaitingTime" type="Timer" parent="."]
wait_time = 200.0
one_shot = true
[node name="Selection and stuff" type="Spatial" parent="."]
script = ExtResource( 3 )
[node name="AreaUserCustomerInteraction" type="Area" parent="Selection and stuff"]
[node name="CollisionShape" type="CollisionShape" parent="Selection and stuff/AreaUserCustomerInteraction"]
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.321759, 0 )
shape = SubResource( 2 )
[node name="CustomerSelectionView" parent="Selection and stuff" instance=ExtResource( 14 )]
transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, -0.360773, 0 )
visible = false
[node name="SpeechBubble" parent="." instance=ExtResource( 4 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.68207, 0 )
[node name="AnimationTree" type="AnimationTree" parent="."]
tree_root = ExtResource( 13 )
anim_player = NodePath("../customer/AnimationPlayer")
active = true
parameters/playback = SubResource( 3 )
[node name="AnimationTimers" type="Spatial" parent="."]
[node name="PickupFoodTimer" type="Timer" parent="AnimationTimers"]
wait_time = 2.0
one_shot = true
[node name="PlaceOrderTimer" type="Timer" parent="AnimationTimers"]
wait_time = 2.0
one_shot = true
[node name="FSM" type="Node" parent="."]
script = ExtResource( 7 )
[node name="idle" type="Node" parent="FSM"]
script = ExtResource( 5 )
[node name="waiting_to_order" type="Node" parent="FSM"]
script = ExtResource( 8 )
[node name="waiting_for_order" type="Node" parent="FSM"]
script = ExtResource( 9 )
[node name="drinking" type="Node" parent="FSM"]
script = ExtResource( 10 )
[node name="MaxDrinkingTime" type="Timer" parent="FSM/drinking"]
wait_time = 10.0
one_shot = true
[node name="walking" type="Node" parent="FSM"]
script = ExtResource( 6 )
[node name="delivering_order_to_barista" type="Node" parent="FSM"]
script = ExtResource( 11 )
[node name="Timer" type="Timer" parent="FSM/delivering_order_to_barista"]
one_shot = true
[node name="picking_up_beverage" type="Node" parent="FSM"]
script = ExtResource( 12 )
[node name="Timer" type="Timer" parent="FSM/picking_up_beverage"]
wait_time = 1.5
one_shot = true
[node name="Icon" type="Spatial" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.25, 0 )
[node name="FocusTween" type="Tween" parent="."]
[node name="WaitingTimeSfx" type="AudioStreamPlayer3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
stream = ExtResource( 15 )
unit_db = 16.5
bus = "Effects"
emission_angle_degrees = 90.0
attenuation_filter_db = -21.0
[node name="HappySfx" type="AudioStreamPlayer3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
stream = ExtResource( 16 )
unit_db = 12.0
bus = "Effects"
emission_angle_degrees = 90.0
[node name="SadSfx" type="AudioStreamPlayer3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
stream = ExtResource( 17 )
unit_db = 12.0
bus = "Effects"
emission_angle_degrees = 90.0
[connection signal="timeout" from="MaxWaitingTime" to="." method="_on_MaxWaitingTime_timeout"]
[connection signal="input_event" from="Selection and stuff/AreaUserCustomerInteraction" to="Selection and stuff" method="_on_AreaUserCustomerInteraction_input_event"]
[connection signal="mouse_entered" from="Selection and stuff/AreaUserCustomerInteraction" to="Selection and stuff" method="_on_AreaUserCustomerInteraction_mouse_entered"]
[connection signal="mouse_exited" from="Selection and stuff/AreaUserCustomerInteraction" to="Selection and stuff" method="_on_AreaUserCustomerInteraction_mouse_exited"]
[connection signal="timeout" from="AnimationTimers/PlaceOrderTimer" to="." method="_on_PlaceOrderTimer_timeout"]
[connection signal="timeout" from="FSM/drinking/MaxDrinkingTime" to="FSM/drinking" method="_on_MaxDrinkingTime_timeout"]
[connection signal="timeout" from="FSM/delivering_order_to_barista/Timer" to="FSM/delivering_order_to_barista" method="_on_Timer_timeout"]
[connection signal="timeout" from="FSM/picking_up_beverage/Timer" to="FSM/picking_up_beverage" method="_on_Timer_timeout"]