diff --git a/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import index 97b37c2..824bacb 100644 --- a/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://boasm0g587eov" +path.s3tc="res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Dark/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.s3tc.ctex", "res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import index bb1f6a3..c0756a2 100644 --- a/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://3e1klega6uye" +path.s3tc="res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Green/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.s3tc.ctex", "res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import index cad96a2..681440f 100644 --- a/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://0t6ie0fkv2op" +path.s3tc="res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Light/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.s3tc.ctex", "res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import index 5ac5649..832a0d2 100644 --- a/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://t10lfkxrg7ay" +path.s3tc="res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Orange/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.s3tc.ctex", "res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import index bf717ef..3d26250 100644 --- a/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://dgix86l87u86s" +path.s3tc="res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Red/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.s3tc.ctex", "res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import b/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import index 794c94c..9da5157 100644 --- a/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import +++ b/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://woq2hudxhckr" +path.s3tc="res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.s3tc.ctex" path.etc2="res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png" -dest_files=["res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex"] +dest_files=["res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.s3tc.ctex", "res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex"] [params] diff --git a/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import b/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import index 0baa577..e9c1f25 100644 --- a/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import +++ b/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://lp2pt8mtj7ty" +path.s3tc="res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.s3tc.ctex" path.etc2="res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png" -dest_files=["res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex"] +dest_files=["res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.s3tc.ctex", "res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex"] [params] diff --git a/player_controller/PlayerController.tscn b/player_controller/PlayerController.tscn index 674a5cd..35642ee 100644 --- a/player_controller/PlayerController.tscn +++ b/player_controller/PlayerController.tscn @@ -1,9 +1,7 @@ -[gd_scene load_steps=34 format=3 uid="uid://bei4nhkf8lwdo"] +[gd_scene load_steps=26 format=3 uid="uid://bei4nhkf8lwdo"] [ext_resource type="Script" uid="uid://bbbrf5ckydfna" path="res://player_controller/Scripts/PlayerController.cs" id="1_poq2x"] -[ext_resource type="Material" uid="uid://dtq8i1ka1f2pn" path="res://player_controller/Assets/Materials/Health/CameraVignette.tres" id="2_6hee7"] -[ext_resource type="Material" uid="uid://nyh5tn1yoxeu" path="res://player_controller/Assets/Materials/Health/CameraDistortion.tres" id="3_mxh1y"] -[ext_resource type="Shader" uid="uid://btw6vsb6sa7sn" path="res://player_controller/Shaders/Blur.gdshader" id="4_jyscr"] +[ext_resource type="Resource" uid="uid://bl5crtu1gkrtr" path="res://systems/inputs/walk_mode/base_mode.tres" id="3_cresl"] [ext_resource type="Resource" uid="uid://cpdaw41ah5gic" path="res://systems/inputs/walk_mode/rotate_y.tres" id="4_rxwoh"] [ext_resource type="Resource" uid="uid://ccrb5xsnphc8" path="res://systems/inputs/walk_mode/rotate_floorplane.tres" id="5_4u7i3"] [ext_resource type="Script" uid="uid://dv7v1ywmbvvcd" path="res://player_controller/Scripts/HealthSystem.cs" id="5_umw0l"] @@ -12,117 +10,27 @@ [ext_resource type="Resource" uid="uid://dgfww8118d8gj" path="res://systems/inputs/walk_mode/aim.tres" id="7_cresl"] [ext_resource type="Resource" uid="uid://j1o5ud0plk4" path="res://systems/inputs/walk_mode/aim_release.tres" id="8_lhb11"] [ext_resource type="Script" uid="uid://dd1yrt7eiiyf4" path="res://player_controller/Scripts/CapsuleCollider.cs" id="8_lmtjd"] -[ext_resource type="PackedScene" uid="uid://wq1okogkhc5l" path="res://systems/mantle_system.tscn" id="8_qu4wy"] +[ext_resource type="PackedScene" uid="uid://wq1okogkhc5l" path="res://systems/mantle/mantle_system.tscn" id="8_qu4wy"] [ext_resource type="Resource" uid="uid://7wm8ywvujwf" path="res://systems/inputs/walk_mode/aim_cancel.tres" id="9_5p2qc"] [ext_resource type="Script" uid="uid://bt0xv2q8iv1vn" path="res://player_controller/Scripts/Gravity.cs" id="9_lsueh"] [ext_resource type="Script" uid="uid://dwoppk8j5fxeg" path="res://player_controller/Scripts/DashSystem.cs" id="9_qu4wy"] [ext_resource type="Script" uid="uid://g8idirw62qe0" path="res://player_controller/Scripts/Bobbing.cs" id="10_7wk1w"] [ext_resource type="Script" uid="uid://c6bx47wr7fbdm" path="res://player_controller/Scripts/Mouse.cs" id="11_huhen"] +[ext_resource type="PackedScene" uid="uid://0ysqmqphq6mq" path="res://systems/head/head_system.tscn" id="11_rxwoh"] [ext_resource type="Script" uid="uid://b6k73aj5povgv" path="res://player_controller/Scripts/FieldOfView.cs" id="12_m2mxi"] -[ext_resource type="Script" uid="uid://bt8flen3mi28r" path="res://player_controller/Scripts/AnimationPlayer.cs" id="13_vnh4e"] [ext_resource type="Script" uid="uid://b5nk6ntlps3x0" path="res://systems/inputs/input_system.gd" id="16_v31n3"] [ext_resource type="Resource" uid="uid://htqvokm8mufq" path="res://systems/inputs/walk_mode/move.tres" id="17_h6vvl"] -[ext_resource type="Resource" uid="uid://dijkqkltwkrfe" path="res://systems/inputs/walk_mode/walk_mode.tres" id="18_sik0q"] [sub_resource type="CapsuleMesh" id="CapsuleMesh_xc2g5"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_wydro"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_o1np4"] -shader = ExtResource("4_jyscr") -shader_parameter/limit = 0.0 -shader_parameter/blur = 0.0 - [sub_resource type="SphereShape3D" id="SphereShape3D_qu4wy"] [sub_resource type="SphereMesh" id="SphereMesh_qu4wy"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v31n3"] -[sub_resource type="Animation" id="Animation_vcu7l"] -length = 0.001 -tracks/0/type = "bezier" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Head:rotation:x") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/1/type = "bezier" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Head:rotation:y") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/2/type = "bezier" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Head:rotation:z") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} - -[sub_resource type="Animation" id="Animation_tsmqm"] -resource_name = "player_head_on_dying1" - -[sub_resource type="Animation" id="Animation_6iwn4"] -resource_name = "players_head_on_dying" -length = 8.0 -step = 5.0 -tracks/0/type = "bezier" -tracks/0/imported = false -tracks/0/enabled = false -tracks/0/path = NodePath("Head:rotation:x") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/1/type = "bezier" -tracks/1/imported = false -tracks/1/enabled = false -tracks/1/path = NodePath("Head:rotation:y") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/2/type = "bezier" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Head:rotation:z") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"handle_modes": PackedInt32Array(0, 0, 0, 0, 0), -"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1.5, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1.1, -0.25, 0, 0.25, 0, 1.05, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0, 0.358541, 0.995647, 2, 4.7) -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_vd0e2"] -_data = { -&"RESET": SubResource("Animation_vcu7l"), -&"player_head_on_dying1": SubResource("Animation_tsmqm"), -&"players_head_on_dying": SubResource("Animation_6iwn4") -} - [node name="Player" type="CharacterBody3D"] script = ExtResource("1_poq2x") WalkSpeed = 10.0 @@ -130,7 +38,7 @@ SprintSpeed = 15.0 [node name="InputController" type="Node3D" parent="."] script = ExtResource("16_v31n3") -walk_mode = ExtResource("18_sik0q") +base_mode = ExtResource("3_cresl") move = ExtResource("17_h6vvl") rotate_y = ExtResource("4_rxwoh") rotate_floorplane = ExtResource("5_4u7i3") @@ -147,54 +55,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) shape = SubResource("CapsuleShape3D_wydro") script = ExtResource("8_lmtjd") -[node name="Head" type="Node3D" parent="."] +[node name="HeadSystem" parent="." instance=ExtResource("11_rxwoh")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.68, 0) -[node name="CameraSmooth" type="Node3D" parent="Head"] - -[node name="Camera3D" type="Camera3D" parent="Head/CameraSmooth"] -transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, 0, 0) -current = true - -[node name="CLVignette(Layer_1)" type="CanvasLayer" parent="Head/CameraSmooth/Camera3D"] - -[node name="HealthVignetteRect" type="ColorRect" parent="Head/CameraSmooth/Camera3D/CLVignette(Layer_1)"] -material = ExtResource("2_6hee7") -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -mouse_filter = 2 - -[node name="CLDistortion(Layer_2)" type="CanvasLayer" parent="Head/CameraSmooth/Camera3D"] -layer = 2 - -[node name="HealthDistortionRect" type="ColorRect" parent="Head/CameraSmooth/Camera3D/CLDistortion(Layer_2)"] -material = ExtResource("3_mxh1y") -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -mouse_filter = 2 - -[node name="CLBlur(Layer_2)" type="CanvasLayer" parent="Head/CameraSmooth/Camera3D"] -layer = 2 - -[node name="BlurRect" type="ColorRect" parent="Head/CameraSmooth/Camera3D/CLBlur(Layer_2)"] -material = SubResource("ShaderMaterial_o1np4") -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -mouse_filter = 2 - -[node name="RayCast3D" type="RayCast3D" parent="Head/CameraSmooth/Camera3D"] -transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -0.64723) -visible = false - [node name="HealthSystem" type="Node3D" parent="."] script = ExtResource("5_umw0l") @@ -247,12 +110,6 @@ script = ExtResource("11_huhen") [node name="FieldOfView" type="Node3D" parent="."] script = ExtResource("12_m2mxi") -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -&"": SubResource("AnimationLibrary_vd0e2") -} -script = ExtResource("13_vnh4e") - [node name="HeadCollisionDetectors" type="Node3D" parent="."] [node name="HeadCollisionDetector0" type="RayCast3D" parent="HeadCollisionDetectors"] diff --git a/player_controller/Scripts/HealthSystem.cs b/player_controller/Scripts/HealthSystem.cs index eb15098..fcabc0f 100644 --- a/player_controller/Scripts/HealthSystem.cs +++ b/player_controller/Scripts/HealthSystem.cs @@ -140,7 +140,6 @@ public partial class HealthSystem : Node3D private bool _dead; private Node3D _head; - private AnimationPlayer _animationPlayer; private ShaderMaterial _blurMaterial; public struct HealthSystemInitParams @@ -148,7 +147,6 @@ public partial class HealthSystem : Node3D public Gravity Gravity; public CharacterBody3D Parent; public Camera3D Camera; - public AnimationPlayer AnimationPlayer; public Node3D Head; public ColorRect VignetteRect; public ColorRect DistortionRect; @@ -187,8 +185,6 @@ public partial class HealthSystem : Node3D _blurMaterial.SetShaderParameter(Constants.BLUR_SHADER_LIMIT, 0.0f); _blurMaterial.SetShaderParameter(Constants.BLUR_SHADER_BLUR, 0.0f); - - _animationPlayer = initParams.AnimationPlayer; } public override void _Process(double delta) @@ -250,7 +246,6 @@ public partial class HealthSystem : Node3D if (!_deathAnimationPlayed) { - _animationPlayer.PlayCameraRotationOnDeath(); _deathAnimationPlayed = true; } diff --git a/player_controller/Scripts/Mouse.cs b/player_controller/Scripts/Mouse.cs index a0526bd..02330c9 100644 --- a/player_controller/Scripts/Mouse.cs +++ b/player_controller/Scripts/Mouse.cs @@ -8,8 +8,6 @@ public partial class Mouse : Node3D [Export(PropertyHint.Range, "0,0.1,0.001,or_greater")] public float Sensitivity { get; set; } = 0.004f; - - private Node3D _head; private Camera3D _camera; @@ -40,17 +38,4 @@ public partial class Mouse : Node3D _camera.Rotation = currentCameraRotation; } - public override void _UnhandledInput(InputEvent @event) - { - if (_isPlayerDead()) - { - return; - } - - if (@event is InputEventMouseMotion eventMouseMotion) - { - var lookDir = new Vector2(-eventMouseMotion.Relative.X, -eventMouseMotion.Relative.Y); - LookAround(lookDir); - } - } } diff --git a/player_controller/Scripts/PlayerController.cs b/player_controller/Scripts/PlayerController.cs index e744270..951ef3a 100644 --- a/player_controller/Scripts/PlayerController.cs +++ b/player_controller/Scripts/PlayerController.cs @@ -8,7 +8,7 @@ namespace PolarBears.PlayerControllerAddon; public partial class PlayerController : CharacterBody3D { // User API to important child nodes. - public Node3D Head; + public HeadSystem HeadSystem; public Bobbing Bobbing; public FieldOfView FieldOfView; public Stamina Stamina; @@ -18,7 +18,7 @@ public partial class PlayerController : CharacterBody3D public CapsuleCollider CapsuleCollider; public Gravity Gravity; public HealthSystem HealthSystem; - public Mouse Mouse; + [Export(PropertyHint.Range, "0,20,0.1,or_greater")] public float WalkSpeed { get; set; } = 5.0f; @@ -31,9 +31,6 @@ public partial class PlayerController : CharacterBody3D [Export(PropertyHint.Range, "0,5,0.1,or_greater")] public float DoubleJumpSpeedFactor { get; set; } = 2f; - - [Export(PropertyHint.Range, "1,50,1,or_greater")] - public float ControllerSensitivity { get; set; } = 20f; private bool _canDoubleJump = true; private bool _movementEnabled = true; @@ -100,7 +97,8 @@ public partial class PlayerController : CharacterBody3D { _currentSpeed = WalkSpeed; - Head = GetNode("Head"); + HeadSystem = GetNode("HeadSystem"); + HeadSystem.Init(); _headCollisionDetectors = new RayCast3D[NumOfHeadCollisionDetectors]; @@ -111,25 +109,23 @@ public partial class PlayerController : CharacterBody3D } // Getting dependencies of the components(In godot we manage this from upwards to downwards not vice versa) - Camera3D camera = GetNode("Head/CameraSmooth/Camera3D"); + Camera3D camera = GetNode("HeadSystem/CameraSmooth/Camera3D"); RayCast3D stairsBelowRayCast3D = GetNode("StairsBelowRayCast3D"); RayCast3D stairsAheadRayCast3D = GetNode("StairsAheadRayCast3D"); - Node3D cameraSmooth = GetNode("Head/CameraSmooth"); - - AnimationPlayer animationPlayer = GetNode("AnimationPlayer"); + Node3D cameraSmooth = GetNode("HeadSystem/CameraSmooth"); // Getting universal setting from GODOT editor to be in sync float gravitySetting = (float)ProjectSettings.GetSetting("physics/3d/default_gravity"); ColorRect vignetteRect = GetNode( - "Head/CameraSmooth/Camera3D/CLVignette(Layer_1)/HealthVignetteRect"); + "HeadSystem/CameraSmooth/Camera3D/CLVignette(Layer_1)/HealthVignetteRect"); ColorRect distortionRect = GetNode( - "Head/CameraSmooth/Camera3D/CLDistortion(Layer_2)/HealthDistortionRect"); + "HeadSystem/CameraSmooth/Camera3D/CLDistortion(Layer_2)/HealthDistortionRect"); - ColorRect blurRect = GetNode("Head/CameraSmooth/Camera3D/CLBlur(Layer_2)/BlurRect"); + ColorRect blurRect = GetNode("HeadSystem/CameraSmooth/Camera3D/CLBlur(Layer_2)/BlurRect"); Node3D mapNode = GetTree().Root.FindChild("Map", true, false) as Node3D; @@ -148,10 +144,10 @@ public partial class PlayerController : CharacterBody3D StairsSystem.Init(stairsBelowRayCast3D, stairsAheadRayCast3D, cameraSmooth); MantleSystem = GetNode("MantleSystem"); - MantleSystem.Init(Head); + MantleSystem.Init(HeadSystem); DashSystem = GetNode("DashSystem"); - DashSystem.Init(Head, camera); + DashSystem.Init(HeadSystem, camera); CapsuleCollider = GetNode("CapsuleCollider"); @@ -165,17 +161,13 @@ public partial class PlayerController : CharacterBody3D Gravity = Gravity, Parent = this, Camera = camera, - AnimationPlayer = animationPlayer, - Head = Head, + Head = HeadSystem, VignetteRect = vignetteRect, DistortionRect = distortionRect, BlurRect = blurRect, }; HealthSystem.Init(healthSystemParams); - - Mouse = GetNode("Mouse"); - Mouse.Init(Head, camera, HealthSystem.IsDead); } private void DisableMovement() @@ -325,16 +317,15 @@ public partial class PlayerController : CharacterBody3D _currentSpeed = SprintSpeed; } - // Vector2 inputLookDir = Input.GetVector("look_left", "look_right", "look_up", "look_down"); Vector2 inputLookDir = new Vector2(_inputRotateY, _inputRotateFloorplane); - Mouse.LookAround(-1 * ControllerSensitivity * inputLookDir); + HeadSystem.LookAround(inputLookDir); // Basis is a 3x4 matrix. It contains information about scaling and rotation of head. // By multiplying our Vector3 by this matrix we're doing multiple things: // a) We start to operate in global space; // b) We're applying to Vector3 the current rotation of "head" object; // c) We're applying to Vector3 the current scaling of "head" object; - Vector3 direction = Head.Transform.Basis * _inputMove; + Vector3 direction = HeadSystem.Transform.Basis * _inputMove; if (isPlayerDead) { diff --git a/project.godot b/project.godot index 1c3c6c5..1a05ef1 100644 --- a/project.godot +++ b/project.godot @@ -8,6 +8,10 @@ config_version=5 +[animation] + +warnings/check_invalid_track_paths=false + [application] config/name="Movement tests" diff --git a/systems/head/HeadSystem.cs b/systems/head/HeadSystem.cs new file mode 100644 index 0000000..634c29a --- /dev/null +++ b/systems/head/HeadSystem.cs @@ -0,0 +1,30 @@ +using Godot; +using System; + +public partial class HeadSystem : Node3D +{ + private Camera3D _camera; + + [Export(PropertyHint.Range, "0,10,0.1,or_greater")] + public float LookSensitivity { get; set; } = 1f; + + public void Init() + { + Input.SetMouseMode(Input.MouseModeEnum.Captured); + _camera = GetNode("CameraSmooth/Camera3D"); + } + + public void LookAround(Vector2 lookDir) + { + // Horizontal movement of head + float angleForHorizontalRotation = lookDir.X * LookSensitivity; + RotateY(angleForHorizontalRotation); + + // Vertical movement of head + Vector3 currentCameraRotation = _camera.Rotation; + currentCameraRotation.X += Convert.ToSingle(lookDir.Y * LookSensitivity); + currentCameraRotation.X = Mathf.Clamp(currentCameraRotation.X, Mathf.DegToRad(-90f), Mathf.DegToRad(90f)); + + _camera.Rotation = currentCameraRotation; + } +} diff --git a/systems/head/HeadSystem.cs.uid b/systems/head/HeadSystem.cs.uid new file mode 100644 index 0000000..9fa4411 --- /dev/null +++ b/systems/head/HeadSystem.cs.uid @@ -0,0 +1 @@ +uid://dtkdrnsmlwm67 diff --git a/systems/head/head_system.tscn b/systems/head/head_system.tscn new file mode 100644 index 0000000..4ab2b86 --- /dev/null +++ b/systems/head/head_system.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=6 format=3 uid="uid://0ysqmqphq6mq"] + +[ext_resource type="Script" uid="uid://dtkdrnsmlwm67" path="res://systems/head/HeadSystem.cs" id="1_8abgy"] +[ext_resource type="Material" uid="uid://dtq8i1ka1f2pn" path="res://player_controller/Assets/Materials/Health/CameraVignette.tres" id="2_urko7"] +[ext_resource type="Material" uid="uid://nyh5tn1yoxeu" path="res://player_controller/Assets/Materials/Health/CameraDistortion.tres" id="3_0hyrq"] +[ext_resource type="Shader" uid="uid://btw6vsb6sa7sn" path="res://player_controller/Shaders/Blur.gdshader" id="4_ubhf8"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_o1np4"] +shader = ExtResource("4_ubhf8") +shader_parameter/limit = 0.0 +shader_parameter/blur = 0.0 + +[node name="HeadSystem" type="Node3D"] +script = ExtResource("1_8abgy") + +[node name="CameraSmooth" type="Node3D" parent="."] + +[node name="Camera3D" type="Camera3D" parent="CameraSmooth"] +transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, 0, 0) +current = true + +[node name="CLVignette(Layer_1)" type="CanvasLayer" parent="CameraSmooth/Camera3D"] + +[node name="HealthVignetteRect" type="ColorRect" parent="CameraSmooth/Camera3D/CLVignette(Layer_1)"] +material = ExtResource("2_urko7") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="CLDistortion(Layer_2)" type="CanvasLayer" parent="CameraSmooth/Camera3D"] +layer = 2 + +[node name="HealthDistortionRect" type="ColorRect" parent="CameraSmooth/Camera3D/CLDistortion(Layer_2)"] +material = ExtResource("3_0hyrq") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="CLBlur(Layer_2)" type="CanvasLayer" parent="CameraSmooth/Camera3D"] +layer = 2 + +[node name="BlurRect" type="ColorRect" parent="CameraSmooth/Camera3D/CLBlur(Layer_2)"] +material = SubResource("ShaderMaterial_o1np4") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="RayCast3D" type="RayCast3D" parent="CameraSmooth/Camera3D"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -0.64723) +visible = false diff --git a/systems/inputs/input_system.gd b/systems/inputs/input_system.gd index ac19097..3575515 100644 --- a/systems/inputs/input_system.gd +++ b/systems/inputs/input_system.gd @@ -1,7 +1,7 @@ extends Node3D @export_group("Mapping contexts") -@export var walk_mode:GUIDEMappingContext +@export var base_mode:GUIDEMappingContext @export_group("Move actions") @export var move:GUIDEAction @@ -22,7 +22,7 @@ signal input_aim_released signal input_aim_canceled func _ready() -> void: - GUIDE.enable_mapping_context(walk_mode) + GUIDE.enable_mapping_context(base_mode) aim_pressed.triggered.connect(on_input_aim_pressed) aim_released.triggered.connect(on_input_aim_released) diff --git a/systems/inputs/walk_mode/base_mode.tres b/systems/inputs/walk_mode/base_mode.tres new file mode 100644 index 0000000..ba60197 --- /dev/null +++ b/systems/inputs/walk_mode/base_mode.tres @@ -0,0 +1,209 @@ +[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=53 format=3 uid="uid://bl5crtu1gkrtr"] + +[ext_resource type="Script" uid="uid://cpplm41b5bt6m" path="res://addons/guide/guide_action_mapping.gd" id="1_0pi3k"] +[ext_resource type="Script" uid="uid://dsa1dnifd6w32" path="res://addons/guide/guide_mapping_context.gd" id="2_ho3ad"] +[ext_resource type="Resource" uid="uid://htqvokm8mufq" path="res://systems/inputs/walk_mode/move.tres" id="2_p4e1v"] +[ext_resource type="Script" uid="uid://mtx1unc2aqn7" path="res://addons/guide/guide_input_mapping.gd" id="3_ufouq"] +[ext_resource type="Script" uid="uid://doauobik3xyea" path="res://addons/guide/inputs/guide_input_joy_axis_2d.gd" id="4_oapce"] +[ext_resource type="Script" uid="uid://bl8rjl4oaldje" path="res://addons/guide/modifiers/guide_modifier.gd" id="5_j3mg7"] +[ext_resource type="Script" uid="uid://bm5gjgadon6hb" path="res://addons/guide/modifiers/guide_modifier_input_swizzle.gd" id="6_8w5gu"] +[ext_resource type="Script" uid="uid://c47lkb48itd6l" path="res://addons/guide/modifiers/guide_modifier_deadzone.gd" id="7_xt1x5"] +[ext_resource type="Script" uid="uid://x74mnwgr08a7" path="res://addons/guide/triggers/guide_trigger.gd" id="8_nf3uo"] +[ext_resource type="Resource" uid="uid://cpdaw41ah5gic" path="res://systems/inputs/walk_mode/rotate_y.tres" id="9_paxxe"] +[ext_resource type="Script" uid="uid://bbhoxsiqwo07l" path="res://addons/guide/inputs/guide_input_joy_axis_1d.gd" id="10_500v3"] +[ext_resource type="Script" uid="uid://bjm4myqxg4phm" path="res://addons/guide/modifiers/guide_modifier_scale.gd" id="11_ew1hw"] +[ext_resource type="Script" uid="uid://ckggy40lm0vjc" path="res://addons/guide/modifiers/guide_modifier_negate.gd" id="12_u76sm"] +[ext_resource type="Resource" uid="uid://ccrb5xsnphc8" path="res://systems/inputs/walk_mode/rotate_floorplane.tres" id="13_3y0c4"] +[ext_resource type="Resource" uid="uid://dgfww8118d8gj" path="res://systems/inputs/walk_mode/aim.tres" id="14_bi271"] +[ext_resource type="Script" uid="uid://b4cdrn4paoj3i" path="res://addons/guide/triggers/guide_trigger_down.gd" id="15_dng4t"] +[ext_resource type="Resource" uid="uid://j1o5ud0plk4" path="res://systems/inputs/walk_mode/aim_release.tres" id="16_34gm1"] +[ext_resource type="Script" uid="uid://biiggjw6tv4uq" path="res://addons/guide/triggers/guide_trigger_released.gd" id="17_sxu4n"] +[ext_resource type="Resource" uid="uid://7wm8ywvujwf" path="res://systems/inputs/walk_mode/aim_cancel.tres" id="18_4dlli"] +[ext_resource type="Script" uid="uid://rvttn472ix6v" path="res://addons/guide/inputs/guide_input_joy_button.gd" id="19_2murt"] +[ext_resource type="Script" uid="uid://brsxcrai2te83" path="res://addons/guide/triggers/guide_trigger_chorded_action.gd" id="20_xcfo4"] +[ext_resource type="Script" uid="uid://b52rqq28tuqpg" path="res://addons/guide/triggers/guide_trigger_pressed.gd" id="21_k8ji4"] + +[sub_resource type="Resource" id="Resource_vkvga"] +script = ExtResource("4_oapce") +x = 0 +y = 1 +joy_index = -1 + +[sub_resource type="Resource" id="Resource_kb1id"] +script = ExtResource("6_8w5gu") +order = 2 + +[sub_resource type="Resource" id="Resource_rwam6"] +script = ExtResource("7_xt1x5") +lower_threshold = 0.1 +upper_threshold = 1.0 + +[sub_resource type="Resource" id="Resource_1igva"] +script = ExtResource("3_ufouq") +override_action_settings = false +is_remappable = false +display_name = "" +display_category = "" +input = SubResource("Resource_vkvga") +modifiers = Array[ExtResource("5_j3mg7")]([SubResource("Resource_kb1id"), SubResource("Resource_rwam6")]) +triggers = Array[ExtResource("8_nf3uo")]([]) + +[sub_resource type="Resource" id="Resource_88x08"] +script = ExtResource("1_0pi3k") +action = ExtResource("2_p4e1v") +input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_1igva")]) + +[sub_resource type="Resource" id="Resource_05q5j"] +script = ExtResource("10_500v3") +axis = 2 +joy_index = -1 + +[sub_resource type="Resource" id="Resource_tn8ci"] +script = ExtResource("7_xt1x5") +lower_threshold = 0.2 +upper_threshold = 1.0 + +[sub_resource type="Resource" id="Resource_1koh7"] +script = ExtResource("11_ew1hw") +scale = Vector3(0.3, 0.3, 0.3) +apply_delta_time = false + +[sub_resource type="Resource" id="Resource_eep0a"] +script = ExtResource("12_u76sm") +x = true +y = true +z = true + +[sub_resource type="Resource" id="Resource_dew8i"] +script = ExtResource("3_ufouq") +override_action_settings = false +is_remappable = false +display_name = "" +display_category = "" +input = SubResource("Resource_05q5j") +modifiers = Array[ExtResource("5_j3mg7")]([SubResource("Resource_tn8ci"), SubResource("Resource_1koh7"), SubResource("Resource_eep0a")]) +triggers = Array[ExtResource("8_nf3uo")]([]) + +[sub_resource type="Resource" id="Resource_tgr2g"] +script = ExtResource("1_0pi3k") +action = ExtResource("9_paxxe") +input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_dew8i")]) + +[sub_resource type="Resource" id="Resource_pf0ii"] +script = ExtResource("10_500v3") +axis = 3 +joy_index = -1 + +[sub_resource type="Resource" id="Resource_nh7x4"] +script = ExtResource("7_xt1x5") +lower_threshold = 0.2 +upper_threshold = 1.0 + +[sub_resource type="Resource" id="Resource_04n84"] +script = ExtResource("11_ew1hw") +scale = Vector3(0.1, 0.1, 0.1) +apply_delta_time = false + +[sub_resource type="Resource" id="Resource_m3aj7"] +script = ExtResource("12_u76sm") +x = true +y = true +z = true + +[sub_resource type="Resource" id="Resource_qu2wi"] +script = ExtResource("3_ufouq") +override_action_settings = false +is_remappable = false +display_name = "" +display_category = "" +input = SubResource("Resource_pf0ii") +modifiers = Array[ExtResource("5_j3mg7")]([SubResource("Resource_nh7x4"), SubResource("Resource_04n84"), SubResource("Resource_m3aj7")]) +triggers = Array[ExtResource("8_nf3uo")]([]) + +[sub_resource type="Resource" id="Resource_iarn8"] +script = ExtResource("1_0pi3k") +action = ExtResource("13_3y0c4") +input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_qu2wi")]) + +[sub_resource type="Resource" id="Resource_lg6ir"] +script = ExtResource("10_500v3") +axis = 4 +joy_index = -1 + +[sub_resource type="Resource" id="Resource_n42ky"] +script = ExtResource("15_dng4t") +actuation_threshold = 0.5 + +[sub_resource type="Resource" id="Resource_qbthx"] +script = ExtResource("3_ufouq") +override_action_settings = false +is_remappable = false +display_name = "" +display_category = "" +input = SubResource("Resource_lg6ir") +modifiers = Array[ExtResource("5_j3mg7")]([]) +triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_n42ky")]) + +[sub_resource type="Resource" id="Resource_0hmrk"] +script = ExtResource("1_0pi3k") +action = ExtResource("14_bi271") +input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_qbthx")]) + +[sub_resource type="Resource" id="Resource_cqc4k"] +script = ExtResource("10_500v3") +axis = 4 +joy_index = -1 + +[sub_resource type="Resource" id="Resource_vanwy"] +script = ExtResource("17_sxu4n") +actuation_threshold = 0.5 + +[sub_resource type="Resource" id="Resource_bkx7d"] +script = ExtResource("3_ufouq") +override_action_settings = false +is_remappable = false +display_name = "" +display_category = "" +input = SubResource("Resource_cqc4k") +modifiers = Array[ExtResource("5_j3mg7")]([]) +triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_vanwy")]) + +[sub_resource type="Resource" id="Resource_iihs4"] +script = ExtResource("1_0pi3k") +action = ExtResource("16_34gm1") +input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_bkx7d")]) + +[sub_resource type="Resource" id="Resource_lfx76"] +script = ExtResource("19_2murt") +button = 2 +joy_index = -1 + +[sub_resource type="Resource" id="Resource_hijs6"] +script = ExtResource("20_xcfo4") +action = ExtResource("14_bi271") +actuation_threshold = 0.5 + +[sub_resource type="Resource" id="Resource_oruo7"] +script = ExtResource("21_k8ji4") +actuation_threshold = 0.5 + +[sub_resource type="Resource" id="Resource_4ee3d"] +script = ExtResource("3_ufouq") +override_action_settings = false +is_remappable = false +display_name = "" +display_category = "" +input = SubResource("Resource_lfx76") +modifiers = Array[ExtResource("5_j3mg7")]([]) +triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_hijs6"), SubResource("Resource_oruo7")]) + +[sub_resource type="Resource" id="Resource_0s4kt"] +script = ExtResource("1_0pi3k") +action = ExtResource("18_4dlli") +input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_4ee3d")]) + +[resource] +script = ExtResource("2_ho3ad") +display_name = "" +mappings = Array[ExtResource("1_0pi3k")]([SubResource("Resource_88x08"), SubResource("Resource_tgr2g"), SubResource("Resource_iarn8"), SubResource("Resource_0hmrk"), SubResource("Resource_iihs4"), SubResource("Resource_0s4kt")]) +metadata/_custom_type_script = "uid://dsa1dnifd6w32" diff --git a/systems/inputs/walk_mode/walk_mode.tres b/systems/inputs/walk_mode/walk_mode.tres deleted file mode 100644 index 1d14136..0000000 --- a/systems/inputs/walk_mode/walk_mode.tres +++ /dev/null @@ -1,348 +0,0 @@ -[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=74 format=3 uid="uid://dijkqkltwkrfe"] - -[ext_resource type="Script" uid="uid://cpplm41b5bt6m" path="res://addons/guide/guide_action_mapping.gd" id="1_gh445"] -[ext_resource type="Resource" uid="uid://htqvokm8mufq" path="res://systems/inputs/walk_mode/move.tres" id="2_h1oqo"] -[ext_resource type="Script" uid="uid://dsa1dnifd6w32" path="res://addons/guide/guide_mapping_context.gd" id="2_vcm25"] -[ext_resource type="Script" uid="uid://mtx1unc2aqn7" path="res://addons/guide/guide_input_mapping.gd" id="3_pgmnb"] -[ext_resource type="Script" uid="uid://cw71o87tvdx3q" path="res://addons/guide/inputs/guide_input_key.gd" id="4_t5475"] -[ext_resource type="Script" uid="uid://bl8rjl4oaldje" path="res://addons/guide/modifiers/guide_modifier.gd" id="5_dts0n"] -[ext_resource type="Script" uid="uid://ckggy40lm0vjc" path="res://addons/guide/modifiers/guide_modifier_negate.gd" id="6_1advh"] -[ext_resource type="Script" uid="uid://bm5gjgadon6hb" path="res://addons/guide/modifiers/guide_modifier_input_swizzle.gd" id="7_54nr4"] -[ext_resource type="Script" uid="uid://x74mnwgr08a7" path="res://addons/guide/triggers/guide_trigger.gd" id="8_tlno4"] -[ext_resource type="Script" uid="uid://doauobik3xyea" path="res://addons/guide/inputs/guide_input_joy_axis_2d.gd" id="9_xnlyn"] -[ext_resource type="Resource" uid="uid://cpdaw41ah5gic" path="res://systems/inputs/walk_mode/rotate_y.tres" id="10_tlno4"] -[ext_resource type="Script" uid="uid://b6bwb7ie85kl1" path="res://addons/guide/inputs/guide_input_mouse_axis_1d.gd" id="11_tlno4"] -[ext_resource type="Script" uid="uid://cgy4anjdob2tp" path="res://addons/guide/modifiers/guide_modifier_window_relative.gd" id="12_xnlyn"] -[ext_resource type="Script" uid="uid://bjm4myqxg4phm" path="res://addons/guide/modifiers/guide_modifier_scale.gd" id="13_dlt74"] -[ext_resource type="Script" uid="uid://bbhoxsiqwo07l" path="res://addons/guide/inputs/guide_input_joy_axis_1d.gd" id="14_74dxk"] -[ext_resource type="Script" uid="uid://c47lkb48itd6l" path="res://addons/guide/modifiers/guide_modifier_deadzone.gd" id="15_6cen8"] -[ext_resource type="Resource" uid="uid://ccrb5xsnphc8" path="res://systems/inputs/walk_mode/rotate_floorplane.tres" id="15_xnlyn"] -[ext_resource type="Resource" uid="uid://dgfww8118d8gj" path="res://systems/inputs/walk_mode/aim.tres" id="17_1l8ly"] -[ext_resource type="Script" uid="uid://b52rqq28tuqpg" path="res://addons/guide/triggers/guide_trigger_pressed.gd" id="18_1l8ly"] -[ext_resource type="Script" uid="uid://b4cdrn4paoj3i" path="res://addons/guide/triggers/guide_trigger_down.gd" id="18_qctwy"] -[ext_resource type="Resource" uid="uid://j1o5ud0plk4" path="res://systems/inputs/walk_mode/aim_release.tres" id="19_xq5tv"] -[ext_resource type="Script" uid="uid://biiggjw6tv4uq" path="res://addons/guide/triggers/guide_trigger_released.gd" id="20_lh6n3"] -[ext_resource type="Resource" uid="uid://7wm8ywvujwf" path="res://systems/inputs/walk_mode/aim_cancel.tres" id="21_5y4tx"] -[ext_resource type="Script" uid="uid://rvttn472ix6v" path="res://addons/guide/inputs/guide_input_joy_button.gd" id="22_81iec"] -[ext_resource type="Script" uid="uid://brsxcrai2te83" path="res://addons/guide/triggers/guide_trigger_chorded_action.gd" id="23_w6gvf"] - -[sub_resource type="Resource" id="Resource_dlt74"] -script = ExtResource("4_t5475") -key = 87 -shift = false -control = false -alt = false -meta = false -allow_additional_modifiers = true - -[sub_resource type="Resource" id="Resource_74dxk"] -script = ExtResource("6_1advh") -x = true -y = true -z = true - -[sub_resource type="Resource" id="Resource_4g7it"] -script = ExtResource("7_54nr4") -order = 1 - -[sub_resource type="Resource" id="Resource_vagbc"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_dlt74") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_74dxk"), SubResource("Resource_4g7it")]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_mp7q7"] -script = ExtResource("4_t5475") -key = 83 -shift = false -control = false -alt = false -meta = false -allow_additional_modifiers = true - -[sub_resource type="Resource" id="Resource_h1oqo"] -script = ExtResource("7_54nr4") -order = 1 - -[sub_resource type="Resource" id="Resource_nt051"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_mp7q7") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_h1oqo")]) -triggers = Array[ExtResource("8_tlno4")]([]) -metadata/_guide_modifiers_collapsed = false - -[sub_resource type="Resource" id="Resource_4ypl0"] -script = ExtResource("4_t5475") -key = 65 -shift = false -control = false -alt = false -meta = false -allow_additional_modifiers = true - -[sub_resource type="Resource" id="Resource_pgmnb"] -script = ExtResource("6_1advh") -x = true -y = true -z = true - -[sub_resource type="Resource" id="Resource_1g8ta"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_4ypl0") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_pgmnb")]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_jgclc"] -script = ExtResource("4_t5475") -key = 68 -shift = false -control = false -alt = false -meta = false -allow_additional_modifiers = true - -[sub_resource type="Resource" id="Resource_0avlp"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_jgclc") -modifiers = Array[ExtResource("5_dts0n")]([]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_r2gek"] -script = ExtResource("9_xnlyn") -x = 0 -y = 1 -joy_index = -1 - -[sub_resource type="Resource" id="Resource_t5475"] -script = ExtResource("7_54nr4") -order = 2 - -[sub_resource type="Resource" id="Resource_6cen8"] -script = ExtResource("15_6cen8") -lower_threshold = 0.1 -upper_threshold = 1.0 - -[sub_resource type="Resource" id="Resource_5sx4a"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_r2gek") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_t5475"), SubResource("Resource_6cen8")]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_nd8wu"] -script = ExtResource("1_gh445") -action = ExtResource("2_h1oqo") -input_mappings = Array[ExtResource("3_pgmnb")]([SubResource("Resource_vagbc"), SubResource("Resource_nt051"), SubResource("Resource_1g8ta"), SubResource("Resource_0avlp"), SubResource("Resource_5sx4a")]) -metadata/_guide_input_mappings_collapsed = true - -[sub_resource type="Resource" id="Resource_7dbe7"] -script = ExtResource("11_tlno4") -axis = 0 - -[sub_resource type="Resource" id="Resource_jiipn"] -script = ExtResource("12_xnlyn") - -[sub_resource type="Resource" id="Resource_sl76j"] -script = ExtResource("13_dlt74") -scale = Vector3(360, 1, 1) -apply_delta_time = false - -[sub_resource type="Resource" id="Resource_54nr4"] -script = ExtResource("6_1advh") -x = true -y = true -z = true - -[sub_resource type="Resource" id="Resource_lhbic"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_7dbe7") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_jiipn"), SubResource("Resource_sl76j"), SubResource("Resource_54nr4")]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_agr80"] -script = ExtResource("14_74dxk") -axis = 2 -joy_index = -1 - -[sub_resource type="Resource" id="Resource_posty"] -script = ExtResource("15_6cen8") -lower_threshold = 0.1 -upper_threshold = 1.0 - -[sub_resource type="Resource" id="Resource_a5vma"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_agr80") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_posty")]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_fnf72"] -script = ExtResource("1_gh445") -action = ExtResource("10_tlno4") -input_mappings = Array[ExtResource("3_pgmnb")]([SubResource("Resource_lhbic"), SubResource("Resource_a5vma")]) -metadata/_guide_input_mappings_collapsed = true - -[sub_resource type="Resource" id="Resource_q3p6c"] -script = ExtResource("11_tlno4") -axis = 1 - -[sub_resource type="Resource" id="Resource_33awn"] -script = ExtResource("12_xnlyn") - -[sub_resource type="Resource" id="Resource_01l3v"] -script = ExtResource("13_dlt74") -scale = Vector3(360, 1, 1) -apply_delta_time = false - -[sub_resource type="Resource" id="Resource_xrlwl"] -script = ExtResource("6_1advh") -x = true -y = true -z = true - -[sub_resource type="Resource" id="Resource_kyrsw"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_q3p6c") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_33awn"), SubResource("Resource_01l3v"), SubResource("Resource_xrlwl")]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_oov4j"] -script = ExtResource("14_74dxk") -axis = 3 -joy_index = -1 - -[sub_resource type="Resource" id="Resource_tfgyj"] -script = ExtResource("15_6cen8") -lower_threshold = 0.1 -upper_threshold = 1.0 - -[sub_resource type="Resource" id="Resource_1hcnu"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_oov4j") -modifiers = Array[ExtResource("5_dts0n")]([SubResource("Resource_tfgyj")]) -triggers = Array[ExtResource("8_tlno4")]([]) - -[sub_resource type="Resource" id="Resource_der0j"] -script = ExtResource("1_gh445") -action = ExtResource("15_xnlyn") -input_mappings = Array[ExtResource("3_pgmnb")]([SubResource("Resource_kyrsw"), SubResource("Resource_1hcnu")]) -metadata/_guide_input_mappings_collapsed = true - -[sub_resource type="Resource" id="Resource_o8dy0"] -script = ExtResource("14_74dxk") -axis = 4 -joy_index = -1 - -[sub_resource type="Resource" id="Resource_qctwy"] -script = ExtResource("18_qctwy") -actuation_threshold = 0.5 - -[sub_resource type="Resource" id="Resource_umy6c"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_o8dy0") -modifiers = Array[ExtResource("5_dts0n")]([]) -triggers = Array[ExtResource("8_tlno4")]([SubResource("Resource_qctwy")]) - -[sub_resource type="Resource" id="Resource_ug3gn"] -script = ExtResource("1_gh445") -action = ExtResource("17_1l8ly") -input_mappings = Array[ExtResource("3_pgmnb")]([SubResource("Resource_umy6c")]) - -[sub_resource type="Resource" id="Resource_jjjri"] -script = ExtResource("14_74dxk") -axis = 4 -joy_index = -1 - -[sub_resource type="Resource" id="Resource_stt4v"] -script = ExtResource("20_lh6n3") -actuation_threshold = 0.5 - -[sub_resource type="Resource" id="Resource_wrn13"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_jjjri") -modifiers = Array[ExtResource("5_dts0n")]([]) -triggers = Array[ExtResource("8_tlno4")]([SubResource("Resource_stt4v")]) - -[sub_resource type="Resource" id="Resource_ake3v"] -script = ExtResource("1_gh445") -action = ExtResource("19_xq5tv") -input_mappings = Array[ExtResource("3_pgmnb")]([SubResource("Resource_wrn13")]) - -[sub_resource type="Resource" id="Resource_y46dx"] -script = ExtResource("22_81iec") -button = 2 -joy_index = -1 - -[sub_resource type="Resource" id="Resource_xq5tv"] -script = ExtResource("23_w6gvf") -action = ExtResource("17_1l8ly") -actuation_threshold = 0.5 - -[sub_resource type="Resource" id="Resource_1l8ly"] -script = ExtResource("18_1l8ly") -actuation_threshold = 0.5 - -[sub_resource type="Resource" id="Resource_s03q7"] -script = ExtResource("3_pgmnb") -override_action_settings = false -is_remappable = false -display_name = "" -display_category = "" -input = SubResource("Resource_y46dx") -modifiers = Array[ExtResource("5_dts0n")]([]) -triggers = Array[ExtResource("8_tlno4")]([SubResource("Resource_xq5tv"), SubResource("Resource_1l8ly")]) -metadata/_guide_triggers_collapsed = false - -[sub_resource type="Resource" id="Resource_1qg80"] -script = ExtResource("1_gh445") -action = ExtResource("21_5y4tx") -input_mappings = Array[ExtResource("3_pgmnb")]([SubResource("Resource_s03q7")]) - -[resource] -script = ExtResource("2_vcm25") -display_name = "" -mappings = Array[ExtResource("1_gh445")]([SubResource("Resource_nd8wu"), SubResource("Resource_fnf72"), SubResource("Resource_der0j"), SubResource("Resource_ug3gn"), SubResource("Resource_ake3v"), SubResource("Resource_1qg80")]) -metadata/_custom_type_script = "uid://dsa1dnifd6w32" -metadata/_guide_action_mappings_collapsed = false diff --git a/player_controller/Scripts/MantleSystem.cs b/systems/mantle/MantleSystem.cs similarity index 100% rename from player_controller/Scripts/MantleSystem.cs rename to systems/mantle/MantleSystem.cs diff --git a/player_controller/Scripts/MantleSystem.cs.uid b/systems/mantle/MantleSystem.cs.uid similarity index 100% rename from player_controller/Scripts/MantleSystem.cs.uid rename to systems/mantle/MantleSystem.cs.uid diff --git a/systems/mantle_system.tscn b/systems/mantle/mantle_system.tscn similarity index 90% rename from systems/mantle_system.tscn rename to systems/mantle/mantle_system.tscn index a7796dd..4de928e 100644 --- a/systems/mantle_system.tscn +++ b/systems/mantle/mantle_system.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://wq1okogkhc5l"] -[ext_resource type="Script" uid="uid://bja6tis1vaysu" path="res://player_controller/Scripts/MantleSystem.cs" id="1_o1m1l"] +[ext_resource type="Script" uid="uid://bja6tis1vaysu" path="res://systems/mantle/MantleSystem.cs" id="1_2oobp"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4coqe"] @@ -8,7 +8,7 @@ height = 1.5 [node name="MantleSystem" type="Node3D"] -script = ExtResource("1_o1m1l") +script = ExtResource("1_2oobp") MantleEndLocationDistanceFromWall = 0.2 MantleHeightCastStart = 3.0