added modular animation system for drones

This commit is contained in:
2026-02-24 10:49:50 +01:00
parent 772858f04f
commit d036169237
23 changed files with 268 additions and 119 deletions

View File

@@ -189,4 +189,4 @@
Anim={ Anim={
"visible": false "visible": false
} }
selected_nodes=Array[NodePath]([]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18065/@Panel@14/@VBoxContainer@15/DockHSplitMain/@VBoxContainer@28/DockVSplitCenter/@VSplitContainer@70/@VBoxContainer@71/@EditorMainScreen@125/MainScreen/@CanvasItemEditor@9318/@VSplitContainer@9101/@HSplitContainer@9103/@HSplitContainer@9105/@Control@9106/@SubViewportContainer@9107/@SubViewport@9108/BaseDrone/Fueltank")])

View File

@@ -1,5 +1,7 @@
TileMapLayer
CollisionShape2D CollisionShape2D
Timer
Camera2D
TileMapLayer
CharacterBody2D CharacterBody2D
AnimatedSprite2D AnimatedSprite2D
AnimationTree AnimationTree

View File

@@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@@ -186,4 +186,7 @@
"zfar": 4000.01, "zfar": 4000.01,
"znear": 0.05 "znear": 0.05
} }
selected_nodes=Array[NodePath]([]) Anim={
"visible": false
}
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18065/@Panel@14/@VBoxContainer@15/DockHSplitMain/@VBoxContainer@28/DockVSplitCenter/@VSplitContainer@70/@VBoxContainer@71/@EditorMainScreen@125/MainScreen/@CanvasItemEditor@9318/@VSplitContainer@9101/@HSplitContainer@9103/@HSplitContainer@9105/@Control@9106/@SubViewportContainer@9107/@SubViewport@9108/Drone")])

View File

@@ -1,5 +1,5 @@
[folding] [folding]
node_unfolds=[NodePath("."), PackedStringArray("Ordering", "Texture")] node_unfolds=[NodePath("."), PackedStringArray("Ordering", "Texture", "Collision")]
resource_unfolds=["res://Machines/Resources/Models/Drones/drone_model_scene.tscn::SpriteFrames_bsvqd", PackedStringArray(), "res://Machines/Resources/Models/Drones/drone_model_scene.tscn::RectangleShape2D_6pa52", PackedStringArray()] resource_unfolds=["res://Machines/Resources/Models/Drones/drone_model_scene.tscn::SpriteFrames_bsvqd", PackedStringArray(), "res://Machines/Resources/Models/Drones/drone_model_scene.tscn::RectangleShape2D_6pa52", PackedStringArray()]
nodes_folded=[] nodes_folded=[]

View File

@@ -2,20 +2,20 @@
dock_3_selected_tab_idx=0 dock_3_selected_tab_idx=0
dock_4_selected_tab_idx=0 dock_4_selected_tab_idx=0
dock_5_selected_tab_idx=0 dock_5_selected_tab_idx=1
dock_floating={} dock_floating={}
dock_closed=[] dock_closed=[]
dock_split_2=0 dock_split_2=0
dock_split_3=0 dock_split_3=0
dock_hsplit_1=0 dock_hsplit_1=0
dock_hsplit_2=280 dock_hsplit_2=280
dock_hsplit_3=-280 dock_hsplit_3=-230
dock_hsplit_4=0 dock_hsplit_4=0
dock_9_selected_tab_idx=1 dock_9_selected_tab_idx=5
dock_3="Scene,Import" dock_3="Scene,Import"
dock_4="FileSystem,History" dock_4="FileSystem,History"
dock_5="Inspector,Signals,Groups" dock_5="Inspector,Signals,Groups"
dock_9="Output,Debugger,Audio,Animation,Shader Editor,Search Results,AnimationTree,ResourcePreloader,ShaderFile,SpriteFrames,Theme,Polygon,TileSet,TileMap,Replication,GridMap" dock_9="Output,Debugger,Audio,Animation,Shader Editor,SpriteFrames,Search Results,AnimationTree,ResourcePreloader,ShaderFile,Theme,Polygon,TileSet,TileMap,Replication,GridMap"
[docks/FileSystem] [docks/FileSystem]
@@ -24,8 +24,8 @@ v_split_offset=0
display_mode=0 display_mode=0
file_sort=0 file_sort=0
file_list_display_mode=1 file_list_display_mode=1
selected_paths=PackedStringArray("res://levels/level_1.tscn") selected_paths=PackedStringArray("res://Machines/Resources/Abstracts/machine_abstract.gd")
uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://ui/screens/", "res://ui/screens/title-screen/", "res://Machines/Sprites/Drones/", "res://Machines/Sprites/Drones/BaseDrone/", "res://Machines/Resources/", "res://Machines/Resources/Models/", "res://Machines/Resources/Models/Drones/", "res://Machines/Resources/Models/Drones/BaseDrone/", "res://Machines/Resources/Abstracts/", "res://levels/", "res://Enviorment/Sprout Lands - Sprites - Basic pack/", "res://core/", "res://autoloads/", "res://autoloads/settings/") uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://ui/", "res://ui/screens/title-screen/", "res://ui/player ui/", "res://Machines/", "res://Machines/Sprites/Drones/", "res://Machines/Sprites/Drones/BaseDrone/", "res://Machines/Resources/", "res://Machines/Resources/Models/", "res://Machines/Resources/Models/Drones/", "res://Machines/Resources/Models/Drones/BaseDrone/", "res://Machines/Resources/Abstracts/", "res://levels/", "res://Enviorment/Sprout Lands - Sprites - Basic pack/", "res://autoloads/settings/")
[docks/History] [docks/History]
@@ -44,8 +44,8 @@ bottom_panel_offsets={
"Output": 0, "Output": 0,
"Search Results": 0, "Search Results": 0,
"Shader Editor": 0, "Shader Editor": 0,
"SpriteFrames": 0, "SpriteFrames": -346,
"TileMap": -731, "TileMap": -246,
"TileSet": -597 "TileSet": -597
} }
selected_default_debugger_tab_idx=0 selected_default_debugger_tab_idx=0
@@ -59,16 +59,16 @@ position=Vector2i(66, 69)
[ScriptEditor] [ScriptEditor]
open_scripts=["res://Machines/Resources/Models/Drones/BaseDrone/base_drone.gd", "res://Machines/Resources/Abstracts/drone_machine.gd", "res://core/gamemanager.gd", "res://levels/levels_readme.md", "res://Machines/Resources/Abstracts/machine_abstract.gd", "res://Machines/Resources/Machine_Globals.gd", "res://Machines/Resources/Abstracts/mech_machine.gd", "res://Machines/Resources/Abstracts/suit_machine.gd", "res://autoloads/settings/user_defined_settings.gd"] open_scripts=["res://Machines/Resources/Models/Drones/BaseDrone/base_drone.gd", "res://Machines/Resources/Abstracts/drone_machine.gd", "res://core/gamemanager.gd", "res://levels/levels_readme.md", "res://Machines/Resources/Abstracts/machine_abstract.gd", "res://Machines/Resources/Machine_Globals.gd", "res://Machines/Resources/Abstracts/mech_machine.gd", "res://autoloads/settings/settings.gd", "res://Machines/Resources/Abstracts/suit_machine.gd", "res://autoloads/settings/user_defined_settings.gd"]
selected_script="res://Machines/Resources/Abstracts/machine_abstract.gd" selected_script="res://Machines/Resources/Abstracts/drone_machine.gd"
open_help=[] open_help=["AnimatedSprite2D"]
script_split_offset=200 script_split_offset=200
list_split_offset=0 list_split_offset=0
zoom_factor=1.0 zoom_factor=1.0
[GameView] [GameView]
floating_window_rect=Rect2i(731, 369, 1164, 697) floating_window_rect=Rect2i(411, 189, 1164, 697)
floating_window_screen=0 floating_window_screen=0
[ShaderEditor] [ShaderEditor]

