refacto: moved systems from player controller physics process to their own signal based systems

This commit is contained in:
2025-06-02 17:58:40 +02:00
parent c3e2c974ca
commit 178553956d
13 changed files with 377 additions and 248 deletions

View File

@ -12,6 +12,7 @@ extends Node3D
@export var aim_pressed:GUIDEAction
@export var aim_released:GUIDEAction
@export var aim_canceled:GUIDEAction
@export var jump:GUIDEAction
signal input_move(value: Vector3)
signal input_rotate_y(value: float)
@ -20,6 +21,7 @@ signal input_rotate_floorplane(value: float)
signal input_aim_pressed
signal input_aim_released
signal input_aim_canceled
signal input_jump
func _ready() -> void:
GUIDE.enable_mapping_context(base_mode)
@ -27,8 +29,12 @@ func _ready() -> void:
aim_pressed.triggered.connect(on_input_aim_pressed)
aim_released.triggered.connect(on_input_aim_released)
aim_canceled.triggered.connect(on_input_aim_canceled)
jump.triggered.connect(on_input_jump)
func on_input_jump():
input_jump.emit()
func on_input_aim_pressed():
input_aim_pressed.emit()

View File

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=53 format=3 uid="uid://bl5crtu1gkrtr"]
[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=58 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"]
@ -22,6 +22,7 @@
[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"]
[sub_resource type="Resource" id="Resource_vkvga"]
script = ExtResource("4_oapce")
@ -52,6 +53,7 @@ triggers = Array[ExtResource("8_nf3uo")]([])
script = ExtResource("1_0pi3k")
action = ExtResource("2_p4e1v")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_1igva")])
metadata/_guide_input_mappings_collapsed = false
[sub_resource type="Resource" id="Resource_05q5j"]
script = ExtResource("10_500v3")
@ -88,6 +90,7 @@ triggers = Array[ExtResource("8_nf3uo")]([])
script = ExtResource("1_0pi3k")
action = ExtResource("9_paxxe")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_dew8i")])
metadata/_guide_input_mappings_collapsed = true
[sub_resource type="Resource" id="Resource_pf0ii"]
script = ExtResource("10_500v3")
@ -124,8 +127,9 @@ triggers = Array[ExtResource("8_nf3uo")]([])
script = ExtResource("1_0pi3k")
action = ExtResource("13_3y0c4")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_qu2wi")])
metadata/_guide_input_mappings_collapsed = true
[sub_resource type="Resource" id="Resource_lg6ir"]
[sub_resource type="Resource" id="Resource_ufouq"]
script = ExtResource("10_500v3")
axis = 4
joy_index = -1
@ -140,7 +144,7 @@ override_action_settings = false
is_remappable = false
display_name = ""
display_category = ""
input = SubResource("Resource_lg6ir")
input = SubResource("Resource_ufouq")
modifiers = Array[ExtResource("5_j3mg7")]([])
triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_n42ky")])
@ -148,6 +152,7 @@ triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_n42ky")])
script = ExtResource("1_0pi3k")
action = ExtResource("14_bi271")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_qbthx")])
metadata/_guide_input_mappings_collapsed = false
[sub_resource type="Resource" id="Resource_cqc4k"]
script = ExtResource("10_500v3")
@ -172,6 +177,7 @@ triggers = Array[ExtResource("8_nf3uo")]([SubResource("Resource_vanwy")])
script = ExtResource("1_0pi3k")
action = ExtResource("16_34gm1")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_bkx7d")])
metadata/_guide_input_mappings_collapsed = true
[sub_resource type="Resource" id="Resource_lfx76"]
script = ExtResource("19_2murt")
@ -202,8 +208,33 @@ script = ExtResource("1_0pi3k")
action = ExtResource("18_4dlli")
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_4ee3d")])
[sub_resource type="Resource" id="Resource_oapce"]
script = ExtResource("19_2murt")
button = 0
joy_index = -1
[sub_resource type="Resource" id="Resource_j3mg7"]
script = ExtResource("21_k8ji4")
actuation_threshold = 0.5
[sub_resource type="Resource" id="Resource_8w5gu"]
script = ExtResource("3_ufouq")
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")])
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")])
[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")])
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")])
metadata/_custom_type_script = "uid://dsa1dnifd6w32"

View File

@ -0,0 +1,14 @@
[gd_resource type="Resource" script_class="GUIDEAction" load_steps=2 format=3 uid="uid://bdit2jy5gbpts"]
[ext_resource type="Script" uid="uid://cluhc11vixkf1" path="res://addons/guide/guide_action.gd" id="1_pxv2l"]
[resource]
script = ExtResource("1_pxv2l")
name = &""
action_value_type = 0
block_lower_priority_actions = true
emit_as_godot_actions = false
is_remappable = false
display_name = ""
display_category = ""
metadata/_custom_type_script = "uid://cluhc11vixkf1"