try to fix movement up
This commit is contained in:
@@ -73,15 +73,17 @@ public abstract class Character : MonoBehaviour
|
||||
|
||||
if (_isOnLadder)
|
||||
{
|
||||
float ladderCenterDistance = Mathf.Abs(transform.position.x - block.transform.position.x);
|
||||
float ladderXCenterDistance = Mathf.Abs(transform.position.x - block.transform.position.x);
|
||||
|
||||
float v_movement = inputVertical;
|
||||
isAllowVertical = ladderCenterDistance < 0.3f;
|
||||
|
||||
|
||||
SetClimbingAnimation(v_movement != 0);
|
||||
_body.velocity = new Vector2(h_movement * _movementSpeed, v_movement * _movementSpeed);
|
||||
|
||||
|
||||
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
|
||||
{
|
||||
@@ -120,16 +122,24 @@ public abstract class Character : MonoBehaviour
|
||||
private void Death()
|
||||
{
|
||||
OnDeath();
|
||||
|
||||
}
|
||||
|
||||
private bool CanClimbUp()
|
||||
{
|
||||
var rayCastHit = Physics2D.Raycast(_capsuleCollider.bounds.center, Vector2.down, _capsuleCollider.size.y / 2,_mapLayer);
|
||||
if(rayCastHit)
|
||||
if(rayCastHit.collider.transform.GetComponent<MapElement>().ElementSO.ElementType==MapElementType.Ladder)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private MapElement GetMapElement()
|
||||
{
|
||||
|
||||
var playerBounds = _capsuleCollider.bounds.center;
|
||||
|
||||
var collider = BoxCast(playerBounds, _cellSize, 0f, Vector3.forward, .01f, _mapLayer);
|
||||
var collider = BoxCast(_capsuleCollider.bounds.center, _cellSize, 0f, Vector3.forward, .01f, _mapLayer);
|
||||
Color color = Color.red;
|
||||
MapElement mapElement = null;
|
||||
if (collider.Length > 0)
|
||||
|
||||
Reference in New Issue
Block a user