Skip to content

Commit

Permalink
use a way simpler way to do it all
Browse files Browse the repository at this point in the history
  • Loading branch information
Lordfirespeed committed Feb 15, 2024
1 parent 4c3a882 commit 93933c5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 46 deletions.
23 changes: 4 additions & 19 deletions Free2Move/Features/MoveInAnyDirection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,13 @@ public sealed class MoveInAnyDirection : IFeature, IPlayerInputActionFeature

public void OnEnable()
{
RemoveCompositeBinding();
AddDirectBinding();
SetAnalogBindingMode();
}

private void RemoveCompositeBinding()
private void SetAnalogBindingMode()
{
var context = IPlayerInputActionFeature.PlayerMoveAction
.ChangeCompositeBinding("Gamepad");

if (!context.valid) return;

context.Erase();
}

private void AddDirectBinding()
{
var existingBindingIndex = IPlayerInputActionFeature.PlayerMoveAction
.GetBindingIndex(path: "<Gamepad>/leftStick");

if (existingBindingIndex > 0) return;

IPlayerInputActionFeature.PlayerMoveAction
.AddBinding("<Gamepad>/leftStick");
.ChangeCompositeBinding("Gamepad")
.WithPath("2DVector(mode=2)");
}
}
31 changes: 4 additions & 27 deletions Free2Move/Features/MoveInCardinalDirections.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,36 +13,13 @@ public sealed class MoveInCardinalDirections : IFeature, IPlayerInputActionFeatu

public void OnEnable()
{
RemoveDirectBinding();
AddCompositeBinding();
ResetBindingMode();
}

private void RemoveDirectBinding()
private void ResetBindingMode()
{
var context = IPlayerInputActionFeature.PlayerMoveAction
.ChangeBindingWithPath("<Gamepad>/leftStick");

if (!context.valid) return;

context.Erase();
}

private void AddCompositeBinding()
{
var testContext = IPlayerInputActionFeature.PlayerMoveAction
.ChangeCompositeBinding("Gamepad");

if (testContext.valid) return;

var context = IPlayerInputActionFeature.PlayerMoveAction
.AddCompositeBinding("2DVector")
.With("up", "<Gamepad>/leftStick/up")
.With("down", "<Gamepad>/leftStick/down")
.With("left", "<Gamepad>/leftStick/left")
.With("right", "<Gamepad>/leftStick/right");

IPlayerInputActionFeature.PlayerMoveAction
.ChangeCompositeBinding("2DVector")
.WithName("Gamepad");
.ChangeCompositeBinding("Gamepad")
.WithPath("2DVector");
}
}

0 comments on commit 93933c5

Please sign in to comment.