View File

@@ -1,18 +1,18 @@
63f7b34db8d8cdea90c76aacccf841ec 63f7b34db8d8cdea90c76aacccf841ec
::res://::1771872883 ::res://::1771914515
icon.svg::CompressedTexture2D::7874505655436279264::1771841784::1771841837::1::::<><><>0<>0<>8c6dc71835cb1092831a2181a7cbcbe4<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex:: icon.svg::CompressedTexture2D::7874505655436279264::1771841784::1771841837::1::::<><><>0<>0<>8c6dc71835cb1092831a2181a7cbcbe4<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex::
::res://autoloads/::1771841784 ::res://autoloads/::1771841784
debug_global.gd::GDScript::3519651180120881073::1771841784::0::1::::<>Node<><>0<>0<><>:: debug_global.gd::GDScript::3519651180120881073::1771841784::0::1::::<>Node<><>0<>0<><>::
global.gd::GDScript::1176894133255043534::1771841784::0::1::::<>Node<><>0<>0<><>:: global.gd::GDScript::1176894133255043534::1771841784::0::1::::<>Node<><>0<>0<><>::
input_manager.gd::GDScript::8575146745769188893::1771841784::0::1::::<>Node<><>0<>0<><>:: input_manager.gd::GDScript::8575146745769188893::1771841784::0::1::::<>Node<><>0<>0<><>::
::res://autoloads/settings/::1771872849 ::res://autoloads/settings/::1771876948
settings.gd::GDScript::1169167139487781899::1771841784::0::1::::<>Node<><>0<>0<><>:: settings.gd::GDScript::1169167139487781899::1771876948::0::1::::<>Node<><>0<>0<><>::
user_defined_settings.gd::GDScript::5353537388395803011::1771872849::0::1::::UserDefinedSettings<>RefCounted<><>0<>0<><>:: user_defined_settings.gd::GDScript::5353537388395803011::1771872849::0::1::::UserDefinedSettings<>RefCounted<><>0<>0<><>::
::res://core/::1771859083 ::res://core/::1771878978
default_bus_layout.tres::AudioBusLayout::6406833063048569073::1771841784::0::1::::<><><>0<>0<><>:: default_bus_layout.tres::AudioBusLayout::6406833063048569073::1771841784::0::1::::<><><>0<>0<><>::
gamemanager.gd::GDScript::5587465302030124915::1771841784::0::1::::GameManager<>Node<><>0<>0<><>:: gamemanager.gd::GDScript::5587465302030124915::1771841784::0::1::::GameManager<>Node<><>0<>0<><>::
gamemanager.tscn::PackedScene::5236817490969193782::1771859083::0::1::::<><><>0<>0<><>::uid://cluu0cgltsenj::::res://core/gamemanager.gd<>uid://bilai15byqef2::::res://ui/screens/pause-menu/pause_menu.tscn<>uid://bhb4ckqipjvu3::::res://core/main_environment.tres<>uid://cyfvcuxi210mg::::res://levels/main_level.tscn<>uid://hheneshfv1b2::::res://ui/themes/your_theme.tres gamemanager.tscn::PackedScene::5236817490969193782::1771873016::0::1::::<><><>0<>0<><>::uid://cluu0cgltsenj::::res://core/gamemanager.gd<>uid://bilai15byqef2::::res://ui/screens/pause-menu/pause_menu.tscn<>uid://clie4ewdm4f3p::::res://levels/level_1.tscn<>uid://bhb4ckqipjvu3::::res://core/main_environment.tres<>uid://hheneshfv1b2::::res://ui/themes/your_theme.tres
main_environment.tres::Environment::2881571881625704016::1771849414::0::1::::<><><>0<>0<><>:: main_environment.tres::Environment::2881571881625704016::1771878978::0::1::::<><><>0<>0<><>::
::res://Enviorment/::1771872231 ::res://Enviorment/::1771872231
::res://Enviorment/Sprout Lands - Sprites - Basic pack/::1690280938 ::res://Enviorment/Sprout Lands - Sprites - Basic pack/::1690280938
read_me.txt::TextFile::-1::1719864070::0::1::::<><><>0<>0<><>:: read_me.txt::TextFile::-1::1719864070::0::1::::<><><>0<>0<><>::
@@ -60,24 +60,24 @@ Water.png::CompressedTexture2D::7521696657789038951::1640153322::1771872233::1::
Wooden House.png::CompressedTexture2D::1789216524832724684::1640151246::1771872233::1::::<><><>0<>0<>8442bf97489b1a4319d77d5e012e0ab2<>res://.godot/imported/Wooden House.png-1d3507d6d9355085e2d56ca3eed34208.ctex:: Wooden House.png::CompressedTexture2D::1789216524832724684::1640151246::1771872233::1::::<><><>0<>0<>8442bf97489b1a4319d77d5e012e0ab2<>res://.godot/imported/Wooden House.png-1d3507d6d9355085e2d56ca3eed34208.ctex::
Wooden_House_Roof_Tilset.png::CompressedTexture2D::7197701675632082718::1721562444::1771872233::1::::<><><>0<>0<>f0ed4b4e6d1010ba1cb3b55167a77027<>res://.godot/imported/Wooden_House_Roof_Tilset.png-d07aef27181459b764c165266c44d438.ctex:: Wooden_House_Roof_Tilset.png::CompressedTexture2D::7197701675632082718::1721562444::1771872233::1::::<><><>0<>0<>f0ed4b4e6d1010ba1cb3b55167a77027<>res://.godot/imported/Wooden_House_Roof_Tilset.png-d07aef27181459b764c165266c44d438.ctex::
Wooden_House_Walls_Tilset.png::CompressedTexture2D::2090137081657271458::1721134988::1771872233::1::::<><><>0<>0<>995736e94fc20b058f2c694b380ff9d2<>res://.godot/imported/Wooden_House_Walls_Tilset.png-b489333aaf9ecb685bb2e30ae3db212b.ctex:: Wooden_House_Walls_Tilset.png::CompressedTexture2D::2090137081657271458::1721134988::1771872233::1::::<><><>0<>0<>995736e94fc20b058f2c694b380ff9d2<>res://.godot/imported/Wooden_House_Walls_Tilset.png-b489333aaf9ecb685bb2e30ae3db212b.ctex::
::res://levels/::1771872849 ::res://levels/::1771873066
levels_readme.md::TextFile::-1::1771841784::0::1::::<><><>0<>0<><>:: levels_readme.md::TextFile::-1::1771841784::0::1::::<><><>0<>0<><>::
level_1.tscn::PackedScene::5561728569663930979::1771872849::0::1::::<><><>0<>0<><>::uid://cd37y52uuio73::::res://Enviorment/Sprout Lands - Sprites - Basic pack/Tilesets/Fences.png<>uid://ci8ldr4imi7rg::::res://Enviorment/Sprout Lands - Sprites - Basic pack/Tilesets/Grass.png<>uid://fmfevetyh66i::::res://Machines/Resources/Models/Drones/BaseDrone/base_drone.tscn level_1.tscn::PackedScene::5561728569663930979::1771873066::0::1::::<><><>0<>0<><>::uid://cd37y52uuio73::::res://Enviorment/Sprout Lands - Sprites - Basic pack/Tilesets/Fences.png<>uid://ci8ldr4imi7rg::::res://Enviorment/Sprout Lands - Sprites - Basic pack/Tilesets/Grass.png<>uid://fmfevetyh66i::::res://Machines/Resources/Models/Drones/BaseDrone/base_drone.tscn
main_level.tscn::PackedScene::6468975218303303874::1771872092::0::1::::<><><>0<>0<><>:: main_level.tscn::PackedScene::6468975218303303874::1771872092::0::1::::<><><>0<>0<><>::
::res://Machines/::1771857941 ::res://Machines/::1771857941
::res://Machines/Resources/::1771871836 ::res://Machines/Resources/::1771878239
Machine_Globals.gd::GDScript::2525448592130895831::1771871836::0::1::::<>RefCounted<><>0<>0<><>:: Machine_Globals.gd::GDScript::2525448592130895831::1771878239::0::1::::MachineGlobals<>RefCounted<><>0<>0<><>::
::res://Machines/Resources/Abstracts/::1771871981 ::res://Machines/Resources/Abstracts/::1771879056
drone_machine.gd::GDScript::6346044854333652239::1771857550::0::1::::Drone<>Machine<><>1<>0<><>:: drone_machine.gd::GDScript::6346044854333652239::1771879056::0::1::::Drone<>Machine<><>1<>0<><>::
machine_abstract.gd::GDScript::8886170484691869618::1771871981::0::1::::Machine<>Node<><>1<>0<><>:: machine_abstract.gd::GDScript::8886170484691869618::1771878055::0::1::::Machine<>CharacterBody2D<><>1<>0<><>::
mech_machine.gd::GDScript::7297000423558208560::1771871981::0::1::::Mech<>Machine<><>1<>0<><>:: mech_machine.gd::GDScript::7297000423558208560::1771871981::0::1::::Mech<>Machine<><>1<>0<><>::
suit_machine.gd::GDScript::8590081693937044336::1771857121::0::1::::Suit<>Machine<><>1<>0<><>:: suit_machine.gd::GDScript::8590081693937044336::1771857121::0::1::::Suit<>Machine<><>1<>0<><>::
::res://Machines/Resources/Models/::1771858031 ::res://Machines/Resources/Models/::1771858031
::res://Machines/Resources/Models/Drones/::1771871149 ::res://Machines/Resources/Models/Drones/::1771879081
drone_model_scene.tscn::PackedScene::6165765690837776200::1771871149::0::1::::<><><>0<>0<><>:: drone_model_scene.tscn::PackedScene::6165765690837776200::1771879081::0::1::::<><><>0<>0<><>::
::res://Machines/Resources/Models/Drones/BaseDrone/::1771872090 ::res://Machines/Resources/Models/Drones/BaseDrone/::1771878978
base_drone.gd::GDScript::7816552958950085701::1771872090::0::1::::BaseDroneModel<>Drone<><>0<>0<><>:: base_drone.gd::GDScript::7816552958950085701::1771877129::0::1::::<>Drone<><>0<>0<><>::
base_drone.tscn::PackedScene::376028589443558970::1771871642::0::1::::<><><>0<>0<><>::uid://ct30i3w56w0lo::::res://Machines/Resources/Models/Drones/drone_model_scene.tscn<>uid://c3ks2krvhbeyx::::res://Machines/Sprites/Drones/BaseDrone/BaseDroneBodyIdleFrontAndBack.png<>uid://djmnqq6euiic8::::res://Machines/Resources/Models/Drones/BaseDrone/base_drone.gd<>uid://dayqx8tgi4fj8::::res://Machines/Sprites/Drones/BaseDrone/BaseDronBrain.png<>uid://b8cx4fmrgb83::::res://Machines/Sprites/Drones/BaseDrone/base_drone_head_front_idle.png<>uid://bgr6yq60l5mjt::::res://Machines/Sprites/Drones/BaseDrone/DefaultFuelTank.png<>uid://dnthmyuq5e54::::res://Machines/Sprites/Drones/BaseDrone/BaseDroneLegsFrontWalk.png<>uid://ctio2sfemdbag::::res://Machines/Sprites/Drones/BaseDrone/BaseDroneLegsIdleFront.png base_drone.tscn::PackedScene::376028589443558970::1771878978::0::1::::<><><>0<>0<><>::uid://ct30i3w56w0lo::::res://Machines/Resources/Models/Drones/drone_model_scene.tscn<>uid://c3ks2krvhbeyx::::res://Machines/Sprites/Drones/BaseDrone/BaseDroneBodyIdleFrontAndBack.png<>uid://djmnqq6euiic8::::res://Machines/Resources/Models/Drones/BaseDrone/base_drone.gd<>uid://dayqx8tgi4fj8::::res://Machines/Sprites/Drones/BaseDrone/BaseDronBrain.png<>uid://b8cx4fmrgb83::::res://Machines/Sprites/Drones/BaseDrone/base_drone_head_front_idle.png<>uid://bgr6yq60l5mjt::::res://Machines/Sprites/Drones/BaseDrone/DefaultFuelTank.png<>uid://dnthmyuq5e54::::res://Machines/Sprites/Drones/BaseDrone/BaseDroneLegsFrontWalk.png<>uid://ctio2sfemdbag::::res://Machines/Sprites/Drones/BaseDrone/BaseDroneLegsIdleFront.png
::res://Machines/Resources/Models/Mechs/::1771858031 ::res://Machines/Resources/Models/Mechs/::1771858031
::res://Machines/Resources/Models/Suits/::1771858007 ::res://Machines/Resources/Models/Suits/::1771858007
::res://Machines/Sprites/::1771858875 ::res://Machines/Sprites/::1771858875
@@ -91,7 +91,7 @@ base_drone_head_front_idle.png::CompressedTexture2D::138477348236707714::1771860
DefaultFuelTank.png::CompressedTexture2D::2844574142584107253::1771868974::1771869052::1::::<><><>0<>0<>f8ecb29c9e9c7ef29b63f244c630f168<>res://.godot/imported/DefaultFuelTank.png-c0f196080e0735c13191c1e87aaffab5.ctex:: DefaultFuelTank.png::CompressedTexture2D::2844574142584107253::1771868974::1771869052::1::::<><><>0<>0<>f8ecb29c9e9c7ef29b63f244c630f168<>res://.godot/imported/DefaultFuelTank.png-c0f196080e0735c13191c1e87aaffab5.ctex::
::res://Machines/Sprites/Mechs/::1771858863 ::res://Machines/Sprites/Mechs/::1771858863
::res://Machines/Sprites/Suits/::1771858854 ::res://Machines/Sprites/Suits/::1771858854
::res://ui/::1771841784 ::res://ui/::1771874263
::res://ui/components/::1771841784 ::res://ui/components/::1771841784
::res://ui/components/settings-menu/::1771841837 ::res://ui/components/settings-menu/::1771841837
Revert.svg::CompressedTexture2D::4339617245426587863::1771841784::1771841837::1::::<><><>0<>0<>297dc219980ee096674b7de235f79953<>res://.godot/imported/Revert.svg-83732f7446608123e95cc2f2a2cf35c6.ctex:: Revert.svg::CompressedTexture2D::4339617245426587863::1771841784::1771841837::1::::<><><>0<>0<>297dc219980ee096674b7de235f79953<>res://.godot/imported/Revert.svg-83732f7446608123e95cc2f2a2cf35c6.ctex::
@@ -100,6 +100,8 @@ settings_menu.tscn::PackedScene::6304534932307647668::1771841784::0::1::::<><><>
::res://ui/components/settings-menu/action-remapping-button/::1771841784 ::res://ui/components/settings-menu/action-remapping-button/::1771841784
action_remapping_button.gd::GDScript::4642898967767345029::1771841784::0::1::::<>Button<><>0<>0<><>:: action_remapping_button.gd::GDScript::4642898967767345029::1771841784::0::1::::<>Button<><>0<>0<><>::
action_remapping_button.tscn::PackedScene::925410865498412070::1771841784::0::1::::<><><>0<>0<><>::uid://b7fb4ravo24q0::::res://ui/components/settings-menu/action-remapping-button/action_remapping_button.gd action_remapping_button.tscn::PackedScene::925410865498412070::1771841784::0::1::::<><><>0<>0<><>::uid://b7fb4ravo24q0::::res://ui/components/settings-menu/action-remapping-button/action_remapping_button.gd
::res://ui/player ui/::1771874311
::res://ui/player ui/upgrading systems/::1771874304
::res://ui/screens/::1771841784 ::res://ui/screens/::1771841784
::res://ui/screens/control-screen/::1771841784 ::res://ui/screens/control-screen/::1771841784
control_screen.gd::GDScript::6615828920758056178::1771841784::0::1::::<>Control<><>0<>0<><>:: control_screen.gd::GDScript::6615828920758056178::1771841784::0::1::::<>Control<><>0<>0<><>::
@@ -128,5 +130,5 @@ title_screen.tscn::PackedScene::7375686277331198226::1771858880::0::1::::<><><>0
::res://ui/screens/win-screen/::1771841784 ::res://ui/screens/win-screen/::1771841784
win_screen.gd::GDScript::7620355351831359998::1771841784::0::1::::<>Control<><>0<>0<><>:: win_screen.gd::GDScript::7620355351831359998::1771841784::0::1::::<>Control<><>0<>0<><>::
win_screen.tscn::PackedScene::477294899242648607::1771841784::0::1::::<><><>0<>0<><>::uid://dgtme0a6lym5c::::res://ui/screens/win-screen/win_screen.gd win_screen.tscn::PackedScene::477294899242648607::1771841784::0::1::::<><><>0<>0<><>::uid://dgtme0a6lym5c::::res://ui/screens/win-screen/win_screen.gd
::res://ui/themes/::1771849414 ::res://ui/themes/::1771878978
your_theme.tres::Theme::506038871261939837::1771849414::0::1::::<><><>0<>0<><>::uid://b23e4kqj4o6dv::::res://ui/components/settings-menu/Revert.svg your_theme.tres::Theme::506038871261939837::1771878978::0::1::::<><><>0<>0<><>::uid://b23e4kqj4o6dv::::res://ui/components/settings-menu/Revert.svg

