@@ -9,7 +9,7 @@ public partial class MainPage : ContentPage
99{
1010 private Orbit . Input . GameController ? gameController ;
1111 private readonly Orbit . Input . GameControllerManager gameControllerManager ;
12- private readonly IGameSceneManager gameSceneManager ;
12+ private readonly IGameSceneManager gameSceneManager ;
1313 private readonly PlayerStateManager playerStateManager ;
1414 private readonly SettingsService settingsService ;
1515
@@ -25,38 +25,43 @@ public MainPage(
2525 this . playerStateManager = playerStateManager ;
2626 this . settingsService = settingsService ;
2727 this . gameControllerManager = gameControllerManager ;
28-
28+
2929 // TODO: disconnected.
30- this . gameControllerManager . GameControllerConnected += GameControllerManagerOnGameControllerConnected ;
30+ this . gameControllerManager . GameControllerConnected += OnGameControllerConnected ;
3131 _ = this . gameControllerManager . StartDiscovery ( ) ;
3232
3333 gameSceneManager . LoadScene < FirstScene > ( GameView ) ;
3434 gameSceneManager . Start ( ) ;
3535 }
3636
37- private void GameControllerManagerOnGameControllerConnected ( object ? sender , GameControllerConnectedEventArgs e )
37+ private void OnGameControllerConnected ( object ? sender , GameControllerConnectedEventArgs e )
3838 {
3939 if ( this . gameController is not null )
4040 {
4141 return ;
4242 }
43-
43+
4444 this . gameController = e . GameController ;
45-
45+
4646 this . gameController . When (
4747 button : "LeftStickXAxis" , // TODO: need something more concrete
4848 changesValue : value =>
4949 {
50- if ( value < 0 )
50+ if ( Math . Abs ( value ) < 0.0001f )
51+ {
52+ return ;
53+ }
54+
55+ if ( value < 0.0000001f )
5156 {
5257 this . playerStateManager . State = CharacterState . MovingLeft ;
5358 }
54- else if ( value > 0 )
59+ else if ( value > 0.0000001f )
5560 {
5661 this . playerStateManager . State = CharacterState . MovingRight ;
5762 }
5863 } ) ;
59-
64+
6065 this . gameController . When (
6166 button : "ButtonSouth" ,
6267 isPressed : isPressed =>
@@ -79,7 +84,7 @@ void OnGameViewEndInteraction(object sender, TouchEventArgs e)
7984 void OnGameViewStartInteraction ( object sender , TouchEventArgs e )
8085 {
8186 }
82-
87+
8388 private void OnJumpButtonPressed ( object ? sender , EventArgs e )
8489 {
8590 this . playerStateManager . State = CharacterState . Jumping ;
@@ -89,12 +94,12 @@ private void OnLeftButtonPressed(object? sender, EventArgs e)
8994 {
9095 this . playerStateManager . State = CharacterState . MovingLeft ;
9196 }
92-
97+
9398 private void OnRightButtonPressed ( object ? sender , EventArgs e )
9499 {
95100 this . playerStateManager . State = CharacterState . MovingRight ;
96101 }
97-
102+
98103 private void OnJumpButtonReleased ( object ? sender , EventArgs e )
99104 {
100105 this . playerStateManager . State = CharacterState . Idle ;
@@ -104,7 +109,7 @@ private void OnLeftButtonReleased(object? sender, EventArgs e)
104109 {
105110 this . playerStateManager . State = CharacterState . Idle ;
106111 }
107-
112+
108113 private void OnRightButtonReleased ( object ? sender , EventArgs e )
109114 {
110115 this . playerStateManager . State = CharacterState . Idle ;
0 commit comments