mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 08:45:33 +00:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
8889a2cdac
16 changed files with 317 additions and 37 deletions
|
|
@ -1,4 +1,4 @@
|
|||
<Project Sdk="Godot.NET.Sdk/4.4.1">
|
||||
<Project Sdk="Godot.NET.Sdk/4.4.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
BIN
ExternalMaterial/HexGrid/ProceduralSpriteSheet2.png
(Stored with Git LFS)
BIN
ExternalMaterial/HexGrid/ProceduralSpriteSheet2.png
(Stored with Git LFS)
Binary file not shown.
BIN
ExternalMaterial/HexGrid/ProceduralSpriteSheet3.png
(Stored with Git LFS)
BIN
ExternalMaterial/HexGrid/ProceduralSpriteSheet3.png
(Stored with Git LFS)
Binary file not shown.
32
Resources/Enemies/Wall_Turret.tres
Normal file
32
Resources/Enemies/Wall_Turret.tres
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
[gd_resource type="Resource" script_class="EnemyResource" load_steps=6 format=3 uid="uid://ddx2b6ymqu3eo"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b58oxkofm64o7" path="res://ExternalMaterial/WallTurret/WallTurret_Small.png" id="1_1l6xq"]
|
||||
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="2_mc6lv"]
|
||||
[ext_resource type="Resource" uid="uid://cdfmedtgp2rcn" path="res://Resources/Weapons/EnemyWeapon.tres" id="8_ylifv"]
|
||||
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="9_awem6"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mc6lv"]
|
||||
atlas = ExtResource("1_1l6xq")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[resource]
|
||||
script = ExtResource("9_awem6")
|
||||
EnemyName = &"Wall Turret"
|
||||
EnemyKey = &"WALL_TURRET"
|
||||
PrefabPath = &"uid://8ab7omgqeodu"
|
||||
MaxHealth = 4.0
|
||||
MovementSpeed = 0.0
|
||||
Weapon = ExtResource("8_ylifv")
|
||||
LootDrops = Array[ExtResource("2_mc6lv")]([])
|
||||
MotivationReward = 4.0
|
||||
PredictPlayer = false
|
||||
PlayerDetectionRange = 90.0
|
||||
ViewRange = 120.0
|
||||
AlarmReactRange = 150.0
|
||||
PlayerDisengageRange = 200.0
|
||||
StrafeSpeed = 0.0
|
||||
MaxStrafeDistance = 0.0
|
||||
MinStrafeDistance = 0.0
|
||||
ResponseTime = 0.5
|
||||
IconSprite = SubResource("AtlasTexture_mc6lv")
|
||||
metadata/_custom_type_script = "uid://cd5o0ceb50jki"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
[gd_scene load_steps=44 format=3 uid="uid://8ab7omgqeodu"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bi2edpdosngll" path="res://Scripts/Components/FSM/Enemy/EnemyFSMProxy.cs" id="1_q7y0e"]
|
||||
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="2_eymbs"]
|
||||
[ext_resource type="Resource" uid="uid://ddx2b6ymqu3eo" path="res://Resources/Enemies/Wall_Turret.tres" id="2_q7y0e"]
|
||||
[ext_resource type="Script" uid="uid://dn6dbog1s2818" path="res://Scripts/Components/FSM/Enemy/EnemyStateMachine.cs" id="3_x4aey"]
|
||||
[ext_resource type="Script" uid="uid://rrelumir3g6n" path="res://Scripts/Components/FSM/Enemy/Init.cs" id="4_kkydi"]
|
||||
[ext_resource type="Script" uid="uid://bjrh5q24nuoec" path="res://Scripts/Components/FSM/Enemy/Idle.cs" id="5_mjnu8"]
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
[ext_resource type="Script" uid="uid://dhsqsajq537qn" path="res://Scripts/Components/FSM/Enemy/EnemyAlarmModule.cs" id="19_3veuh"]
|
||||
[ext_resource type="Script" uid="uid://bo5sgbv1t8ril" path="res://Scripts/Components/Actors/PlayerAnimationProvider.cs" id="20_sw3pd"]
|
||||
[ext_resource type="Material" uid="uid://dnvwgyt2tbqmr" path="res://Resources/Materials/Player_Blink_Teleport_Material.tres" id="21_tdg7b"]
|
||||
[ext_resource type="Script" uid="uid://dncdgq843sj2f" path="res://Scripts/Components/FSM/Enemy/AnimationModule.cs" id="22_whdyq"]
|
||||
[ext_resource type="Script" uid="uid://ci0cievasc7k1" path="res://Scripts/Components/FSM/Enemy/TurretAnimationModule.cs" id="22_q7y0e"]
|
||||
[ext_resource type="Script" uid="uid://bw4t2clyr6lib" path="res://Scripts/Components/FSM/Enemy/EnemyDropsProvider.cs" id="23_n8wpv"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2v6j7lsyltrc" path="res://Sprites/Actors/CirnoWings.png" id="24_uelh5"]
|
||||
[ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="25_v7gpu"]
|
||||
|
|
@ -137,7 +137,7 @@ collision_layer = 16
|
|||
collision_mask = 33
|
||||
script = ExtResource("1_q7y0e")
|
||||
EnemyFSM = NodePath("StateMachine")
|
||||
EnemyResource = ExtResource("2_eymbs")
|
||||
EnemyResource = ExtResource("2_q7y0e")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_pnkma")
|
||||
|
|
@ -258,10 +258,11 @@ lifetime = 0.4
|
|||
one_shot = true
|
||||
process_material = SubResource("ParticleProcessMaterial_poxpj")
|
||||
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule")]
|
||||
script = ExtResource("22_whdyq")
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule", "HealthProvider")]
|
||||
script = ExtResource("22_q7y0e")
|
||||
AnimationProvider = NodePath("../AnimationProvider")
|
||||
StorageModule = NodePath("../Storage")
|
||||
HealthProvider = NodePath("../DamageReceiver/Health")
|
||||
|
||||
[node name="DropsProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")]
|
||||
script = ExtResource("23_n8wpv")
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ process_mode = 1
|
|||
y_sort_enabled = true
|
||||
script = ExtResource("4_jtlua")
|
||||
MapThemes = Array[Object]([ExtResource("25_7gtqx")])
|
||||
ManualSeed = "3284405524142660119"
|
||||
|
||||
[node name="CameraController" parent="." instance=ExtResource("6_gwtv6")]
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=12 format=4 uid="uid://dcxrdhq1yw5c7"]
|
||||
[gd_scene load_steps=15 format=4 uid="uid://dcxrdhq1yw5c7"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_cak6m"]
|
||||
[ext_resource type="Resource" uid="uid://ly8l7asedjpx" path="res://Resources/RogueliteMaps/TestRGMap2.tres" id="2_cak6m"]
|
||||
|
|
@ -8,10 +8,12 @@
|
|||
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_hgeju"]
|
||||
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="7_wtdf1"]
|
||||
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_qe4tn"]
|
||||
[ext_resource type="Script" uid="uid://g6oraxgd87ij" path="res://Scripts/Actors/TeleporterMarker.cs" id="9_sbfh4"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3e762pxublbt" path="res://Sprites/teleporter.png" id="10_86nbh"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_f7qjl"]
|
||||
vertices = PackedVector2Array(186, 122, 186, 58, 294, 58, 294, 134, 166, 134, 134, 122, 166, 150, 154, 150, 154, 134, 26, 134, 26, 58, 134, 58, 166, 54, 154, 54, 154, 10, 166, 10)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(0, 3, 4, 5), PackedInt32Array(4, 6, 7, 8), PackedInt32Array(5, 4, 8), PackedInt32Array(5, 8, 9, 10), PackedInt32Array(11, 5, 10), PackedInt32Array(12, 13, 14, 15)])
|
||||
vertices = PackedVector2Array(166, 54, 154, 54, 154, 10, 166, 10, 294, 68, 294, 118, 280, 118, 264, 116, 264, 70, 264, 68, 216, 70, 186, 58, 264, 58, 186, 122, 216, 116, 280, 134, 166, 134, 134, 122, 154, 134, 166, 150, 154, 150, 120, 134, 120, 118, 134, 58, 120, 68, 88, 118, 88, 134, 40, 134, 40, 102, 26, 102, 26, 68, 120, 58)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(4, 5, 6, 7, 8), PackedInt32Array(9, 4, 8, 10), PackedInt32Array(11, 12, 9, 10), PackedInt32Array(13, 11, 10, 14), PackedInt32Array(14, 7, 6, 15, 16, 13), PackedInt32Array(17, 13, 16, 18), PackedInt32Array(16, 19, 20, 18), PackedInt32Array(17, 18, 21, 22), PackedInt32Array(23, 17, 22, 24), PackedInt32Array(25, 26, 27, 28), PackedInt32Array(28, 29, 30, 24), PackedInt32Array(25, 28, 24, 22), PackedInt32Array(23, 24, 31)])
|
||||
outlines = Array[PackedVector2Array]([PackedVector2Array(17, 36, 14, 12, 47, 15, 49, 34)])
|
||||
parsed_collision_mask = 353
|
||||
source_geometry_mode = 1
|
||||
|
|
@ -23,6 +25,10 @@ size = Vector2(272, 85)
|
|||
atlas = ExtResource("8_qe4tn")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qldan"]
|
||||
atlas = ExtResource("10_86nbh")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
|
||||
process_mode = 1
|
||||
script = ExtResource("1_cak6m")
|
||||
|
|
@ -33,12 +39,13 @@ metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
|
|||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
||||
[node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAAAAAIAAAAFAAAAAAAAAAMAAAAFAAAAAAAAAAQAAAAFAAAAAAAAAAUABgAGAAMAAAAAAAYAAAAFAAAAAAAAAAcAAAAFAAAAAAAAAAgAAAAFAAAAAAAAAAkAAAAFAAAAAAABAAIAAAAFAAAAAAABAAMABgAGAAMAAAABAAQABgAGAAMAAAABAAUABgAGAAMAAAABAAYABgAGAAMAAAABAAcABgAGAAMAAAABAAgABgAGAAMAAAABAAkAAAAFAAAAAAACAAIAAAAFAAAAAAACAAMABgAGAAMAAAACAAQABgAGAAMAAAACAAUABgAGAAMAAAACAAYABgAGAAMAAAACAAcABgAGAAMAAAACAAgABgAGAAMAAAACAAkAAAAFAAAAAAADAAIAAAAFAAAAAAADAAMABgAGAAMAAAADAAQABgAGAAMAAAADAAUABgAGAAMAAAADAAYABgAGAAMAAAADAAcABgAGAAMAAAADAAgABgAGAAMAAAADAAkAAAAFAAAAAAAEAAIAAAAFAAAAAAAEAAMABgAGAAMAAAAEAAQABgAGAAMAAAAEAAUABgAGAAMAAAAEAAYABgAGAAMAAAAEAAcABgAGAAMAAAAEAAgABgAGAAMAAAAEAAkAAAAFAAAAAAAFAAIAAAAFAAAAAAAFAAMABgAGAAMAAAAFAAQABgAGAAMAAAAFAAUABgAGAAMAAAAFAAYABgAGAAMAAAAFAAcABgAGAAMAAAAFAAgABgAGAAMAAAAFAAkAAAAFAAAAAAAGAAIAAAAFAAAAAAAGAAMABgAGAAMAAAAGAAQABgAGAAMAAAAGAAUABgAGAAMAAAAGAAYABgAGAAMAAAAGAAcABgAGAAMAAAAGAAgABgAGAAMAAAAGAAkAAAAFAAAAAAAHAAIAAAAFAAAAAAAHAAMABgAGAAMAAAAHAAQABgAGAAMAAAAHAAUABgAGAAMAAAAHAAYABgAGAAMAAAAHAAcABgAGAAMAAAAHAAgABgAGAAMAAAAHAAkAAAAFAAAAAAAIAAIAAAAFAAAAAAAIAAMABgAGAAMAAAAIAAQABgAGAAMAAAAIAAUABgAGAAMAAAAIAAYABgAGAAMAAAAIAAcABgAGAAMAAAAIAAgABgAGAAMAAAAIAAkAAAAFAAAAAAAJAAIABgAGAAMAAAAJAAMABgAGAAMAAAAJAAQABgAGAAMAAAAJAAgABgAGAAMAAAAJAAkABgAGAAMAAAAKAAIABgAGAAMAAAAKAAMABgAGAAMAAAAKAAQABgAGAAMAAAAKAAgABgAGAAMAAAAKAAkABgAGAAMAAAALAAIAAAAFAAAAAAALAAUABgAGAAMAAAALAAYABgAGAAMAAAALAAcABgAGAAMAAAALAAgABgAGAAMAAAALAAkAAAAFAAAAAAAMAAIAAAAFAAAAAAAMAAUABgAGAAMAAAAMAAYABgAGAAMAAAAMAAcABgAGAAMAAAAMAAgABgAGAAMAAAAMAAkAAAAFAAAAAAANAAIAAAAFAAAAAAANAAMABgAGAAMAAAANAAQABgAGAAMAAAANAAUABgAGAAMAAAANAAYABgAGAAMAAAANAAcABgAGAAMAAAANAAgABgAGAAMAAAANAAkAAAAFAAAAAAAOAAIAAAAFAAAAAAAOAAMABgAGAAMAAAAOAAQABgAGAAMAAAAOAAUABgAGAAMAAAAOAAYABgAGAAMAAAAOAAcABgAGAAMAAAAOAAgABgAGAAMAAAAOAAkAAAAFAAAAAAAPAAIAAAAFAAAAAAAPAAMABgAGAAMAAAAPAAQABgAGAAMAAAAPAAUABgAGAAMAAAAPAAYABgAGAAMAAAAPAAcABgAGAAMAAAAPAAgABgAGAAMAAAAPAAkAAAAFAAAAAAAQAAIAAAAFAAAAAAAQAAMABgAGAAMAAAAQAAQABgAGAAMAAAAQAAUABgAGAAMAAAAQAAYABgAGAAMAAAAQAAcABgAGAAMAAAAQAAgABgAGAAMAAAAQAAkAAAAFAAAAAAARAAIAAAAFAAAAAAARAAMABgAGAAMAAAARAAQABgAGAAMAAAARAAUABgAGAAMAAAARAAYABgAGAAMAAAARAAcABgAGAAMAAAARAAgABgAGAAMAAAARAAkAAAAFAAAAAAASAAIAAAAFAAAAAAASAAMABgAGAAMAAAASAAQABgAGAAMAAAASAAUABgAGAAMAAAASAAYABgAGAAMAAAASAAcABgAGAAMAAAASAAgABgAGAAMAAAASAAkAAAAFAAAAAAATAAIAAAAFAAAAAAATAAMAAAAFAAAAAAATAAQAAAAFAAAAAAATAAUABgAGAAMAAAATAAYAAAAFAAAAAAATAAcAAAAFAAAAAAATAAgAAAAFAAAAAAATAAkAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAEAAAAFAAAAAAABAAAAAAAFAAAAAAABAAEAAAAFAAAAAAACAAAAAAAFAAAAAAACAAEAAAAFAAAAAAADAAAAAAAFAAAAAAADAAEAAAAFAAAAAAAEAAAAAAAFAAAAAAAEAAEAAAAFAAAAAAAFAAAAAAAFAAAAAAAFAAEAAAAFAAAAAAAGAAAAAAAFAAAAAAAGAAEAAAAFAAAAAAAHAAAAAAAFAAAAAAAHAAEAAAAFAAAAAAAIAAAAAAAFAAAAAAAIAAEAAAAFAAAAAAAJAAAABgAGAAMAAAAJAAEABgAGAAMAAAAKAAAABgAGAAMAAAAKAAEABgAGAAMAAAALAAAAAAAFAAAAAAALAAEAAAAFAAAAAAALAAMABgAGAAMAAAALAAQABgAGAAMAAAAMAAAAAAAFAAAAAAAMAAEAAAAFAAAAAAAMAAMABgAGAAMAAAAMAAQABgAGAAMAAAANAAAAAAAFAAAAAAANAAEAAAAFAAAAAAAOAAAAAAAFAAAAAAAOAAEAAAAFAAAAAAAPAAAAAAAFAAAAAAAPAAEAAAAFAAAAAAAQAAAAAAAFAAAAAAAQAAEAAAAFAAAAAAARAAAAAAAFAAAAAAARAAEAAAAFAAAAAAASAAAAAAAFAAAAAAASAAEAAAAFAAAAAAATAAAAAAAFAAAAAAATAAEAAAAFAAAAAAAJAAUABgAGAAMAAAAJAAYABgAGAAMAAAAJAAcABgAGAAMAAAAKAAUABgAGAAMAAAAKAAYABgAGAAMAAAAKAAcABgAGAAMAAAA=")
|
||||
tile_map_data = PackedByteArray("AAAAAAIABwALAA4AAAAAAAMABwALAA4AAAAAAAQABwALAA4AAAAAAAUABwAKAA4AAAAAAAYABwALAA4AAAAAAAcABwALAA4AAAAAAAgABwAKAA4AAAAAAAkABwAKAA4AAAABAAIABwALAA4AAAABAAMABwALAAQAAAABAAQABwALAAQAAAABAAUABwALAAQAAAABAAYABwALAAQAAAABAAcABwALAAQAAAABAAgABwALAAQAAAABAAkABwALAA4AAAACAAIABwAKAA4AAAACAAMABwAKAAQAAAACAAQABwALAA4AAAACAAUABwAKAA4AAAACAAYABwALAA4AAAACAAcABwALAA4AAAACAAgABwALAAQAAAACAAkABwAKAA4AAAADAAIABwAKAA4AAAADAAMABwALAAQAAAADAAQABwALAA4AAAADAAUABwALAA4AAAADAAYABwAKAA4AAAADAAcABwAKAA4AAAADAAgABwAKAA4AAAADAAkABwAKAA4AAAAEAAIABwAKAA4AAAAEAAMABwAKAAQAAAAEAAQABwALAA4AAAAEAAUABwAKAA4AAAAEAAYABwAKAA4AAAAEAAcACAABAAAAAAAEAAgACAABAAAAAAAEAAkABwAKAA4AAAAFAAIABwAKAA4AAAAFAAMABwAKAAQAAAAFAAQABwAKAA4AAAAFAAUABwAKAA4AAAAFAAYABwAKAA4AAAAFAAcACAABAAAAAAAFAAgACAABAAAAAAAFAAkABwAKAA4AAAAGAAIABwALAA4AAAAGAAMABwALAAQAAAAGAAQABwALAA4AAAAGAAUABwALAA4AAAAGAAYABwALAA4AAAAGAAcACAABAAAAAAAGAAgACAABAAAAAAAGAAkABwAKAA4AAAAHAAIABwALAA4AAAAHAAMABwALAAQAAAAHAAQABwALAA4AAAAHAAUABwAKAA4AAAAHAAYABwALAA4AAAAHAAcABwALAA4AAAAHAAgABwALAA4AAAAHAAkABwALAA4AAAAIAAIABwALAA4AAAAIAAMABwAKAAQAAAAIAAQABwALAA4AAAAIAAUABwALAA4AAAAIAAYABwALAA4AAAAIAAcABwAKAA4AAAAIAAgABwAKAAQAAAAIAAkABwAKAA4AAAAJAAIABwAKAA4AAAAJAAMABwAKAA4AAAAJAAQABwAKAA4AAAAJAAgABwAKAAQAAAAJAAkABwALAA4AAAAKAAIABwAKAA4AAAAKAAMABwALAA4AAAAKAAQABwAKAA4AAAAKAAgABwALAAQAAAAKAAkABwAKAA4AAAALAAIABwALAA4AAAALAAUABwALAA4AAAALAAYABwAKAA4AAAALAAcABwALAA4AAAALAAgABwAKAAQAAAALAAkABwALAA4AAAAMAAUABwAKAA4AAAAMAAYABwAKAA4AAAAMAAcABwALAA4AAAAMAAgABwALAAQAAAAMAAkABwAKAA4AAAANAAIABwAKAA4AAAANAAMABwALAAQAAAANAAQABwALAA4AAAANAAUABwALAA4AAAANAAYABwAKAA4AAAANAAcABwAKAA4AAAANAAgABwALAAQAAAANAAkABwALAA4AAAAOAAIABwALAA4AAAAOAAMACAABAAAAAAAOAAQACAABAAAAAAAOAAUABwALAA4AAAAOAAYABwAKAA4AAAAOAAcABwALAA4AAAAOAAgABwAKAAQAAAAOAAkABwAKAA4AAAAPAAIABwALAA4AAAAPAAMACAABAAAAAAAPAAQACAABAAAAAAAPAAUABwALAA4AAAAPAAYABwAKAA4AAAAPAAcABwALAA4AAAAPAAgABwALAAQAAAAPAAkABwAKAA4AAAAQAAIABwALAA4AAAAQAAMACAABAAAAAAAQAAQACAABAAAAAAAQAAUABwALAA4AAAAQAAYABwAKAA4AAAAQAAcABwALAA4AAAAQAAgABwALAAQAAAAQAAkABwALAA4AAAARAAIABwAKAA4AAAARAAMABwAKAAQAAAARAAQABwAKAA4AAAARAAUABwAKAA4AAAARAAYABwAKAA4AAAARAAcABwALAA4AAAARAAgABwAKAAQAAAARAAkABwALAA4AAAASAAIABwAKAA4AAAASAAMABwAKAAQAAAASAAQABwAKAAQAAAASAAUABwAKAAQAAAASAAYABwALAAQAAAASAAcABwALAAQAAAASAAgABwALAAQAAAASAAkABwALAA4AAAATAAIABwAKAA4AAAATAAMABwAKAA4AAAATAAQABwALAA4AAAATAAUABwALAA4AAAATAAYABwALAA4AAAATAAcABwALAA4AAAATAAgABwALAA4AAAATAAkABwALAA4AAAAAAAAABwALAA4AAAAAAAEABwAKAA4AAAABAAAABwALAA4AAAABAAEABwALAA4AAAACAAAABwAKAA4AAAACAAEABwALAA4AAAADAAAABwAKAA4AAAADAAEABwAKAA4AAAAEAAAABwALAA4AAAAEAAEABwALAA4AAAAFAAAABwAKAA4AAAAFAAEABwALAA4AAAAGAAAABwAKAA4AAAAGAAEABwAKAA4AAAAHAAAABwAKAA4AAAAHAAEABwAKAA4AAAAIAAAABwAKAA4AAAAIAAEABwALAA4AAAAJAAAABwALAA4AAAAJAAEABwAKAA4AAAAKAAAABwALAA4AAAAKAAEABwAKAA4AAAALAAAABwALAA4AAAALAAEABwALAA4AAAALAAMABwAKAA4AAAALAAQABwALAA4AAAAMAAAABwAKAA4AAAAMAAEABwAKAA4AAAAMAAQABwAKAA4AAAANAAAABwAKAA4AAAANAAEABwALAA4AAAAOAAAABwAKAA4AAAAOAAEABwALAA4AAAAPAAAABwAKAA4AAAAPAAEABwALAA4AAAAQAAAABwAKAA4AAAAQAAEABwALAA4AAAARAAAABwALAA4AAAARAAEABwAKAA4AAAASAAAABwAKAA4AAAASAAEABwAKAA4AAAATAAAABwALAA4AAAATAAEABwALAA4AAAAJAAUABwALAA4AAAAJAAYABwAKAA4AAAAJAAcABwAKAA4AAAAKAAUABwALAA4AAAAKAAYABwAKAA4AAAAKAAcABwAKAA4AAAAMAAIABwAKAA4AAAAMAAMABwAKAA4AAAA=")
|
||||
tile_set = ExtResource("3_f7qjl")
|
||||
navigation_enabled = false
|
||||
script = ExtResource("4_wtdf1")
|
||||
_solidLayers = [NodePath("../Solid"), NodePath("../Props")]
|
||||
metadata/_edit_lock_ = true
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAMAAAAAAATAAQAAAAMAAEAAAALAAEAAAAMAAAAAAALAAIAAAAMAAEAAAAMAAEAAAAMAAAAAAAMAAIAAAAMAAEAAAANAAEAAAAMAAAAAAANAAIAAAAMAAEAAAAOAAEAAAAMAAAAAAAOAAIAAAAMAAEAAAAPAAEAAAAMAAAAAAAPAAIAAAAMAAEAAAAQAAEAAAAMAAAAAAAQAAIAAAAMAAEAAAARAAEAAAAMAAAAAAARAAIAAAAMAAEAAAASAAEAAAAMAAAAAAASAAIAAAAMAAEAAAABAAEAAAAMAAAAAAABAAIAAAAMAAEAAAACAAEAAAAMAAAAAAACAAIAAAAMAAEAAAADAAEAAAAMAAAAAAADAAIAAAAMAAEAAAAEAAEAAAAMAAAAAAAEAAIAAAAMAAEAAAAFAAEAAAAMAAAAAAAFAAIAAAAMAAEAAAAGAAEAAAAMAAAAAAAGAAIAAAAMAAEAAAAHAAEAAAAMAAAAAAAHAAIAAAAMAAEAAAAIAAEAAAAMAAAAAAAIAAIAAAAMAAEAAAAAAAMAAAAMAAAAAAAAAAQAAAAMAAEAAAAJAAUAAAAMAAAAAAAJAAYAAAAMAAEAAAAKAAUAAAAMAAAAAAAKAAYAAAAMAAEAAAAJAAQAAAACAAQAAAAKAAQAAAADAAQAAAA=")
|
||||
|
|
@ -47,7 +54,7 @@ navigation_enabled = false
|
|||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAAJAAUAAAAJAAwAAAAJAAYAAAAJAA0AAAAKAAUAAAAKAAwAAAAKAAYAAAAKAA0AAAAAAAMAAAAKAAwAAAAAAAQAAAAKAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAATAAMAAAAJAAwAAAATAAQAAAAJAA0AAAABAAMAAAAGAAAAAAACAAMAAAAHAAAAAAARAAMAAAAGAAAAAAASAAMAAAAHAAAAAAADAAMAAAAGAAAAAAAEAAMAAAAHAAAAAAAFAAMAAQAAAAAADgAGAAMAAQAAAAAADgABAAgAAQAAAAAADgABAAcAAQAAAAAADgASAAgAAQAAAAAADgALAAUAAQAAAAAAEgALAAYAAQAAAAAAEgA=")
|
||||
tile_map_data = PackedByteArray("AAAJAAUAAAAJAAwAAAAJAAYAAAAJAA0AAAAKAAUAAAAKAAwAAAAKAAYAAAAKAA0AAAAAAAMAAAAKAAwAAAAAAAQAAAAKAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAATAAMAAAAJAAwAAAATAAQAAAAJAA0AAAABAAMAAAAGAAAAAAACAAMAAAAHAAAAAAARAAMAAAAGAAYAAAADAAMAAAAGAAAAAAAEAAMAAAAHAAAAAAAFAAMAAQAAAAAAFgAGAAMAAQAAAAAADgABAAgAAQAAAAAAFgABAAcAAQAAAAAADgASAAgAAQAAAAAAFQALAAUAAQAAAAAAEgALAAYAAQAAAAAAEgAGAAgAAQAAAAAAEwAEAAYAAAAHAAcAAAAFAAYAAAAHAAcAAAAGAAYAAAAHAAcAAAAHAAcAAAAGAAYAAAAHAAgAAAAGAAYAAAADAAcAAAAIAAYAAAADAAgAAAAIAAYAAAAHAAYAAAAFAA4AAAADAAYAAAAEAA4AAAAOAAUAAAAHAAUAAAAPAAUAAAAHAAUAAAAPAAYAAQAAAAAAFQAOAAYAAQAAAAAAFQANAAMAAAAIAAYAAAANAAQAAAAIAAYAAAAQAAUAAAAHAAUAAAARAAQAAAAGAAYAAAARAAUAAAAFAA8AAAANAAUAAAAEAA8AAAAPAAEACgAAAAAAAAAPAAIACgAAAAEAAAAFAAEACgAAAAAAAAAFAAIACgAAAAEAAAA=")
|
||||
tile_set = ExtResource("3_f7qjl")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
|
@ -55,13 +62,6 @@ metadata/_edit_lock_ = true
|
|||
[node name="Actors" type="Node2D" parent="Tilemaps"]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(201, 92)
|
||||
script = ExtResource("5_f7qjl")
|
||||
Enemy = ExtResource("7_wtdf1")
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_f7qjl")
|
||||
|
|
@ -78,7 +78,7 @@ shape = SubResource("RectangleShape2D_wtdf1")
|
|||
[node name="Features" type="Node2D" parent="."]
|
||||
|
||||
[node name="Chest" type="Marker2D" parent="Features"]
|
||||
position = Vector2(281, 136)
|
||||
position = Vector2(280, 135)
|
||||
script = ExtResource("7_hgeju")
|
||||
MarkerTexture = SubResource("AtlasTexture_sbfh4")
|
||||
SpawnChance = 10.0
|
||||
|
|
@ -89,4 +89,26 @@ script = ExtResource("7_hgeju")
|
|||
MarkerTexture = SubResource("AtlasTexture_sbfh4")
|
||||
SpawnChance = 10.0
|
||||
|
||||
[node name="Teleporter" type="Marker2D" parent="Features"]
|
||||
position = Vector2(87, 136)
|
||||
script = ExtResource("9_sbfh4")
|
||||
MarkerTexture = SubResource("AtlasTexture_qldan")
|
||||
|
||||
[node name="Teleporter2" type="Marker2D" parent="Features"]
|
||||
position = Vector2(248, 56)
|
||||
script = ExtResource("9_sbfh4")
|
||||
MarkerTexture = SubResource("AtlasTexture_qldan")
|
||||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(248, 55)
|
||||
script = ExtResource("5_f7qjl")
|
||||
Enemy = ExtResource("7_wtdf1")
|
||||
|
||||
[node name="RogueliteEnemySpawner7" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(87, 134)
|
||||
script = ExtResource("5_f7qjl")
|
||||
Enemy = ExtResource("7_wtdf1")
|
||||
|
||||
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -73,6 +73,19 @@ public partial class PlayerAnimationProvider : Node2D
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
public void SweepSprite(float angle, float sweepAngle)
|
||||
{
|
||||
if (_animatedSprite == null) return;
|
||||
|
||||
var frames = _animatedSprite.SpriteFrames.GetFrameCount("default");
|
||||
|
||||
// Map angle (-SweepAngle/2 to +SweepAngle/2) to frame (0 to 5)
|
||||
float normalizedAngle = (angle + (sweepAngle / 2)) / sweepAngle;
|
||||
int frame = Mathf.Clamp((int)(normalizedAngle * frames), 0, frames);
|
||||
|
||||
_animatedSprite.Frame = frame;
|
||||
}
|
||||
|
||||
public void SetAnimation(Vector2 direction)
|
||||
{
|
||||
|
|
|
|||
104
Scripts/Components/FSM/Enemy/TurretAnimationModule.cs
Normal file
104
Scripts/Components/FSM/Enemy/TurretAnimationModule.cs
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
using Cirno.Scripts.Components.Actors;
|
||||
using Cirno.Scripts.Enums;
|
||||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Components.FSM.Enemy;
|
||||
|
||||
public partial class TurretAnimationModule : ModuleBase<EnemyState, CharacterBody2D>
|
||||
{
|
||||
private IStateMachine<EnemyState, CharacterBody2D> _machine;
|
||||
[Export] public PlayerAnimationProvider AnimationProvider { get; set; }
|
||||
|
||||
[Export] public EnemyStorageModule StorageModule { get; set; }
|
||||
[Export] public ActorResourceProvider HealthProvider { get; set; }
|
||||
|
||||
|
||||
[Export] public float SweepAngle = 90f; // In degrees
|
||||
[Export] public float SweepSpeed = 1f; // Speed of sweeping
|
||||
[Export] public bool Debug = false; // Enable debug lines
|
||||
//[Export] public NodePath SpritePath;
|
||||
|
||||
private float _currentAngle;
|
||||
private float _sweepDirection = 1f;
|
||||
private float _raycastLength;
|
||||
|
||||
public override void EnterState(EnemyState state)
|
||||
{
|
||||
AnimationProvider.SetAnimation(StorageModule.AimingDirection);
|
||||
AnimationProvider.SetAnimation(Vector2.Zero);
|
||||
if (HealthProvider is not null)
|
||||
{
|
||||
HealthProvider.ResourceDecreased += HealthProviderOnResourceDecreased;
|
||||
}
|
||||
}
|
||||
|
||||
private void HealthProviderOnResourceDecreased(float oldValue, float newValue, float maxValue)
|
||||
{
|
||||
AnimationProvider?.Blink();
|
||||
}
|
||||
|
||||
public override void ExitState(EnemyState state)
|
||||
{
|
||||
AnimationProvider.SetAnimation(Vector2.Zero);
|
||||
if (HealthProvider is not null)
|
||||
{
|
||||
HealthProvider.ResourceDecreased -= HealthProviderOnResourceDecreased;
|
||||
}
|
||||
}
|
||||
|
||||
public override void Init(IStateMachine<EnemyState, CharacterBody2D> machine)
|
||||
{
|
||||
_machine = machine;
|
||||
}
|
||||
|
||||
public override void Process(double delta)
|
||||
{
|
||||
AnimationProvider.SetAnimation(StorageModule.AimingDirection);
|
||||
|
||||
if (_machine.MainObject.Velocity == Vector2.Zero)
|
||||
{
|
||||
AnimationProvider.SetAnimation(Vector2.Zero);
|
||||
}
|
||||
}
|
||||
|
||||
public override void PhysicsProcess(double delta)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Sweep(float delta)
|
||||
{
|
||||
_currentAngle += _sweepDirection * SweepSpeed * delta;
|
||||
|
||||
// Clamp angle within the sweep range
|
||||
float halfAngle = SweepAngle / 2f;
|
||||
if (_currentAngle > halfAngle || _currentAngle < -halfAngle)
|
||||
{
|
||||
_sweepDirection *= -1f;
|
||||
_currentAngle = Mathf.Clamp(_currentAngle, -halfAngle, halfAngle);
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawDebugLine(Vector2 endPoint)
|
||||
{
|
||||
// Request the node to redraw
|
||||
QueueRedraw();
|
||||
_debugLineEndPoint = endPoint;
|
||||
}
|
||||
|
||||
private void UpdateSpriteDirection()
|
||||
{
|
||||
AnimationProvider.SweepSprite(_currentAngle, SweepAngle);
|
||||
}
|
||||
|
||||
private Vector2 _debugLineEndPoint;
|
||||
|
||||
public override void _Draw()
|
||||
{
|
||||
if (Debug)
|
||||
{
|
||||
DrawLine(Vector2.Zero, ToLocal(_debugLineEndPoint), Colors.Red, 2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://ci0cievasc7k1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_resource type="TileSet" load_steps=100 format=3 uid="uid://6k28roiljylj"]
|
||||
[gd_resource type="TileSet" load_steps=102 format=3 uid="uid://6k28roiljylj"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bty7p61v46chx" path="res://Resources/Textures/Tilemap_Canvas.tres" id="1_u4jco"]
|
||||
[ext_resource type="PackedScene" uid="uid://bj28qiai2x2ar" path="res://Scenes/Props/Barrel.tscn" id="2_cxg4b"]
|
||||
|
|
@ -1746,6 +1746,12 @@ polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
|
|||
outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)])
|
||||
agent_radius = 0.0
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_ctxsb"]
|
||||
vertices = PackedVector2Array(8, 8, -8, 8, -8, -8, 8, -8)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
|
||||
outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)])
|
||||
agent_radius = 0.0
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_ork78"]
|
||||
vertices = PackedVector2Array(8, 8, -8, 8, -8, -8, 8, -8)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
|
||||
|
|
@ -2372,6 +2378,76 @@ texture = ExtResource("25_ttooi")
|
|||
14:17/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_026cw")
|
||||
15:17/0 = 0
|
||||
15:17/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_026cw")
|
||||
0:18/0 = 0
|
||||
0:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
1:18/0 = 0
|
||||
1:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
2:18/0 = 0
|
||||
2:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
3:18/0 = 0
|
||||
3:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
4:18/0 = 0
|
||||
4:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
5:18/0 = 0
|
||||
5:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
6:18/0 = 0
|
||||
6:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
7:18/0 = 0
|
||||
7:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
8:18/0 = 0
|
||||
8:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
9:18/0 = 0
|
||||
9:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
10:18/0 = 0
|
||||
10:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
11:18/0 = 0
|
||||
11:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
12:18/0 = 0
|
||||
12:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
13:18/0 = 0
|
||||
13:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
14:18/0 = 0
|
||||
14:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
15:18/0 = 0
|
||||
15:18/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
15:19/0 = 0
|
||||
15:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
14:19/0 = 0
|
||||
14:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
13:19/0 = 0
|
||||
13:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
12:19/0 = 0
|
||||
12:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
11:19/0 = 0
|
||||
11:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
10:19/0 = 0
|
||||
10:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
9:19/0 = 0
|
||||
9:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
8:19/0 = 0
|
||||
8:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
7:19/0 = 0
|
||||
7:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
6:19/0 = 0
|
||||
6:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
5:19/0 = 0
|
||||
5:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
4:19/0 = 0
|
||||
4:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
3:19/0 = 0
|
||||
3:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
2:19/0 = 0
|
||||
2:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
1:19/0 = 0
|
||||
1:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
0:19/0 = 0
|
||||
0:19/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_ctxsb")
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_10x1a"]
|
||||
vertices = PackedVector2Array(8, 8, -8, 8, -8, -8, 8, -8)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
|
||||
outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)])
|
||||
agent_radius = 0.0
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_63v5g"]
|
||||
vertices = PackedVector2Array(8, 8, -8, 8, -8, -8, 8, -8)
|
||||
|
|
@ -2409,6 +2485,14 @@ texture = ExtResource("26_0p3v4")
|
|||
12:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
|
||||
13:0/0 = 0
|
||||
13:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
|
||||
0:1/0 = 0
|
||||
0:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_10x1a")
|
||||
1:1/0 = 0
|
||||
1:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_10x1a")
|
||||
2:1/0 = 0
|
||||
2:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_10x1a")
|
||||
3:1/0 = 0
|
||||
3:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_10x1a")
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_hfdld"]
|
||||
texture = ExtResource("27_0p3v4")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue