[gd_scene load_steps=9 format=3 uid="uid://ckm3d6k08a72u"]

[ext_resource type="Script" uid="uid://iii3wfto4t5b" path="res://systems/weapon/WeaponSystem.cs" id="1_csqwk"]
[ext_resource type="PackedScene" uid="uid://dbe5f0p6lvqtr" path="res://systems/tween_queue/tween_queue_system.tscn" id="2_x1nha"]
[ext_resource type="Script" uid="uid://couw105c3bde4" path="res://addons/godot_state_charts/state_chart.gd" id="3_5owyf"]
[ext_resource type="Script" uid="uid://jk2jm1g6q853" path="res://addons/godot_state_charts/compound_state.gd" id="4_svc06"]
[ext_resource type="Script" uid="uid://cytafq8i1y8qm" path="res://addons/godot_state_charts/atomic_state.gd" id="5_m0v1h"]
[ext_resource type="Script" uid="uid://cf1nsco3w0mf6" path="res://addons/godot_state_charts/transition.gd" id="6_jpdh0"]

[sub_resource type="CylinderShape3D" id="CylinderShape3D_avini"]
height = 1.0
radius = 0.1

[sub_resource type="CylinderMesh" id="CylinderMesh_x1nha"]
top_radius = 0.0
bottom_radius = 0.05
height = 1.0

[node name="Weapon" type="RigidBody3D"]
collision_layer = 4
collision_mask = 2
continuous_cd = true
contact_monitor = true
max_contacts_reported = 1
script = ExtResource("1_csqwk")

[node name="TweenQueueSystem" parent="." instance=ExtResource("2_x1nha")]

[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
shape = SubResource("CylinderShape3D_avini")

[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
mesh = SubResource("CylinderMesh_x1nha")

[node name="StateChart" type="Node" parent="."]
script = ExtResource("3_5owyf")
metadata/_custom_type_script = "uid://couw105c3bde4"

[node name="Root" type="Node" parent="StateChart"]
script = ExtResource("4_svc06")
initial_state = NodePath("InHand")

[node name="InHand" type="Node" parent="StateChart/Root"]
script = ExtResource("5_m0v1h")

[node name="ToFlying" type="Node" parent="StateChart/Root/InHand"]
script = ExtResource("6_jpdh0")
to = NodePath("../../Flying")
event = &"throw"
delay_in_seconds = "0.0"

[node name="Flying" type="Node" parent="StateChart/Root"]
script = ExtResource("5_m0v1h")

[node name="ToHand" type="Node" parent="StateChart/Root/Flying"]
script = ExtResource("6_jpdh0")
to = NodePath("../../InHand")
event = &"recover"
delay_in_seconds = "0.0"

[node name="ToPlanted" type="Node" parent="StateChart/Root/Flying"]
script = ExtResource("6_jpdh0")
to = NodePath("../../Planted")
event = &"plant"
delay_in_seconds = "0.0"

[node name="Planted" type="Node" parent="StateChart/Root"]
script = ExtResource("5_m0v1h")

[node name="ToHand" type="Node" parent="StateChart/Root/Planted"]
script = ExtResource("6_jpdh0")
to = NodePath("../../InHand")
event = &"recover"
delay_in_seconds = "0.0"
