- Introduced a new JobComponent and JobQueue to manage jobs in the game. - Created two new jobs: DigJob and InfectJob with their respective scripts. - Updated CrystalGlowComponent, FreeCameraComponent, MushroomGlowComponent, WaterEffectComponent to improve logging messages. - Adjusted camera movement limits in FreeCameraGameCameraComponent for better control. - Added FiniteStateMachine class for managing states of entities. - Implemented GlowingIdle state as an example of using the state machine. - Included a utility function to fetch file paths by extension from a directory.
74 lines
2.3 KiB
Text
74 lines
2.3 KiB
Text
[gd_scene load_steps=7 format=3 uid="uid://ddwnkcnncxmjv"]
|
|
|
|
[ext_resource type="Script" path="res://entities/scripts/glowling.gd" id="1_aq1kk"]
|
|
[ext_resource type="Texture2D" uid="uid://b0v24ggq57237" path="res://resources/particles/smallcircle.png" id="2_s3xbi"]
|
|
[ext_resource type="Script" path="res://entities/scripts/finite_state_machine.gd" id="3_vqtdm"]
|
|
[ext_resource type="Script" path="res://entities/states/glowling/glowling_idle.gd" id="4_2l3e6"]
|
|
|
|
[sub_resource type="Animation" id="Animation_01nc3"]
|
|
resource_name = "GlowingPulse"
|
|
length = 3.0
|
|
loop_mode = 1
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("Glowing/Glow:scale")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 1.5, 3),
|
|
"transitions": PackedFloat32Array(1, -2, 1),
|
|
"update": 0,
|
|
"values": [Vector2(3, 3), Vector2(2, 2), Vector2(3, 3)]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("Glowing/Glow/Glower:scale")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0.1, 0.9, 2, 3),
|
|
"transitions": PackedFloat32Array(1, -2, -2, 1),
|
|
"update": 0,
|
|
"values": [Vector2(2, 2), Vector2(1.4, 1.4), Vector2(2.1, 2.1), Vector2(2, 2)]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_bl8d4"]
|
|
_data = {
|
|
"GlowingPulse": SubResource("Animation_01nc3")
|
|
}
|
|
|
|
[node name="Glowing" type="Node2D"]
|
|
position = Vector2(547, 321)
|
|
script = ExtResource("1_aq1kk")
|
|
|
|
[node name="GlowlingAnimations" type="AnimationPlayer" parent="."]
|
|
root_node = NodePath("../..")
|
|
libraries = {
|
|
"": SubResource("AnimationLibrary_bl8d4")
|
|
}
|
|
|
|
[node name="Glow" type="PointLight2D" parent="."]
|
|
scale = Vector2(3, 3)
|
|
color = Color(0.980392, 0, 0.980392, 1)
|
|
energy = 1.95
|
|
shadow_enabled = true
|
|
shadow_filter = 2
|
|
shadow_filter_smooth = 7.5
|
|
texture = ExtResource("2_s3xbi")
|
|
|
|
[node name="Glower" type="PointLight2D" parent="Glow"]
|
|
scale = Vector2(2, 2)
|
|
color = Color(1, 0.176471, 1, 1)
|
|
energy = 0.7
|
|
shadow_filter = 2
|
|
shadow_filter_smooth = 7.5
|
|
texture = ExtResource("2_s3xbi")
|
|
|
|
[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_state")]
|
|
script = ExtResource("3_vqtdm")
|
|
initial_state = NodePath("Idle")
|
|
|
|
[node name="Idle" type="Node" parent="StateMachine"]
|
|
script = ExtResource("4_2l3e6")
|