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="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"]
|
[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="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="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="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="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://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"]
|
[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_released = ExtResource("8_lhb11")
|
||||||
aim_canceled = ExtResource("9_5p2qc")
|
aim_canceled = ExtResource("9_5p2qc")
|
||||||
jump = ExtResource("10_4u7i3")
|
jump = ExtResource("10_4u7i3")
|
||||||
|
hit = ExtResource("11_cresl")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
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_canceled" from="InputController" to="." method="OnInputAimCanceled"]
|
||||||
[connection signal="input_aim_pressed" from="InputController" to="." method="OnInputAimPressed"]
|
[connection signal="input_aim_pressed" from="InputController" to="." method="OnInputAimPressed"]
|
||||||
[connection signal="input_aim_released" from="InputController" to="." method="OnInputAimReleased"]
|
[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_jump" from="InputController" to="." method="OnInputJumpPressed"]
|
||||||
[connection signal="input_move" from="InputController" to="." method="OnInputMove"]
|
[connection signal="input_move" from="InputController" to="." method="OnInputMove"]
|
||||||
[connection signal="input_rotate_floorplane" from="InputController" to="." method="OnInputRotateFloorplane"]
|
[connection signal="input_rotate_floorplane" from="InputController" to="." method="OnInputRotateFloorplane"]
|
||||||
|
@ -73,6 +73,11 @@ public partial class PlayerController : CharacterBody3D
|
|||||||
DashSystem.CancelDash();
|
DashSystem.CancelDash();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnInputHitPressed()
|
||||||
|
{
|
||||||
|
GD.Print("OnInputHitPressed");
|
||||||
|
}
|
||||||
|
|
||||||
public void OnInputJumpPressed()
|
public void OnInputJumpPressed()
|
||||||
{
|
{
|
||||||
bool doesCapsuleHaveCrouchingHeight = CapsuleCollider.IsCrouchingHeight();
|
bool doesCapsuleHaveCrouchingHeight = CapsuleCollider.IsCrouchingHeight();
|
||||||
@ -82,27 +87,25 @@ public partial class PlayerController : CharacterBody3D
|
|||||||
MoveSystem.Jump(IsOnFloor());
|
MoveSystem.Jump(IsOnFloor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
HeadSystem = GetNode<HeadSystem>("HeadSystem");
|
|
||||||
HeadSystem.Init();
|
|
||||||
|
|
||||||
_headCollisionDetectors = new RayCast3D[NumOfHeadCollisionDetectors];
|
_headCollisionDetectors = new RayCast3D[NumOfHeadCollisionDetectors];
|
||||||
|
|
||||||
for (int i = 0; i < NumOfHeadCollisionDetectors; i++)
|
for (int i = 0; i < NumOfHeadCollisionDetectors; i++)
|
||||||
{
|
{
|
||||||
_headCollisionDetectors[i] = GetNode<RayCast3D>(
|
_headCollisionDetectors[i] = GetNode<RayCast3D>(
|
||||||
"HeadCollisionDetectors/HeadCollisionDetector" + i);
|
"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)
|
// Getting dependencies of the components(In godot we manage this from upwards to downwards not vice versa)
|
||||||
Camera3D camera = GetNode<Camera3D>("HeadSystem/CameraSmooth/Camera3D");
|
Camera3D camera = GetNode<Camera3D>("HeadSystem/CameraSmooth/Camera3D");
|
||||||
|
Node3D cameraSmooth = GetNode<Node3D>("HeadSystem/CameraSmooth");
|
||||||
|
|
||||||
RayCast3D stairsBelowRayCast3D = GetNode<RayCast3D>("StairsBelowRayCast3D");
|
RayCast3D stairsBelowRayCast3D = GetNode<RayCast3D>("StairsBelowRayCast3D");
|
||||||
RayCast3D stairsAheadRayCast3D = GetNode<RayCast3D>("StairsAheadRayCast3D");
|
RayCast3D stairsAheadRayCast3D = GetNode<RayCast3D>("StairsAheadRayCast3D");
|
||||||
|
|
||||||
Node3D cameraSmooth = GetNode<Node3D>("HeadSystem/CameraSmooth");
|
|
||||||
|
|
||||||
// Getting universal setting from GODOT editor to be in sync
|
// Getting universal setting from GODOT editor to be in sync
|
||||||
float gravitySetting = (float)ProjectSettings.GetSetting("physics/3d/default_gravity");
|
float gravitySetting = (float)ProjectSettings.GetSetting("physics/3d/default_gravity");
|
||||||
@ -162,7 +165,6 @@ public partial class PlayerController : CharacterBody3D
|
|||||||
DistortionRect = distortionRect,
|
DistortionRect = distortionRect,
|
||||||
BlurRect = blurRect,
|
BlurRect = blurRect,
|
||||||
};
|
};
|
||||||
|
|
||||||
HealthSystem.Init(healthSystemParams);
|
HealthSystem.Init(healthSystemParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -190,7 +192,6 @@ public partial class PlayerController : CharacterBody3D
|
|||||||
IsOnFloorCustom = isOnFloorCustom(),
|
IsOnFloorCustom = isOnFloorCustom(),
|
||||||
Velocity = Velocity
|
Velocity = Velocity
|
||||||
};
|
};
|
||||||
|
|
||||||
Bobbing.PerformCameraBobbing(cameraBobbingParams);
|
Bobbing.PerformCameraBobbing(cameraBobbingParams);
|
||||||
|
|
||||||
FieldOfView.FovParameters fovParams = new FieldOfView.FovParameters
|
FieldOfView.FovParameters fovParams = new FieldOfView.FovParameters
|
||||||
@ -200,7 +201,6 @@ public partial class PlayerController : CharacterBody3D
|
|||||||
SprintSpeed = MoveSystem.SprintSpeed,
|
SprintSpeed = MoveSystem.SprintSpeed,
|
||||||
Velocity = Velocity
|
Velocity = Velocity
|
||||||
};
|
};
|
||||||
|
|
||||||
FieldOfView.PerformFovAdjustment(fovParams);
|
FieldOfView.PerformFovAdjustment(fovParams);
|
||||||
|
|
||||||
StairsSystem.UpStairsCheckParams upStairsCheckParams = new StairsSystem.UpStairsCheckParams
|
StairsSystem.UpStairsCheckParams upStairsCheckParams = new StairsSystem.UpStairsCheckParams
|
||||||
@ -260,7 +260,6 @@ public partial class PlayerController : CharacterBody3D
|
|||||||
BetweenCrouchingAndNormalHeight = CapsuleCollider.IsBetweenCrouchingAndNormalHeight(),
|
BetweenCrouchingAndNormalHeight = CapsuleCollider.IsBetweenCrouchingAndNormalHeight(),
|
||||||
Delta = (float)delta
|
Delta = (float)delta
|
||||||
};
|
};
|
||||||
|
|
||||||
StairsSystem.SlideCameraSmoothBackToOrigin(slideCameraParams);
|
StairsSystem.SlideCameraSmoothBackToOrigin(slideCameraParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
extends Node3D
|
extends Node3D
|
||||||
|
class_name InputController
|
||||||
|
|
||||||
@export_group("Mapping contexts")
|
@export_group("Mapping contexts")
|
||||||
@export var base_mode:GUIDEMappingContext
|
@export var base_mode:GUIDEMappingContext
|
||||||
@ -13,6 +14,7 @@ extends Node3D
|
|||||||
@export var aim_released:GUIDEAction
|
@export var aim_released:GUIDEAction
|
||||||
@export var aim_canceled:GUIDEAction
|
@export var aim_canceled:GUIDEAction
|
||||||
@export var jump:GUIDEAction
|
@export var jump:GUIDEAction
|
||||||
|
@export var hit:GUIDEAction
|
||||||
|
|
||||||
signal input_move(value: Vector3)
|
signal input_move(value: Vector3)
|
||||||
signal input_rotate_y(value: float)
|
signal input_rotate_y(value: float)
|
||||||
@ -22,6 +24,7 @@ signal input_aim_pressed
|
|||||||
signal input_aim_released
|
signal input_aim_released
|
||||||
signal input_aim_canceled
|
signal input_aim_canceled
|
||||||
signal input_jump
|
signal input_jump
|
||||||
|
signal input_hit
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
GUIDE.enable_mapping_context(base_mode)
|
GUIDE.enable_mapping_context(base_mode)
|
||||||
@ -30,7 +33,10 @@ func _ready() -> void:
|
|||||||
aim_released.triggered.connect(on_input_aim_released)
|
aim_released.triggered.connect(on_input_aim_released)
|
||||||
aim_canceled.triggered.connect(on_input_aim_canceled)
|
aim_canceled.triggered.connect(on_input_aim_canceled)
|
||||||
jump.triggered.connect(on_input_jump)
|
jump.triggered.connect(on_input_jump)
|
||||||
|
hit.triggered.connect(on_input_hit)
|
||||||
|
|
||||||
|
func on_input_hit():
|
||||||
|
input_hit.emit()
|
||||||
|
|
||||||
func on_input_jump():
|
func on_input_jump():
|
||||||
input_jump.emit()
|
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://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="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://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="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://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"]
|
[sub_resource type="Resource" id="Resource_vkvga"]
|
||||||
script = ExtResource("4_oapce")
|
script = ExtResource("4_oapce")
|
||||||
@ -233,8 +234,32 @@ script = ExtResource("1_0pi3k")
|
|||||||
action = ExtResource("22_ufouq")
|
action = ExtResource("22_ufouq")
|
||||||
input_mappings = Array[ExtResource("3_ufouq")]([SubResource("Resource_8w5gu")])
|
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]
|
[resource]
|
||||||
script = ExtResource("2_ho3ad")
|
script = ExtResource("2_ho3ad")
|
||||||
display_name = ""
|
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"
|
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