Browse Source

revert: 🔥 remove the fuction TryToStop

tags/v0.1.0
shangfengh 2 years ago
parent
commit
e7a2898b62
1 changed files with 2 additions and 29 deletions
  1. +2
    -29
      logic/Gaming/ActionManager.cs

+ 2
- 29
logic/Gaming/ActionManager.cs View File

@@ -36,7 +36,7 @@ namespace Gaming
public bool MovePlayer(Character playerToMove, int moveTimeInMilliseconds, double moveDirection)
{
if (moveTimeInMilliseconds < 5) return false;
if (!playerToMove.Commandable() || !TryToStop()) return false;
if (!playerToMove.Commandable()) return false;
if (playerToMove.IsMoving) return false;
characterManager.SetPlayerState(playerToMove, PlayerStateType.Moving);
moveEngine.MoveObj(playerToMove, moveTimeInMilliseconds, moveDirection);
@@ -53,7 +53,7 @@ namespace Gaming

public bool Stop(Character player)
{
if (player.Commandable() || !TryToStop())
if (player.Commandable())
{
characterManager.SetPlayerState(player);
return true;
@@ -440,33 +440,6 @@ namespace Gaming
}
}
*/
private object numLock = new object();
private int lastTime = 0;
private int numStop = 0;
private int NumStop => numStop;
private bool TryToStop()
{
lock (numLock)
{
int time = gameMap.Timer.nowTime();
if (time / GameData.frameDuration > lastTime)
{
lastTime = time / GameData.frameDuration;
numStop = 1;
return true;
}
else
{
if (numStop == GameData.LimitOfStopAndMove)
return false;
else
{
++numStop;
return true;
}
}
}
}

private readonly Map gameMap;
private readonly CharacterManager characterManager;


Loading…
Cancel
Save