Skip to content

Commit fd0cac1

Browse files
Add input_swim_up and input_swim_down
1 parent 670f285 commit fd0cac1

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

addons/character-controller/core/character_controller_3d.gd

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ var fly_ability_path := NodePath("Fly Ability 3D")
7373
var swim_ability_path := NodePath("Swim Ability 3D")
7474

7575
var direction := Vector3()
76-
var input_up := false
7776
var step_cycle : float = 0
7877
var next_step : float = 0
7978
var horizontal_velocity
@@ -137,8 +136,8 @@ func _start_variables():
137136
swim_ability.submerged_speed_multiplier = submerged_speed_multiplier
138137

139138

140-
func move(_delta: float, input_axis := Vector2.ZERO, input_jump := false, input_crouch := false, input_sprint := false) -> void:
141-
var direction = _direction_input(input_axis, input_crouch, direction_base_node)
139+
func move(_delta: float, input_axis := Vector2.ZERO, input_jump := false, input_crouch := false, input_sprint := false, input_swim_down := false, input_swim_up := false) -> void:
140+
var direction = _direction_input(input_axis, input_swim_down, input_swim_up, direction_base_node)
142141
if not swim_ability.is_floating():
143142
_check_landed()
144143
if not jump_ability.is_actived() and not is_fly_mode() and not is_submerged() and not is_floating():
@@ -177,7 +176,7 @@ func _check_step(_delta):
177176
_step(is_on_floor())
178177

179178

180-
func _direction_input(input : Vector2, input_crouch : bool, aim_node : Node3D) -> Vector3:
179+
func _direction_input(input : Vector2, input_down : bool, input_up : bool, aim_node : Node3D) -> Vector3:
181180
direction = Vector3()
182181
var aim = aim_node.get_global_transform().basis
183182
if input.x >= 0.5:
@@ -192,7 +191,7 @@ func _direction_input(input : Vector2, input_crouch : bool, aim_node : Node3D) -
192191
if is_fly_mode() or is_floating():
193192
if input_up:
194193
direction.y += 1.0
195-
elif input_crouch:
194+
elif input_down:
196195
direction.y -= 1.0
197196
else:
198197
direction.y = 0

addons/character-controller/example/main/player.gd

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ func _physics_process(delta):
2424
if Input.is_action_just_pressed(input_fly_mode_action_name):
2525
fly_ability.set_active(not fly_ability.is_actived())
2626
var input_axis = Input.get_vector(input_back_action_name, input_forward_action_name, input_left_action_name, input_right_action_name)
27-
var input_crouch = Input.is_action_pressed(input_crouch_action_name)
2827
var input_jump = Input.is_action_just_pressed(input_jump_action_name)
29-
var input_up = Input.is_action_pressed(input_jump_action_name)
28+
var input_crouch = Input.is_action_pressed(input_crouch_action_name)
3029
var input_sprint = Input.is_action_pressed(input_sprint_action_name)
31-
move(delta, input_axis, input_jump, input_crouch, input_sprint)
30+
var input_swim_down = Input.is_action_pressed(input_crouch_action_name)
31+
var input_swim_up = Input.is_action_pressed(input_jump_action_name)
32+
move(delta, input_axis, input_jump, input_crouch, input_sprint, input_swim_down, input_swim_up)
3233
else:
3334
move(delta)
3435

addons/character-controller/fps/fps_controller_3d.gd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ func _check_head_bob(_delta, input_axis : Vector2):
4545
func rotate_head(mouse_axis : Vector2) -> void:
4646
head.rotate_camera(mouse_axis)
4747

48-
func move(_delta: float, input_axis := Vector2.ZERO, input_jump := false, input_crouch := false, input_sprint := false):
48+
func move(_delta: float, input_axis := Vector2.ZERO, input_jump := false, input_crouch := false, input_sprint := false, input_swim_down := false, input_swim_up := false):
4949
if is_fly_mode() or is_floating():
5050
direction_base_node = head
5151
else:
5252
direction_base_node = self
53-
super.move(_delta, input_axis, input_jump, input_crouch, input_sprint)
53+
super.move(_delta, input_axis, input_jump, input_crouch, input_sprint, input_swim_down, input_swim_up)
5454
if not is_fly_mode() and not swim_ability.is_floating() and not swim_ability.is_submerged():
5555
camera.set_fov(lerp(camera.fov, normal_fov * _fov_modifiers, _delta * fov_change_speed))
5656
_check_head_bob(_delta, input_axis)

0 commit comments

Comments
 (0)