Fixed movement rules
This commit is contained in:
@@ -26,7 +26,7 @@ public abstract class Character : MonoBehaviour
|
||||
protected bool _isFalling;
|
||||
protected bool _facingRight = true;
|
||||
|
||||
|
||||
protected bool isCanClimbUp=false;
|
||||
protected bool isAllowVertical = true;
|
||||
protected bool isAllowRight = true;
|
||||
protected bool isAllowLeft = true;
|
||||
@@ -73,17 +73,25 @@ public abstract class Character : MonoBehaviour
|
||||
|
||||
if (_isOnLadder)
|
||||
{
|
||||
isCanClimbUp=CanClimbUp();
|
||||
|
||||
float ladderXCenterDistance = Mathf.Abs(transform.position.x - block.transform.position.x);
|
||||
|
||||
float v_movement = inputVertical;
|
||||
|
||||
isAllowVertical = (ladderXCenterDistance < 0.3f);
|
||||
if(!isCanClimbUp&& v_movement>0)
|
||||
{
|
||||
v_movement=0;
|
||||
}
|
||||
|
||||
isAllowVertical = (ladderXCenterDistance < 0.3f) || (CanClimbUp() && v_movement>0);
|
||||
if (isAllowVertical)
|
||||
{
|
||||
SetClimbingAnimation(v_movement != 0);
|
||||
_body.velocity = new Vector2(h_movement * _movementSpeed, v_movement * _movementSpeed);
|
||||
}
|
||||
else{
|
||||
_body.velocity = new Vector2(h_movement * _movementSpeed, _body.velocity.y);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user