@@ -19,6 +19,8 @@ public class ClientPlayer : OtherPlayer
1919 private float Delta { get ; set ; }
2020 private Direction DirectionHorizontal { get ; set ; }
2121 private Direction DirectionVertical { get ; set ; }
22+ private Direction PrevDirectionHorizontal { get ; set ; }
23+ private Direction PrevDirectionVertical { get ; set ; }
2224
2325 public override void _Ready ( )
2426 {
@@ -28,7 +30,7 @@ public override void _Ready()
2830
2931 if ( GameClient . Running )
3032 {
31- NotifyServerPlayerDirection = new Timer ( 500 ) ;
33+ NotifyServerPlayerDirection = new Timer ( 50 ) ;
3234 NotifyServerPlayerDirection . Elapsed += NotifyServerPlayerDirectionCallback ;
3335 NotifyServerPlayerDirection . AutoReset = true ;
3436 NotifyServerPlayerDirection . Enabled = true ;
@@ -37,10 +39,16 @@ public override void _Ready()
3739
3840 public async void NotifyServerPlayerDirectionCallback ( System . Object source , ElapsedEventArgs args )
3941 {
42+ if ( DirectionHorizontal == PrevDirectionHorizontal && DirectionVertical == PrevDirectionVertical )
43+ return ;
44+
4045 await GameClient . Send ( ClientPacketOpcode . PlayerDirectionPressed , new CPacketPlayerDirectionPressed {
4146 DirectionHorizontal = DirectionHorizontal ,
4247 DirectionVertical = DirectionVertical
4348 } ) ;
49+
50+ PrevDirectionHorizontal = DirectionHorizontal ;
51+ PrevDirectionVertical = DirectionVertical ;
4452 }
4553
4654 public override void _PhysicsProcess ( float delta )
0 commit comments