gd: added hit input
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://bei4nhkf8lwdo"]
|
||||
[gd_scene load_steps=29 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="Resource" uid="uid://bl5crtu1gkrtr" path="res://systems/inputs/walk_mode/base_mode.tres" id="3_cresl"]
|
||||
@ -16,6 +16,7 @@
|
||||
[ext_resource type="Script" uid="uid://dwoppk8j5fxeg" path="res://player_controller/Scripts/DashSystem.cs" id="9_qu4wy"]
|
||||
[ext_resource type="Resource" uid="uid://bdit2jy5gbpts" path="res://systems/inputs/walk_mode/jump.tres" id="10_4u7i3"]
|
||||
[ext_resource type="Script" uid="uid://g8idirw62qe0" path="res://player_controller/Scripts/Bobbing.cs" id="10_7wk1w"]
|
||||
[ext_resource type="Resource" uid="uid://b5gx3q8nvu72e" path="res://systems/inputs/walk_mode/hit.tres" id="11_cresl"]
|
||||
[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://b5nk6ntlps3x0" path="res://systems/inputs/input_system.gd" id="16_v31n3"]
|
||||
@ -46,6 +47,7 @@ aim_pressed = ExtResource("7_cresl")
|
||||
aim_released = ExtResource("8_lhb11")
|
||||
aim_canceled = ExtResource("9_5p2qc")
|
||||
jump = ExtResource("10_4u7i3")
|
||||
hit = ExtResource("11_cresl")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
@ -138,6 +140,7 @@ StartVelocity = 4.0
|
||||
[connection signal="input_aim_canceled" from="InputController" to="." method="OnInputAimCanceled"]
|
||||
[connection signal="input_aim_pressed" from="InputController" to="." method="OnInputAimPressed"]
|
||||
[connection signal="input_aim_released" from="InputController" to="." method="OnInputAimReleased"]
|
||||
[connection signal="input_hit" from="InputController" to="." method="OnInputHitPressed"]
|
||||
[connection signal="input_jump" from="InputController" to="." method="OnInputJumpPressed"]
|
||||
[connection signal="input_move" from="InputController" to="." method="OnInputMove"]
|
||||
[connection signal="input_rotate_floorplane" from="InputController" to="." method="OnInputRotateFloorplane"]
|
||||
|
@ -73,6 +73,11 @@ public partial class PlayerController : CharacterBody3D
|
||||
DashSystem.CancelDash();
|
||||
}
|
||||
|
||||
public void OnInputHitPressed()
|
||||
{
|
||||
GD.Print("OnInputHitPressed");
|
||||
}
|
||||
|
||||
public void OnInputJumpPressed()
|
||||
{
|
||||
bool doesCapsuleHaveCrouchingHeight = CapsuleCollider.IsCrouchingHeight();
|
||||
@ -81,28 +86,26 @@ public partial class PlayerController : CharacterBody3D
|
||||
if (!doesCapsuleHaveCrouchingHeight && !isPlayerDead)
|
||||
MoveSystem.Jump(IsOnFloor());
|
||||
}
|
||||
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
HeadSystem = GetNode<HeadSystem>("HeadSystem");
|
||||
HeadSystem.Init();
|
||||
|
||||
_headCollisionDetectors = new RayCast3D[NumOfHeadCollisionDetectors];
|
||||
|
||||
for (int i = 0; i < NumOfHeadCollisionDetectors; i++)
|
||||
{
|
||||
_headCollisionDetectors[i] = GetNode<RayCast3D>(
|
||||
"HeadCollisionDetectors/HeadCollisionDetector" + i);
|
||||
}
|
||||
|
||||
HeadSystem = GetNode<HeadSystem>("HeadSystem");
|
||||
HeadSystem.Init();
|
||||
|
||||
// Getting dependencies of the components(In godot we manage this from upwards to downwards not vice versa)
|
||||
Camera3D camera = GetNode<Camera3D>("HeadSystem/CameraSmooth/Camera3D");
|
||||
Node3D cameraSmooth = GetNode<Node3D>("HeadSystem/CameraSmooth");
|
||||
|
||||
RayCast3D stairsBelowRayCast3D = GetNode<RayCast3D>("StairsBelowRayCast3D");
|
||||
RayCast3D stairsAheadRayCast3D = GetNode<RayCast3D>("StairsAheadRayCast3D");
|
||||
|
||||
Node3D cameraSmooth = GetNode<Node3D>("HeadSystem/CameraSmooth");
|
||||
|
||||
// Getting universal setting from GODOT editor to be in sync
|
||||
float gravitySetting = (float)ProjectSettings.GetSetting("physics/3d/default_gravity");
|
||||
@ -162,7 +165,6 @@ public partial class PlayerController : CharacterBody3D
|
||||
DistortionRect = distortionRect,
|
||||
BlurRect = blurRect,
|
||||
};
|
||||
|
||||
HealthSystem.Init(healthSystemParams);
|
||||
}
|
||||
|
||||
@ -190,7 +192,6 @@ public partial class PlayerController : CharacterBody3D
|
||||
IsOnFloorCustom = isOnFloorCustom(),
|
||||
Velocity = Velocity
|
||||
};
|
||||
|
||||
Bobbing.PerformCameraBobbing(cameraBobbingParams);
|
||||
|
||||
FieldOfView.FovParameters fovParams = new FieldOfView.FovParameters
|
||||
@ -200,7 +201,6 @@ public partial class PlayerController : CharacterBody3D
|
||||
SprintSpeed = MoveSystem.SprintSpeed,
|
||||
Velocity = Velocity
|
||||
};
|
||||
|
||||
FieldOfView.PerformFovAdjustment(fovParams);
|
||||
|
||||
StairsSystem.UpStairsCheckParams upStairsCheckParams = new StairsSystem.UpStairsCheckParams
|
||||
@ -260,7 +260,6 @@ public partial class PlayerController : CharacterBody3D
|
||||
BetweenCrouchingAndNormalHeight = CapsuleCollider.IsBetweenCrouchingAndNormalHeight(),
|
||||
Delta = (float)delta
|
||||
};
|
||||
|
||||
StairsSystem.SlideCameraSmoothBackToOrigin(slideCameraParams);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
extends Node3D
|
||||
class_name InputController
|
||||
|
||||
@export_group("Mapping contexts")
|
||||
@export var base_mode:GUIDEMappingContext
|
||||
@ -13,6 +14,7 @@ extends Node3D
|
||||
@export var aim_released:GUIDEAction
|
||||
@export var aim_canceled:GUIDEAction
|
||||
@export var jump:GUIDEAction
|
||||
@export var hit:GUIDEAction
|
||||
|
||||
signal input_move(value: Vector3)
|
||||
signal input_rotate_y(value: float)
|
||||
@ -22,6 +24,7 @@ signal input_aim_pressed
|
||||
signal input_aim_released
|
||||
signal input_aim_canceled
|
||||
signal input_jump
|
||||
signal input_hit
|
||||
|
||||
func _ready() -> void:
|
||||
GUIDE.enable_mapping_context(base_mode)
|
||||
@ -30,7 +33,10 @@ func _ready() -> void:
|
||||
aim_released.triggered.connect(on_input_aim_released)
|
||||
aim_canceled.triggered.connect(on_input_aim_canceled)
|
||||
jump.triggered.connect(on_input_jump)
|
||||
|
||||
hit.triggered.connect(on_input_hit)
|
||||
|
||||
func on_input_hit():
|
||||
input_hit.emit()
|
||||
|
||||
func on_input_jump():
|
||||
input_jump.emit()
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=58 format=3 uid="uid://bl5crtu1gkrtr"]
|
||||
[gd_resource type="Resource" script_class="GUIDEMappingContext" load_steps=63 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"]
|
||||
@ -23,6 +23,7 @@
|
||||
[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"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_vkvga"]
|
||||
script = ExtResource("4_oapce")
|
||||
@ -233,8 +234,32 @@ script = ExtResource("1_0pi3k")
|
||||
action = ExtResource("22_ufouq")
|
||||
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_8w5gu")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nf3uo"]
|
||||
script = ExtResource("19_2murt")
|
||||
button = 10
|
||||
joy_index = -1
|
||||
|
||||
[sub_resource type="Resource" id="Resource_paxxe"]
|
||||
script = ExtResource("21_k8ji4")
|
||||
actuation_threshold = 0.5
|
||||
|
||||
[sub_resource type="Resource" id="Resource_500v3"]
|
||||
script = ExtResource("3_ufouq")
|
||||
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")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ew1hw"]
|
||||
script = ExtResource("1_0pi3k")
|
||||
action = ExtResource("23_oapce")
|
||||
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_500v3")])
|
||||
|
||||
[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"), SubResource("Resource_xt1x5")])
|
||||
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")])
|
||||
metadata/_custom_type_script = "uid://dsa1dnifd6w32"
|
||||
|
14
systems/inputs/walk_mode/hit.tres
Normal file
14
systems/inputs/walk_mode/hit.tres
Normal file
@ -0,0 +1,14 @@
|
||||
[gd_resource type="Resource" script_class="GUIDEAction" load_steps=2 format=3 uid="uid://b5gx3q8nvu72e"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cluhc11vixkf1" path="res://addons/guide/guide_action.gd" id="1_hph1v"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_hph1v")
|
||||
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"
|
Reference in New Issue
Block a user