gd: basic weapon and readability refacto

This commit is contained in:
2025-06-06 16:09:39 +02:00
parent bbcc3d0867
commit 579b523a37
15 changed files with 263 additions and 201 deletions

View File

@ -2,9 +2,9 @@
namespace Movementtests.systems;
public record DashComputation(bool HasHit, Vector3 Location, Vector3 CollisionPoint, Vector3 CollisionNormal);
public record DashComputationRecord(bool HasHit, Vector3 Location, Vector3 CollisionPoint, Vector3 CollisionNormal);
public record DashResolve(bool EndWithMantle, Vector3 DashLocation, Vector3 MantleLocation);
public record DashResolveRecord(bool EndWithMantle, Vector3 DashLocation, Vector3 MantleLocation);
public partial class DashSystem: Node3D
{
@ -19,7 +19,9 @@ public partial class DashSystem: Node3D
private MantleSystem _mantleSystem;
private MeshInstance3D _dashTarget;
private DashResolve _dashResolve;
public DashResolveRecord DashResolve { get; set; }
public DashComputationRecord DashComputation { get; set; }
[Signal]
public delegate void DashStartedEventHandler();
@ -40,20 +42,20 @@ public partial class DashSystem: Node3D
_dashTarget.SetVisible(false);
}
private DashComputation ComputeDashLocation()
private DashComputationRecord ComputeDashLocation()
{
if (!_dashCast3D.IsColliding())
{
return new DashComputation(false, _dashCast3D.ToGlobal(_dashCast3D.TargetPosition), Vector3.Zero, Vector3.Zero);
return new DashComputationRecord(false, _dashCast3D.ToGlobal(_dashCast3D.TargetPosition), Vector3.Zero, Vector3.Zero);
}
var collisionPoint = _dashCast3D.GetCollisionPoint(0);
var collisionNormal = _dashCast3D.GetCollisionNormal(0);
var collisionShape = (SphereShape3D) _dashCast3D.GetShape();
var centerSphereLocation = collisionPoint + collisionNormal * collisionShape.Radius;
return new DashComputation(true, centerSphereLocation, collisionPoint, collisionNormal);
return new DashComputationRecord(true, centerSphereLocation, collisionPoint, collisionNormal);
}
public DashResolve PrepareDash()
public void PrepareDash()
{
_dashTarget.SetVisible(false);
@ -62,7 +64,8 @@ public partial class DashSystem: Node3D
_head.Rotation.Y,
_camera.Rotation.Z));
var (hasHit, location, collisionPoint, collisionNormal) = ComputeDashLocation();
DashComputation = ComputeDashLocation();
var (hasHit, location, collisionPoint, collisionNormal) = DashComputation;
var shouldMantle = false;
var mantleLocation = Vector3.Zero;
@ -78,8 +81,7 @@ public partial class DashSystem: Node3D
_dashTarget.SetVisible(true);
_dashTarget.SetGlobalPosition(location);
_dashResolve = new DashResolve(shouldMantle, location, mantleLocation);
return _dashResolve;
DashResolve = new DashResolveRecord(shouldMantle, location, mantleLocation);
}
public void CancelDash()
@ -96,12 +98,12 @@ public partial class DashSystem: Node3D
{
EmitSignal(SignalName.DashStarted);
_dashTarget.SetVisible(false);
var dashTweenInputs = new TweenQueueSystem.TweenInputs(_dashResolve.DashLocation, 0.1f);
var dashTweenInputs = new TweenQueueSystem.TweenInputs(DashResolve.DashLocation, 0.1f);
var dashTween = _tweenQueueSystem.TweenToLocation(dashTweenInputs);
dashTween.Finished += DashTweenEnded;
if (_dashResolve.EndWithMantle)
if (DashResolve.EndWithMantle)
{
_tweenQueueSystem.QueueTween(_dashResolve.MantleLocation, 0.2f);
_tweenQueueSystem.QueueTween(DashResolve.MantleLocation, 0.2f);
}
}
}

View File

