From 17104e7b744aa63af1df3f678b909353703b77db Mon Sep 17 00:00:00 2001 From: HumanoidSandvichDispenser Date: Wed, 6 Sep 2023 23:07:51 -0700 Subject: [PATCH] use Player.DesiredTarget --- Characters/Player.cs | 22 ++++++++++++++++++++++ State/Character/PlayerState.cs | 26 +++----------------------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/Characters/Player.cs b/Characters/Player.cs index 26eab10..44050a0 100644 --- a/Characters/Player.cs +++ b/Characters/Player.cs @@ -119,4 +119,26 @@ public sealed partial class Player : Character .WithPitchDeviation(0.125f) .Play(); } + + public Vector2 GetDesiredInputFromInput() + { + Vector2 mousePos = GetGlobalMousePosition(); + Vector2 dirToMouse = GlobalPosition.DirectionTo(mousePos); + Vector2 joystick = Godot.Input.GetVector("look_left", "look_right", + "look_up", "look_down"); + + var inputMethod = Utils.World.Instance.GlobalState + .Settings.InputMethod; + switch (inputMethod) + { + case State.Global.InputMethod.Joystick: + if (joystick.IsZeroApprox()) + { + return Direction; + } + return joystick; + default: + return dirToMouse; + } + } } diff --git a/State/Character/PlayerState.cs b/State/Character/PlayerState.cs index 26182e7..b8590fb 100644 --- a/State/Character/PlayerState.cs +++ b/State/Character/PlayerState.cs @@ -55,10 +55,8 @@ public abstract partial class PlayerState : CharacterState "up", "down"); Character.LookTowardsDirection(); - Vector2 mousePos = Character.GetGlobalMousePosition(); - Vector2 dirToMouse = Character.GlobalPosition.DirectionTo(mousePos); - Vector2 joystick = Godot.Input.GetVector("look_left", "look_right", - "look_up", "look_down"); + var player = _player; + player.DesiredTarget = player.GetDesiredInputFromInput(); if (Character.Inventory.SelectedItem is Items.Weapon weapon) { @@ -67,24 +65,7 @@ public abstract partial class PlayerState : CharacterState if (!weapon.ShouldHideIdle || isAttack1On) { - var inputMethod = Utils.World.Instance.GlobalState - .Settings.InputMethod; - switch (inputMethod) - { - case Global.InputMethod.Joystick: - if (joystick.IsZeroApprox()) - { - Character.Target = Character.Direction; - } - else - { - Character.Target = joystick; - } - break; - default: - Character.Target = dirToMouse; - break; - } + player.Target = player.DesiredTarget; } if (isAttack1On) @@ -95,7 +76,6 @@ public abstract partial class PlayerState : CharacterState { Character.UseCurrentItemAlt(); } - } return base.Process(delta);