1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
[gd_scene load_steps=16 format=3 uid="uid://by1x56w21o165"]
[ext_resource type="Script" path="res://Towers/Tower.gd" id="1_axo1d"]
[ext_resource type="Texture2D" uid="uid://b1b18rd0tqbar" path="res://core_outdoor.png" id="1_mrep8"]
[ext_resource type="PackedScene" uid="uid://cqktpc8c7ecn3" path="res://Game/Selection/SelectableArea.tscn" id="3_57d5u"]
[ext_resource type="Texture2D" uid="uid://dujcs2ls3u6tj" path="res://Towers/Assets/spritesheet.png" id="3_brkps"]
[ext_resource type="AudioStream" uid="uid://cpkwvp5llf7x6" path="res://Towers/Assets/shoot.ogg" id="5_i05ow"]
[sub_resource type="AtlasTexture" id="AtlasTexture_1ubf7"]
atlas = ExtResource("3_brkps")
region = Rect2(0, 0, 70, 96)
[sub_resource type="AtlasTexture" id="AtlasTexture_5lmyn"]
atlas = ExtResource("3_brkps")
region = Rect2(70, 0, 70, 96)
[sub_resource type="AtlasTexture" id="AtlasTexture_rpcx3"]
atlas = ExtResource("3_brkps")
region = Rect2(140, 0, 70, 96)
[sub_resource type="AtlasTexture" id="AtlasTexture_ds0p3"]
atlas = ExtResource("3_brkps")
region = Rect2(210, 0, 70, 96)
[sub_resource type="AtlasTexture" id="AtlasTexture_j7nj3"]
atlas = ExtResource("3_brkps")
region = Rect2(280, 0, 70, 96)
[sub_resource type="AtlasTexture" id="AtlasTexture_lklxx"]
atlas = ExtResource("3_brkps")
region = Rect2(350, 0, 70, 96)
[sub_resource type="SpriteFrames" id="SpriteFrames_cd6hj"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_1ubf7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5lmyn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rpcx3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ds0p3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7nj3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lklxx")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_atm5x"]
size = Vector2(31, 31)
[sub_resource type="CircleShape2D" id="CircleShape2D_qa8kt"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_312i7"]
size = Vector2(32, 32)
[node name="Tower" type="StaticBody2D"]
collision_layer = 4
collision_mask = 5
input_pickable = true
script = ExtResource("1_axo1d")
[node name="Sprite2D" type="Sprite2D" parent="."]
visible = false
texture_filter = 1
position = Vector2(0, -11)
texture = ExtResource("1_mrep8")
centered = false
region_enabled = true
region_rect = Rect2(400, 439, 32, 41)
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
texture_filter = 1
position = Vector2(0, -12)
scale = Vector2(0.457143, 0.457143)
sprite_frames = SubResource("SpriteFrames_cd6hj")
frame_progress = 0.499103
centered = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(16, 16)
shape = SubResource("RectangleShape2D_atm5x")
[node name="Range" type="Area2D" parent="."]
unique_name_in_owner = true
collision_layer = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Range"]
position = Vector2(16, 16)
shape = SubResource("CircleShape2D_qa8kt")
[node name="ShootCooldown" type="Timer" parent="."]
unique_name_in_owner = true
one_shot = true
[node name="SelectableArea" parent="." instance=ExtResource("3_57d5u")]
[node name="CollisionShape2D" type="CollisionShape2D" parent="SelectableArea"]
position = Vector2(16, 16)
shape = SubResource("RectangleShape2D_312i7")
[node name="ComponentsAnchor" type="Marker2D" parent="."]
position = Vector2(0, 32)
[node name="GroundAnchor" type="Marker2D" parent="."]
position = Vector2(16, 29)
[node name="SoundShoot" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("5_i05ow")
[connection signal="input_event" from="." to="." method="_on_input_event"]
[connection signal="tree_exiting" from="." to="." method="_on_tree_exiting"]
[connection signal="body_entered" from="Range" to="." method="_on_range_body_entered"]
[connection signal="body_exited" from="Range" to="." method="_on_range_body_exited"]
[connection signal="hover_enter" from="SelectableArea" to="." method="_on_selectable_area_hover_enter"]
[connection signal="hover_exit" from="SelectableArea" to="." method="_on_selectable_area_hover_exit"]
[connection signal="select_primary" from="SelectableArea" to="." method="_on_selectable_area_select_primary"]
|