@ -1,265 +1,258 @@
[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=63 format=3 uid="uid://bl5crtu1gkrtr"]
[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=60 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"]
[ext_resource type="Resource" uid="uid://bdit2jy5gbpts" path="res://systems/inputs/walk_mode/jump.tres" id="22_ufouq"]
[ext_resource type="Resource" uid="uid://b5gx3q8nvu72e" path="res://systems/inputs/walk_mode/hit.tres" id="23_oapce"]
[ext_resource type="Script" uid="uid://cpplm41b5bt6m" path="res://addons/guide/guide_action_mapping.gd" id="1_qmhk6"]
[ext_resource type="Resource" uid="uid://htqvokm8mufq" path="res://systems/inputs/base_mode/move.tres" id="2_g6bbx"]
[ext_resource type="Script" uid="uid://mtx1unc2aqn7" path="res://addons/guide/guide_input_mapping.gd" id="3_yp12v"]
[ext_resource type="Script" uid="uid://doauobik3xyea" path="res://addons/guide/inputs/guide_input_joy_axis_2d.gd" id="4_1rw8g"]
[ext_resource type="Script" uid="uid://bl8rjl4oaldje" path="res://addons/guide/modifiers/guide_modifier.gd" id="5_0qat1"]
[ext_resource type="Script" uid="uid://bm5gjgadon6hb" path="res://addons/guide/modifiers/guide_modifier_input_swizzle.gd" id="6_li5ak"]
[ext_resource type="Script" uid="uid://c47lkb48itd6l" path="res://addons/guide/modifiers/guide_modifier_deadzone.gd" id="7_si4d4"]
[ext_resource type="Script" uid="uid://x74mnwgr08a7" path="res://addons/guide/triggers/guide_trigger.gd" id="8_2tfaw"]
[ext_resource type="Resource" uid="uid://cpdaw41ah5gic" path="res://systems/inputs/base_mode/rotate_y.tres" id="9_q86qg"]
[ext_resource type="Script" uid="uid://bbhoxsiqwo07l" path="res://addons/guide/inputs/guide_input_joy_axis_1d.gd" id="10_cvxqo"]
[ext_resource type="Script" uid="uid://bjm4myqxg4phm" path="res://addons/guide/modifiers/guide_modifier_scale.gd" id="11_j3axn"]
[ext_resource type="Script" uid="uid://ckggy40lm0vjc" path="res://addons/guide/modifiers/guide_modifier_negate.gd" id="12_kxb2c"]
[ext_resource type="Resource" uid="uid://ccrb5xsnphc8" path="res://systems/inputs/base_mode/rotate_floorplane.tres" id="13_v2ywt"]
[ext_resource type="Resource" uid="uid://dgfww8118d8gj" path="res://systems/inputs/base_mode/aim.tres" id="14_vtk18"]
[ext_resource type="Script" uid="uid://b52rqq28tuqpg" path="res://addons/guide/triggers/guide_trigger_pressed.gd" id="15_fykw6"]
[ext_resource type="Resource" uid="uid://j1o5ud0plk4" path="res://systems/inputs/base_mode/aim_release.tres" id="16_rvpjj"]
[ext_resource type="Script" uid="uid://biiggjw6tv4uq" path="res://addons/guide/triggers/guide_trigger_released.gd" id="17_s8kjn"]
[ext_resource type="Resource" uid="uid://7wm8ywvujwf" path="res://systems/inputs/base_mode/aim_cancel.tres" id="18_vibkn"]
[ext_resource type="Script" uid="uid://rvttn472ix6v" path="res://addons/guide/inputs/guide_input_joy_button.gd" id="19_qkgmj"]
[ext_resource type="Resource" uid="uid://bdit2jy5gbpts" path="res://systems/inputs/base_mode/jump.tres" id="21_818lq"]
[ext_resource type="Resource" uid="uid://b5gx3q8nvu72e" path="res://systems/inputs/base_mode/hit.tres" id="22_2hs2y"]
[ext_resource type="Script" uid="uid://dsa1dnifd6w32" path="res://addons/guide/guide_mapping_context.gd" id="23_llfhp"]
[sub_resource type="Resource" id="Resource_vkvga"]
script = ExtResource("4_oapce")
script = ExtResource("4_1rw8g")
x = 0
y = 1
joy_index = -1
[sub_resource type="Resource" id="Resource_kb1id"]
script = ExtResource("6_8w5gu")
script = ExtResource("6_li5ak")
order = 2
[sub_resource type="Resource" id="Resource_rwam6"]
script = ExtResource("7_xt1x5")
script = ExtResource("7_si4d4")
lower_threshold = 0.1
upper_threshold = 1.0
[sub_resource type="Resource" id="Resource_1igva"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
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")]([])
modifiers = Array[ExtResource("5_0qat1")]([SubResource("Resource_kb1id"), SubResource("Resource_rwam6")])
triggers = Array[ExtResource("8_2tfaw")]([])
[sub_resource type="Resource" id="Resource_88x08"]
script = ExtResource("1_0pi3k")
action = ExtResource("2_p4e1v")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_1igva")])
script = ExtResource("1_qmhk6")
action = ExtResource("2_g6bbx")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_1igva")])
metadata/_guide_input_mappings_collapsed = false
[sub_resource type="Resource" id="Resource_05q5j"]
script = ExtResource("10_500v3")
script = ExtResource("10_cvxqo")
axis = 2
joy_index = -1
[sub_resource type="Resource" id="Resource_tn8ci"]
script = ExtResource("7_xt1x5")
script = ExtResource("7_si4d4")
lower_threshold = 0.2
upper_threshold = 1.0
[sub_resource type="Resource" id="Resource_1koh7"]
script = ExtResource("11_ew1hw")
script = ExtResource("11_j3axn")
scale = Vector3(0.3, 0.3, 0.3)
apply_delta_time = false
[sub_resource type="Resource" id="Resource_eep0a"]
script = ExtResource("12_u76sm")
script = ExtResource("12_kxb2c")
x = true
y = true
z = true
[sub_resource type="Resource" id="Resource_dew8i"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
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")]([])
modifiers = Array[ExtResource("5_0qat1")]([SubResource("Resource_tn8ci"), SubResource("Resource_1koh7"), SubResource("Resource_eep0a")])
triggers = Array[ExtResource("8_2tfaw")]([])
[sub_resource type="Resource" id="Resource_tgr2g"]
script = ExtResource("1_0pi3k")
action = ExtResource("9_paxxe")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_dew8i")])
script = ExtResource("1_qmhk6")
action = ExtResource("9_q86qg")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_dew8i")])
metadata/_guide_input_mappings_collapsed = true
[sub_resource type="Resource" id="Resource_pf0ii"]
script = ExtResource("10_500v3")
script = ExtResource("10_cvxqo")
axis = 3
joy_index = -1
[sub_resource type="Resource" id="Resource_nh7x4"]
script = ExtResource("7_xt1x5")
script = ExtResource("7_si4d4")
lower_threshold = 0.2
upper_threshold = 1.0
[sub_resource type="Resource" id="Resource_04n84"]
script = ExtResource("11_ew1hw")
script = ExtResource("11_j3axn")
scale = Vector3(0.1, 0.1, 0.1)
apply_delta_time = false
[sub_resource type="Resource" id="Resource_m3aj7"]
script = ExtResource("12_u76sm")
script = ExtResource("12_kxb2c")
x = true
y = true
z = true
[sub_resource type="Resource" id="Resource_qu2wi"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
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")]([])
modifiers = Array[ExtResource("5_0qat1")]([SubResource("Resource_nh7x4"), SubResource("Resource_04n84"), SubResource("Resource_m3aj7")])
triggers = Array[ExtResource("8_2tfaw")]([])
[sub_resource type="Resource" id="Resource_iarn8"]
script = ExtResource("1_0pi3k")
action = ExtResource("13_3y0c4")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_qu2wi")])
script = ExtResource("1_qmhk6")
action = ExtResource("13_v2ywt")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_qu2wi")])
metadata/_guide_input_mappings_collapsed = true
[sub_resource type="Resource" id="Resource_ufouq"]
script = ExtResource("10_500v3")
script = ExtResource("10_cvxqo")
axis = 4
joy_index = -1
[sub_resource type="Resource" id="Resource_n42ky"]
script = ExtResource("15_dng4t")
[sub_resource type="Resource" id="Resource_ib0yi"]
script = ExtResource("15_fykw6")
actuation_threshold = 0.5
[sub_resource type="Resource" id="Resource_qbthx"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
override_action_settings = false
is_remappable = false
display_name = ""
display_category = ""
input = SubResource("Resource_ufouq")
modifiers = Array[ExtResource("5_j3mg7")]([])
triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_n42ky")])
modifiers = Array[ExtResource("5_0qat1")]([])
triggers = Array[ExtResource("8_2tfaw")]([SubResource("Resource_ib0yi")])
[sub_resource type="Resource" id="Resource_0hmrk"]
script = ExtResource("1_0pi3k")
action = ExtResource("14_bi271")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_qbthx")])
script = ExtResource("1_qmhk6")
action = ExtResource("14_vtk18")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_qbthx")])
metadata/_guide_input_mappings_collapsed = false
[sub_resource type="Resource" id="Resource_cqc4k"]
script = ExtResource("10_500v3")
script = ExtResource("10_cvxqo")
axis = 4
joy_index = -1
[sub_resource type="Resource" id="Resource_vanwy"]
script = ExtResource("17_sxu4n")
script = ExtResource("17_s8kjn")
actuation_threshold = 0.5
[sub_resource type="Resource" id="Resource_bkx7d"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
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")])
modifiers = Array[ExtResource("5_0qat1")]([])
triggers = Array[ExtResource("8_2tfaw")]([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")])
script = ExtResource("1_qmhk6")
action = ExtResource("16_rvpjj")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_bkx7d")])
metadata/_guide_input_mappings_collapsed = true
[sub_resource type="Resource" id="Resource_lfx76"]
script = ExtResource("19_2murt")
script = ExtResource("19_qkgmj")
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")
script = ExtResource("15_fykw6")
actuation_threshold = 0.5
[sub_resource type="Resource" id="Resource_4ee3d"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
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")])
modifiers = Array[ExtResource("5_0qat1")]([])
triggers = Array[ExtResource("8_2tfaw")]([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")])
script = ExtResource("1_qmhk6")
action = ExtResource("18_vibkn")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_4ee3d")])
[sub_resource type="Resource" id="Resource_oapce"]
script = ExtResource("19_2murt")
script = ExtResource("19_qkgmj")
button = 0
joy_index = -1
[sub_resource type="Resource" id="Resource_j3mg7"]
script = ExtResource("21_k8ji4")
script = ExtResource("15_fykw6")
actuation_threshold = 0.5
[sub_resource type="Resource" id="Resource_8w5gu"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
override_action_settings = false
is_remappable = false
display_name = ""
display_category = ""
input = SubResource("Resource_oapce")
modifiers = Array[ExtResource("5_j3mg7")]([])
triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_j3mg7")])
modifiers = Array[ExtResource("5_0qat1")]([])
triggers = Array[ExtResource("8_2tfaw")]([SubResource("Resource_j3mg7")])
metadata/_guide_triggers_collapsed = false
[sub_resource type="Resource" id="Resource_xt1x5"]
script = ExtResource("1_0pi3k")
action = ExtResource("22_ufouq")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_8w5gu")])
script = ExtResource("1_qmhk6")
action = ExtResource("21_818lq")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_8w5gu")])
[sub_resource type="Resource" id="Resource_nf3uo"]
script = ExtResource("19_2murt")
script = ExtResource("19_qkgmj")
button = 10
joy_index = -1
[sub_resource type="Resource" id="Resource_paxxe"]
script = ExtResource("21_k8ji4")
script = ExtResource("15_fykw6")
actuation_threshold = 0.5
[sub_resource type="Resource" id="Resource_500v3"]
script = ExtResource("3_ufouq")
script = ExtResource("3_yp12v")
override_action_settings = false
is_remappable = false
display_name = ""
display_category = ""
input = SubResource("Resource_nf3uo")
modifiers = Array[ExtResource("5_j3mg7")]([])
triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_paxxe")])
modifiers = Array[ExtResource("5_0qat1")]([])
triggers = Array[ExtResource("8_2tfaw")]([SubResource("Resource_paxxe")])
[sub_resource type="Resource" id="Resource_ew1hw"]
script = ExtResource("1_0pi3k")
action = ExtResource("23_oapce")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_500v3")])
script = ExtResource("1_qmhk6")
action = ExtResource("22_2hs2y")
input_mappings = Array[ExtResource("3_yp12v")]([SubResource("Resource_500v3")])
[resource]
script = ExtResource("2_ho3ad")
script = ExtResource("23_llfhp")
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"), SubResource("Resource_xt1x5"), SubResource("Resource_ew1hw")])
mappings = Array[ExtResource("1_qmhk6")]([SubResource("Resource_88x08"), SubResource("Resource_tgr2g"), SubResource("Resource_iarn8"), SubResource("Resource_0hmrk"), SubResource("Resource_iihs4"), SubResource("Resource_0s4kt"), SubResource("Resource_xt1x5"), SubResource("Resource_ew1hw")])
metadata/_custom_type_script = "uid://dsa1dnifd6w32"

View File

@ -0,0 +1,21 @@
using Godot;
namespace Movementtests.systems;
public partial class WeaponSystem : MeshInstance3D
{
private Node3D _head;
private ShapeCast3D _dashCast3D;
private Camera3D _camera;
private TweenQueueSystem _tweenQueueSystem;
private MantleSystem _mantleSystem;
private MeshInstance3D _dashTarget;
public void Init(Node3D head, Camera3D camera, TweenQueueSystem tweenQueueSystem)
{
_head = head;
_camera = camera;
_tweenQueueSystem = tweenQueueSystem;
}
}

View File

@ -0,0 +1 @@
uid://iii3wfto4t5b

View File

@ -0,0 +1,13 @@
[gd_scene load_steps=3 format=3 uid="uid://ckm3d6k08a72u"]
[ext_resource type="Script" uid="uid://iii3wfto4t5b" path="res://systems/weapon/WeaponSystem.cs" id="1_csqwk"]
[sub_resource type="CylinderMesh" id="CylinderMesh_q5h8a"]
top_radius = 0.01
bottom_radius = 0.01
height = 1.0
[node name="Weapon" type="MeshInstance3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
mesh = SubResource("CylinderMesh_q5h8a")
script = ExtResource("1_csqwk")