View File

@@ -1,7 +1,7 @@
res://levels/level_1.tscn res://Machines/Resources/Models/Drones/drone_model_scene.tscn
res://ui/themes/your_theme.tres res://ui/themes/your_theme.tres
res://core/main_environment.tres res://core/main_environment.tres
res://core/gamemanager.tscn res://levels/level_1.tscn
res://Machines/Resources/Abstracts/drone_machine.gd
res://Machines/Resources/Abstracts/machine_abstract.gd res://Machines/Resources/Abstracts/machine_abstract.gd
res://Machines/Resources/Models/Drones/BaseDrone/base_drone.gd
res://Machines/Resources/Models/Drones/BaseDrone/base_drone.tscn res://Machines/Resources/Models/Drones/BaseDrone/base_drone.tscn

View File

@@ -5,7 +5,7 @@
"grid_snap_active": false, "grid_snap_active": false,
"grid_step": Vector2(8, 8), "grid_step": Vector2(8, 8),
"grid_visibility": 1, "grid_visibility": 1,
"ofs": Vector2(-19.208525, -14.887727), "ofs": Vector2(-267.5236, -135.56262),
"primary_grid_step": Vector2i(8, 8), "primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true, "show_group_gizmos": true,
"show_guides": true, "show_guides": true,
@@ -31,7 +31,7 @@
"snap_rotation_step": 0.2617994, "snap_rotation_step": 0.2617994,
"snap_scale": false, "snap_scale": false,
"snap_scale_step": 0.1, "snap_scale_step": 0.1,
"zoom": 10.834712 "zoom": 2.1435893
} }
3D={ 3D={
"fov": 70.01, "fov": 70.01,
@@ -189,4 +189,4 @@
Anim={ Anim={
"visible": false "visible": false
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18065/@Panel@14/@VBoxContainer@15/DockHSplitMain/@VBoxContainer@28/DockVSplitCenter/@VSplitContainer@70/@VBoxContainer@71/@EditorMainScreen@125/MainScreen/@CanvasItemEditor@9318/@VSplitContainer@9101/@HSplitContainer@9103/@HSplitContainer@9105/@Control@9106/@SubViewportContainer@9107/@SubViewport@9108/Level1/BaseDrone")]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18065/@Panel@14/@VBoxContainer@15/DockHSplitMain/@VBoxContainer@28/DockVSplitCenter/@VSplitContainer@70/@VBoxContainer@71/@EditorMainScreen@125/MainScreen/@CanvasItemEditor@9318/@VSplitContainer@9101/@HSplitContainer@9103/@HSplitContainer@9105/@Control@9106/@SubViewportContainer@9107/@SubViewport@9108/Level1/Obstacles")])

View File

@@ -1,5 +1,5 @@
[folding] [folding]
node_unfolds=[NodePath("Ground"), PackedStringArray("Physics"), NodePath("Obstacles"), PackedStringArray("Physics", "Visibility")] node_unfolds=[NodePath("Ground"), PackedStringArray("Physics"), NodePath("Obstacles"), PackedStringArray("Physics", "Visibility", "tile_set"), NodePath("BaseDrone"), PackedStringArray("Collision")]
resource_unfolds=["res://levels/level_1.tscn::TileSet_gwceb", PackedStringArray(), "res://levels/level_1.tscn::TileSet_n46q3", PackedStringArray()] resource_unfolds=["res://levels/level_1.tscn::TileSet_gwceb", PackedStringArray(), "res://levels/level_1.tscn::TileSet_n46q3", PackedStringArray("terrain_set__array", "physics_layer__array")]
nodes_folded=[] nodes_folded=[]

View File

@@ -9,7 +9,7 @@ executable_path="/home/emily/Desktop/Godot_v4.5.1-stable_mono_linux_x86_64/Godot
[recent_files] [recent_files]
scenes=["res://Machines/Resources/Models/Drones/BaseDrone/base_drone.tscn", "res://Machines/Resources/Models/Drones/drone_model_scene.tscn", "res://ui/screens/title-screen/title_screen.tscn", "res://levels/main_level.tscn", "res://core/gamemanager.tscn"] scenes=["res://Machines/Resources/Models/Drones/BaseDrone/base_drone.tscn", "res://Machines/Resources/Models/Drones/drone_model_scene.tscn", "res://ui/screens/title-screen/title_screen.tscn", "res://levels/main_level.tscn", "res://core/gamemanager.tscn"]
scripts=["res://autoloads/settings/user_defined_settings.gd", "res://core/gamemanager.gd", "res://levels/levels_readme.md", "res://Machines/Resources/Models/Drones/BaseDrone/base_drone.gd", "res://Machines/mech_machine.gd", "res://Machines/suit_machine.gd", "res://Machines/Machine_Globals.gd", "res://Machines/drone_machine.gd", "res://Machines/machine_resource.gd"] scripts=["AnimatedSprite2D", "res://autoloads/settings/settings.gd", "res://autoloads/settings/user_defined_settings.gd", "res://core/gamemanager.gd", "res://levels/levels_readme.md", "res://Machines/Resources/Models/Drones/BaseDrone/base_drone.gd", "res://Machines/mech_machine.gd", "res://Machines/suit_machine.gd", "res://Machines/Machine_Globals.gd", "res://Machines/drone_machine.gd"]
[script_setup] [script_setup]
@@ -19,7 +19,7 @@ create_built_in_script=false
[dialog_bounds] [dialog_bounds]
create_new_node=Rect2(797, 354, 900, 700) create_new_node=Rect2(797, 354, 900, 700)
project_settings=Rect2(3004, 350, 1200, 700) project_settings=Rect2(647, 354, 1200, 700)
[quick_open_dialog] [quick_open_dialog]

View File

@@ -1,3 +1,3 @@
res://Machines/Sprites/Drones/BaseDrone/
res://Machines/Resources/Models/Drones/BaseDrone/ res://Machines/Resources/Models/Drones/BaseDrone/
res://Machines/Sprites/Drones/BaseDrone/
res://Machines/ res://Machines/

View File

@@ -3,10 +3,10 @@
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 8, "column": 0,
"folded_lines": PackedInt32Array(), "folded_lines": PackedInt32Array(),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 40, "row": 8,
"scroll_position": 0.0, "scroll_position": 0.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
@@ -17,11 +17,11 @@ state={
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 10, "column": 50,
"folded_lines": PackedInt32Array(), "folded_lines": PackedInt32Array(),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 1, "row": 85,
"scroll_position": 0.0, "scroll_position": 68.08,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
} }
@@ -34,8 +34,8 @@ state={
"column": 0, "column": 0,
"folded_lines": PackedInt32Array(), "folded_lines": PackedInt32Array(),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 19, "row": 55,
"scroll_position": 13.0, "scroll_position": 21.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
} }
@@ -45,10 +45,10 @@ state={
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 17, "column": 25,
"folded_lines": PackedInt32Array(), "folded_lines": PackedInt32Array(),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 9, "row": 4,
"scroll_position": 0.0, "scroll_position": 0.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
@@ -73,10 +73,10 @@ state={
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 17, "column": 12,
"folded_lines": PackedInt32Array(), "folded_lines": PackedInt32Array(),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 3, "row": 0,
"scroll_position": 0.0, "scroll_position": 0.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
@@ -123,3 +123,17 @@ state={
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
} }
[res://autoloads/settings/settings.gd]
state={
"bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(),
"column": 8,
"folded_lines": PackedInt32Array(),
"h_scroll_position": 0,
"row": 256,
"scroll_position": 255.0,
"selection": false,
"syntax_highlighter": "GDScript"
}

View File

@@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()

View File

@@ -1,11 +1,59 @@
list=[{ list=[{
"base": &"RefCounted",
"class": &"MachineGlobals",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://Machines/Resources/Machine_Globals.gd"
}, {
"base": &"Button",
"class": &"LevelButton",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://ui/screens/level-select-screen/level_button.gd"
}, {
"base": &"Resource",
"class": &"CreditEntry",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://ui/screens/credit-screen/credit_entry.gd"
}, {
"base": &"VBoxContainer",
"class": &"CreditButton",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://ui/screens/credit-screen/credit_element.gd"
}, {
"base": &"Node",
"class": &"GameManager",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://core/gamemanager.gd"
}, {
"base": &"RefCounted",
"class": &"UserDefinedSettings",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://autoloads/settings/user_defined_settings.gd"
}, {
"base": &"Machine", "base": &"Machine",
"class": &"Mech", "class": &"Suit",
"icon": "", "icon": "",
"is_abstract": true, "is_abstract": true,
"is_tool": false, "is_tool": false,
"language": &"GDScript", "language": &"GDScript",
"path": "res://Machines/Resources/Abstracts/mech_machine.gd" "path": "res://Machines/Resources/Abstracts/suit_machine.gd"
}, { }, {
"base": &"Machine", "base": &"Machine",
"class": &"Drone", "class": &"Drone",
@@ -16,12 +64,12 @@ list=[{
"path": "res://Machines/Resources/Abstracts/drone_machine.gd" "path": "res://Machines/Resources/Abstracts/drone_machine.gd"
}, { }, {
"base": &"Machine", "base": &"Machine",
"class": &"Suit", "class": &"Mech",
"icon": "", "icon": "",
"is_abstract": true, "is_abstract": true,
"is_tool": false, "is_tool": false,
"language": &"GDScript", "language": &"GDScript",
"path": "res://Machines/Resources/Abstracts/suit_machine.gd" "path": "res://Machines/Resources/Abstracts/mech_machine.gd"
}, { }, {
"base": &"CharacterBody2D", "base": &"CharacterBody2D",
"class": &"Machine", "class": &"Machine",
@@ -30,44 +78,4 @@ list=[{
"is_tool": false, "is_tool": false,
"language": &"GDScript", "language": &"GDScript",
"path": "res://Machines/Resources/Abstracts/machine_abstract.gd" "path": "res://Machines/Resources/Abstracts/machine_abstract.gd"
}, {
"base": &"RefCounted",
"class": &"UserDefinedSettings",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://autoloads/settings/user_defined_settings.gd"
}, {
"base": &"Node",
"class": &"GameManager",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://core/gamemanager.gd"
}, {
"base": &"VBoxContainer",
"class": &"CreditButton",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://ui/screens/credit-screen/credit_element.gd"
}, {
"base": &"Resource",
"class": &"CreditEntry",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://ui/screens/credit-screen/credit_entry.gd"
}, {
"base": &"Button",
"class": &"LevelButton",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://ui/screens/level-select-screen/level_button.gd"
}] }]

View File

@@ -3,13 +3,85 @@ extends Machine
class_name Drone class_name Drone
@export_category("Dash") @export_category("Dash")
@export var dodge_cd : float @export var dodge_cd := 5.0
@export var dodge_speed := 650.0
@export var dodge_duration := 0.18
var dodge_duration_timer : Timer
#region animation dictionaries
@export var idle_anim_front : Dictionary
@export var idle_anim_back : Dictionary
@export var idle_anim_left : Dictionary
@export var idle_anim_right : Dictionary
@export var walking_anim_front : Dictionary
@export var walking_anim_back : Dictionary
@export var walking_anim_left : Dictionary
@export var walking_anim_right : Dictionary
@export var dashing_anim_front : Dictionary
@export var dashing_anim_back : Dictionary
@export var dashing_anim_left : Dictionary
@export var dashing_anim_right : Dictionary
@export var interacting_anim_front : Dictionary
@export var interacting_anim_back : Dictionary
@export var interacting_anim_left : Dictionary
@export var interacting_anim_right : Dictionary
var anim_dictionary_idle : Dictionary
var anim_dictionary_walking : Dictionary
var anim_dictionary_dashing : Dictionary
var anim_dictionary_interacting : Dictionary
#endregion
func _ready() -> void: func _ready() -> void:
add_on_slots = 1 add_on_slots = 1
#region init animation dictionaries
anim_dictionary_idle.set(MachineGlobals.look_direction.UP, idle_anim_back)
anim_dictionary_idle.set(MachineGlobals.look_direction.DOWN, idle_anim_front)
anim_dictionary_idle.set(MachineGlobals.look_direction.LEFT, idle_anim_left)
anim_dictionary_idle.set(MachineGlobals.look_direction.RIGHT, idle_anim_right)
anim_dictionary_walking.set(MachineGlobals.look_direction.UP, walking_anim_back)
anim_dictionary_walking.set(MachineGlobals.look_direction.DOWN, walking_anim_front)
anim_dictionary_walking.set(MachineGlobals.look_direction.LEFT, walking_anim_left)
anim_dictionary_walking.set(MachineGlobals.look_direction.RIGHT, walking_anim_right)
anim_dictionary_interacting.set(MachineGlobals.look_direction.UP, interacting_anim_back)
anim_dictionary_interacting.set(MachineGlobals.look_direction.DOWN, interacting_anim_front)
anim_dictionary_interacting.set(MachineGlobals.look_direction.LEFT, interacting_anim_left)
anim_dictionary_interacting.set(MachineGlobals.look_direction.RIGHT, interacting_anim_right)
anim_dictionary_dashing.set(MachineGlobals.look_direction.UP, dashing_anim_back)
anim_dictionary_dashing.set(MachineGlobals.look_direction.DOWN, dashing_anim_front)
anim_dictionary_dashing.set(MachineGlobals.look_direction.LEFT, dashing_anim_left)
anim_dictionary_dashing.set(MachineGlobals.look_direction.RIGHT, dashing_anim_right)
#endregion
for a in self.get_children() :
if a.name == "DodgeDurationTimer" :
dodge_duration_timer = a
for a in MachineGlobals.drone_body_slots : for a in MachineGlobals.drone_body_slots :
machine_upgrades.set(a,null) machine_upgrades.set(a,null)
animation_state_machine = MachineGlobals.regular_states.IDLING
func class_ability() -> float: func class_ability() -> float:
#do dash #do dash
return dodge_cd return dodge_cd
func listen_to_animation_signals(next_anim_state : MachineGlobals.regular_states) -> void:
match next_anim_state :
MachineGlobals.regular_states.IDLING :
for a : AnimatedSprite2D in _get_body_parts() :
a.play(anim_dictionary_idle.get(look_dir).get(a.name))
MachineGlobals.regular_states.WALKING :
for a : AnimatedSprite2D in _get_body_parts() :
a.play(anim_dictionary_walking.get(look_dir).get(a.name))
MachineGlobals.regular_states.DASHING :
for a : AnimatedSprite2D in _get_body_parts() :
a.play(anim_dictionary_dashing.get(look_dir).get(a.name))
MachineGlobals.regular_states.INTERACTING :
for a : AnimatedSprite2D in _get_body_parts() :
a.play(anim_dictionary_interacting.get(look_dir).get(a.name))

View File

@@ -7,8 +7,10 @@ extends CharacterBody2D
@export var hit_points : float @export var hit_points : float
@export var fuel_tank_capacity : float @export var fuel_tank_capacity : float
@export var movement_speed : float @export var movement_speed : float
signal change_animation(anim_to_change_to)
var animation_state_machine : MachineGlobals.regular_states
var look_dir : MachineGlobals.look_direction var look_dir : MachineGlobals.look_direction
var states : Array var effects : Array
var add_on_slots : int var add_on_slots : int
var machine_upgrades : Dictionary var machine_upgrades : Dictionary
var ability_timer : Timer var ability_timer : Timer
@@ -21,6 +23,11 @@ var current_fuel_in_tank : float
@abstract func model_ability() -> float @abstract func model_ability() -> float
@abstract func class_ability() -> float @abstract func class_ability() -> float
@abstract func listen_to_animation_signals(next_anim_state : MachineGlobals.regular_states) -> void
func _ready() -> void:
connect("change_animation",listen_to_animation_signals)
func interact() -> void : func interact() -> void :
pass pass
@@ -31,8 +38,21 @@ func _physics_process(delta: float) -> void:
move_and_slide() move_and_slide()
func _movement(delta: float) -> void : func _movement(delta: float) -> void :
DebugGlobal.set_debug_info("Velocity", self.velocity )
var input_direction = Input.get_vector("move_left", "move_right", "move_up", "move_down") var input_direction = Input.get_vector("move_left", "move_right", "move_up", "move_down")
self.velocity = input_direction * movement_speed self.velocity = input_direction * movement_speed
if self.velocity != Vector2.ZERO && animation_state_machine in [MachineGlobals.regular_states.IDLING,MachineGlobals.regular_states.INTERACTING] :
animation_state_machine = MachineGlobals.regular_states.WALKING
if self.velocity.y < 0 :
look_dir = MachineGlobals.look_direction.UP
elif self.velocity.y > 0 :
look_dir = MachineGlobals.look_direction.DOWN
elif self.velocity.x > 0 :
look_dir = MachineGlobals.look_direction.RIGHT
elif self.velocity.x < 0 :
look_dir = MachineGlobals.look_direction.LEFT
else :
animation_state_machine = MachineGlobals.regular_states.IDLING
func _action_process(delta:float) -> void : func _action_process(delta:float) -> void :
if action_timer != null && action_timer.is_stopped(): if action_timer != null && action_timer.is_stopped():
@@ -47,3 +67,10 @@ func _ability_process(delta:float) -> void :
ability_timer.start(class_ability()) ability_timer.start(class_ability())
elif Input.is_action_just_pressed("model_ability") : elif Input.is_action_just_pressed("model_ability") :
ability_timer.start(model_ability()) ability_timer.start(model_ability())
func _get_body_parts() -> Array :
var clist : Array
for a in self.get_children() :
if a is AnimatedSprite2D :
clist.append(a)
return clist

View File

@@ -1,3 +1,4 @@
class_name MachineGlobals
enum drone_body_slots{ enum drone_body_slots{
BRAIN, BRAIN,
LEGS, LEGS,

View File

@@ -1,7 +1,7 @@
extends Drone extends Drone
func _ready() -> void: func _ready() -> void:
self_body = self pass
func primary_action() -> float: func primary_action() -> float:
return -1 return -1

View File

@@ -190,7 +190,7 @@ animations = [{
}], }],
"loop": true, "loop": true,
"name": &"base_head_idle_front", "name": &"base_head_idle_front",
"speed": 4.0 "speed": 5.0
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
@@ -226,12 +226,8 @@ animations = [{
[node name="BaseDrone" unique_id=872770085 instance=ExtResource("1_j7lnw")] [node name="BaseDrone" unique_id=872770085 instance=ExtResource("1_j7lnw")]
script = ExtResource("2_njeil") script = ExtResource("2_njeil")
dodge_cd = null
model_name = &"Base" model_name = &"Base"
carry_capacity = null movement_speed = 150.0
hit_points = null
fuel_tank_capacity = null
movement_speed = 5.0
[node name="Brain" parent="." index="0" unique_id=1086286463] [node name="Brain" parent="." index="0" unique_id=1086286463]
position = Vector2(-4.7683716e-07, -0.9999995) position = Vector2(-4.7683716e-07, -0.9999995)
@@ -261,4 +257,6 @@ position = Vector2(-2.842171e-14, -5.9604645e-08)
scale = Vector2(0.6875, 0.6875) scale = Vector2(0.6875, 0.6875)
sprite_frames = SubResource("SpriteFrames_wbero") sprite_frames = SubResource("SpriteFrames_wbero")
animation = &"base_head_idle_front" animation = &"base_head_idle_front"
frame_progress = 0.7447344
[node name="Camera2D" parent="." index="6" unique_id=2079743221]
zoom = Vector2(5, 5)

View File

@@ -7,6 +7,7 @@ size = Vector2(10, 8)
[node name="Drone" type="CharacterBody2D" unique_id=19986915] [node name="Drone" type="CharacterBody2D" unique_id=19986915]
texture_filter = 1 texture_filter = 1
collision_layer = 3
[node name="Brain" type="AnimatedSprite2D" parent="." unique_id=1086286463] [node name="Brain" type="AnimatedSprite2D" parent="." unique_id=1086286463]
sprite_frames = SubResource("SpriteFrames_bsvqd") sprite_frames = SubResource("SpriteFrames_bsvqd")
@@ -25,3 +26,7 @@ sprite_frames = SubResource("SpriteFrames_bsvqd")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1475205819] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1475205819]
shape = SubResource("RectangleShape2D_6pa52") shape = SubResource("RectangleShape2D_6pa52")
[node name="Camera2D" type="Camera2D" parent="." unique_id=2079743221]
[node name="DodgeDurationTimer" type="Timer" parent="." unique_id=656287999]

View File

@@ -81,26 +81,37 @@ texture = ExtResource("2_bt44k")
[sub_resource type="TileSet" id="TileSet_gwceb"] [sub_resource type="TileSet" id="TileSet_gwceb"]
sources/0 = SubResource("TileSetAtlasSource_btoec") sources/0 = SubResource("TileSetAtlasSource_btoec")
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_bt44k"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kx6l7"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kx6l7"]
texture = ExtResource("1_jirdo") texture = ExtResource("1_jirdo")
0:0/0 = 0 0:0/0 = 0
1:0/0 = 0 1:0/0 = 0
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1.7985878, -4.13675, 2.5180225, -5.935337, 8, -3.956891, 8, -0.71943474, 2.877739, -0.71943474, 0.71943474, 8, -2.1583042, 8)
2:0/0 = 0 2:0/0 = 0
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -4.4964676, 8, -3.7770329, 8, -0.71943474, 2.877739, -0.71943474, 1.978445, 8, -1.2590103, 8, -2.7046165, -0.83976746, -8, -0.8992939)
3:0/0 = 0 3:0/0 = 0
3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -3.7770329, 2.5180225, -5.755479, 1.7985878, 8, -0.8992939, 8, -1.4388695, -0.35971642, -8, -1.4388695)
0:1/0 = 0 0:1/0 = 0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1.978447, -8, 2.6978817, -8, 1.0791531, 8, -2.3381634, 8)
1:1/0 = 0 1:1/0 = 0
2:1/0 = 0 2:1/0 = 0
3:1/0 = 0 3:1/0 = 0
0:2/0 = 0 0:2/0 = 0
1:2/0 = 0 1:2/0 = 0
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-2.1583042, -8, 1.0791531, -8, 8, -3.2374563, 8, 1.6187286, -3.2374573, 3.956892)
2:2/0 = 0 2:2/0 = 0
3:2/0 = 0 3:2/0 = 0
3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -3.7770329, 1.0791531, -8, 3.057598, 1.7985878, -8, 2.3381634)
0:3/0 = 0 0:3/0 = 0
1:3/0 = 0 1:3/0 = 0
2:3/0 = 0 2:3/0 = 0
2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 0.17985916, -8, 0)
3:3/0 = 0 3:3/0 = 0
[sub_resource type="TileSet" id="TileSet_n46q3"] [sub_resource type="TileSet" id="TileSet_n46q3"]
physics_layer_0/collision_layer = 3
physics_layer_0/physics_material = SubResource("PhysicsMaterial_bt44k")
sources/0 = SubResource("TileSetAtlasSource_kx6l7") sources/0 = SubResource("TileSetAtlasSource_kx6l7")
[node name="Level1" type="Node2D" unique_id=875914632] [node name="Level1" type="Node2D" unique_id=875914632]
@@ -111,12 +122,8 @@ tile_set = SubResource("TileSet_gwceb")
collision_enabled = false collision_enabled = false
[node name="Obstacles" type="TileMapLayer" parent="." unique_id=1240210132] [node name="Obstacles" type="TileMapLayer" parent="." unique_id=1240210132]
tile_map_data = PackedByteArray("AAABAAEAAAABAAAAAAABAAIAAAAAAAEAAAABAAMAAAAAAAEAAAABAAQAAAAAAAEAAAABAAUAAAAAAAEAAAABAAYAAAAAAAEAAAABAAcAAAAAAAEAAAABAAgAAAAAAAEAAAABAAkAAAAAAAEAAAABAAoAAAAAAAEAAAABAAsAAAABAAIAAAACAAsAAAACAAMAAAADAAsAAAACAAMAAAAEAAsAAAACAAMAAAAFAAsAAAACAAMAAAAGAAsAAAACAAMAAAAHAAsAAAACAAMAAAAIAAsAAAACAAMAAAAJAAsAAAACAAMAAAAKAAsAAAACAAMAAAALAAsAAAACAAMAAAAMAAsAAAACAAMAAAANAAsAAAACAAMAAAAOAAsAAAACAAMAAAAPAAsAAAACAAMAAAAQAAsAAAACAAMAAAARAAsAAAACAAMAAAASAAsAAAACAAMAAAATAAsAAAACAAMAAAAUAAsAAAACAAMAAAAVAAsAAAACAAMAAAAWAAsAAAACAAMAAAAXAAsAAAACAAMAAAAYAAsAAAACAAMAAAAZAAsAAAACAAMAAAAaAAsAAAACAAMAAAAbAAsAAAACAAMAAAAcAAsAAAACAAMAAAAdAAsAAAACAAMAAAAeAAsAAAACAAMAAAAfAAsAAAACAAMAAAAgAAsAAAACAAMAAAAhAAsAAAACAAMAAAAiAAsAAAACAAMAAAAjAAsAAAACAAMAAAAkAAsAAAACAAMAAAAlAAsAAAACAAMAAAAmAAsAAAACAAMAAAAnAAsAAAACAAMAAAAoAAsAAAACAAMAAAApAAsAAAACAAMAAAAqAAsAAAACAAMAAAArAAsAAAACAAMAAAACAAEAAAACAAMAAAADAAEAAAACAAMAAAAEAAEAAAACAAMAAAAFAAEAAAACAAMAAAAGAAEAAAACAAMAAAAHAAEAAAACAAMAAAALAAEAAAACAAMAAAAMAAEAAAACAAMAAAAIAAEAAAACAAMAAAAJAAEAAAACAAMAAAAKAAEAAAACAAMAAAArAAEAAAACAAMAAAAqAAEAAAACAAMAAAApAAEAAAACAAMAAAAoAAEAAAACAAMAAAAnAAEAAAACAAMAAAAmAAEAAAACAAMAAAAlAAEAAAACAAMAAAAkAAEAAAACAAMAAAAjAAEAAAACAAMAAAAiAAEAAAACAAMAAAAhAAEAAAACAAMAAAAgAAEAAAACAAMAAAAfAAEAAAACAAMAAAAeAAEAAAACAAMAAAAdAAEAAAACAAMAAAAcAAEAAAACAAMAAAAbAAEAAAACAAMAAAAaAAEAAAACAAMAAAAZAAEAAAACAAMAAAAYAAEAAAACAAMAAAAXAAEAAAACAAMAAAAWAAEAAAACAAMAAAAVAAEAAAACAAMAAAAUAAEAAAACAAMAAAATAAEAAAACAAMAAAASAAEAAAACAAMAAAARAAEAAAACAAMAAAAQAAEAAAACAAMAAAAPAAEAAAACAAMAAAAOAAEAAAACAAMAAAANAAEAAAACAAMAAAAsAAIAAAAAAAEAAAAsAAMAAAAAAAEAAAAsAAQAAAAAAAEAAAAsAAUAAAAAAAEAAAAsAAYAAAAAAAEAAAAsAAcAAAAAAAEAAAAsAAgAAAAAAAEAAAAsAAkAAAAAAAEAAAAsAAoAAAAAAAEAAAAsAAsAAAADAAIAAAAsAAEAAAADAAAAAAA=") tile_map_data = PackedByteArray("AAACAAEAAAACAAMAAAADAAEAAAACAAMAAAAEAAEAAAACAAMAAAAFAAEAAAACAAMAAAAGAAEAAAACAAMAAAAHAAEAAAACAAMAAAAIAAEAAAACAAMAAAAHAAkAAAACAAMAAAAGAAkAAAACAAMAAAAFAAkAAAACAAMAAAAEAAkAAAACAAMAAAADAAkAAAACAAMAAAACAAkAAAACAAMAAAABAAkAAAABAAMAAAAJAAkAAAADAAMAAAAIAAkAAAACAAMAAAABAAgAAAAAAAEAAAABAAcAAAAAAAEAAAABAAYAAAAAAAEAAAABAAUAAAAAAAEAAAABAAQAAAAAAAEAAAABAAMAAAAAAAEAAAABAAIAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAAAAEAAAAJAAUAAAAAAAEAAAAJAAYAAAAAAAEAAAAJAAcAAAAAAAEAAAAJAAEAAAADAAEAAAABAAEAAAABAAAAAAA=")
tile_set = SubResource("TileSet_n46q3") tile_set = SubResource("TileSet_n46q3")
[node name="BaseDrone" parent="." unique_id=872770085 instance=ExtResource("3_bt44k")] [node name="BaseDrone" parent="." unique_id=872770085 instance=ExtResource("3_bt44k")]
position = Vector2(40, 43) position = Vector2(40, 43)
dodge_cd = null
carry_capacity = null
hit_points = null
fuel_tank_capacity = null

View File

@@ -25,7 +25,6 @@ InputManager="*res://autoloads/input_manager.gd"
DebugGlobal="*res://autoloads/debug_global.gd" DebugGlobal="*res://autoloads/debug_global.gd"
Global="*res://autoloads/global.gd" Global="*res://autoloads/global.gd"
Settings="*res://autoloads/settings/settings.gd" Settings="*res://autoloads/settings/settings.gd"
MachineGlobals="*uid://bb8l1fmenh8j0"
[display] [display]
@@ -98,6 +97,11 @@ add_on_ability_1={
] ]
} }
[layer_names]
2d_physics/layer_1="EnviormentCollision"
2d_physics/layer_2="CharacterCollisions"
[rendering] [rendering]
renderer/rendering_method="gl_compatibility" renderer/rendering_method="gl_compatibility"