convert game playing..
This commit is contained in:
@@ -44,7 +44,8 @@ namespace BumpCombat.Player
|
||||
|| IsDashing
|
||||
|| playerController == null
|
||||
|| playerController.IsDamageKnockbackActive
|
||||
|| playerController.IsHurtMovementLocked)
|
||||
|| playerController.IsHurtMovementLocked
|
||||
|| playerController.IsTransitionLocked)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -81,19 +82,29 @@ namespace BumpCombat.Player
|
||||
: dashDuration;
|
||||
Vector2 start = body.position;
|
||||
Vector2 end = playerController.ClampToArena(start + direction * distance);
|
||||
Vector2 finalPosition = start;
|
||||
|
||||
combatResolver.BeginDashPathContactSession();
|
||||
float elapsed = 0f;
|
||||
while (elapsed < duration)
|
||||
{
|
||||
yield return new WaitForFixedUpdate();
|
||||
if (playerController.IsTransitionLocked)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
combatFeedback.EmitDashAfterimage(body.position, isStrongDash);
|
||||
Vector2 segmentStart = body.position;
|
||||
elapsed += Time.fixedDeltaTime;
|
||||
Vector2 segmentEnd = Vector2.Lerp(
|
||||
Vector2 intendedEnd = Vector2.Lerp(
|
||||
start,
|
||||
end,
|
||||
Mathf.Clamp01(elapsed / duration));
|
||||
Vector2 segmentEnd = playerController.ClampMovementToTerrain(
|
||||
segmentStart,
|
||||
intendedEnd);
|
||||
bool blocked = (segmentEnd - intendedEnd).sqrMagnitude > 0.0001f;
|
||||
Vector2 segment = segmentEnd - segmentStart;
|
||||
if (segment.sqrMagnitude > 0.000001f)
|
||||
{
|
||||
@@ -116,9 +127,14 @@ namespace BumpCombat.Player
|
||||
}
|
||||
|
||||
body.MovePosition(segmentEnd);
|
||||
finalPosition = segmentEnd;
|
||||
if (blocked)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
body.position = end;
|
||||
body.position = finalPosition;
|
||||
IsDashing = false;
|
||||
IsStrongDashing = false;
|
||||
animator.SetBool(IsDashingParameter, false);
|
||||
|
||||
Reference in New Issue
Block a user