move to 3d
This commit is contained in:
@@ -12,8 +12,8 @@ public abstract class Character : MonoBehaviour
|
||||
[SerializeField]
|
||||
private LayerMask _mapLayer;
|
||||
|
||||
private Rigidbody2D _body;
|
||||
private CapsuleCollider2D _capsuleCollider;
|
||||
private Rigidbody _body;
|
||||
private CapsuleCollider _capsuleCollider;
|
||||
protected bool _isOnBridge;
|
||||
private bool _isOnLadder = false;
|
||||
|
||||
@@ -31,8 +31,8 @@ public abstract class Character : MonoBehaviour
|
||||
|
||||
public void Init()
|
||||
{
|
||||
_body = GetComponent<Rigidbody2D>();
|
||||
_capsuleCollider = GetComponent<CapsuleCollider2D>();
|
||||
_body = GetComponent<Rigidbody>();
|
||||
_capsuleCollider = GetComponent<CapsuleCollider>();
|
||||
_cellSize = new Vector2(0.6f, 1f);
|
||||
}
|
||||
|
||||
@@ -98,11 +98,11 @@ public abstract class Character : MonoBehaviour
|
||||
|
||||
if (_isOnLadder || _isOnBridge)
|
||||
{
|
||||
_body.gravityScale = 0;
|
||||
//_body.gravityScale = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_body.gravityScale = 1;
|
||||
//_body.gravityScale = 1;
|
||||
}
|
||||
if (_isFalling)
|
||||
{
|
||||
@@ -125,12 +125,12 @@ public abstract class Character : MonoBehaviour
|
||||
|
||||
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;
|
||||
}
|
||||
// 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;
|
||||
}
|
||||
|
||||
@@ -153,20 +153,20 @@ public abstract class Character : MonoBehaviour
|
||||
|
||||
private MapElement GetMapElement()
|
||||
{
|
||||
var collider = BoxCast(_capsuleCollider.bounds.center, _cellSize, 0f, Vector3.forward, .01f, _mapLayer);
|
||||
Color color = Color.red;
|
||||
MapElement mapElement = null;
|
||||
if (collider.Length > 0)
|
||||
{
|
||||
var elements=collider.Select(x=>x.transform.GetComponent<MapElement>());
|
||||
mapElement = elements.Where(x => x.ElementSO.ElementType == MapElementType.Ladder).FirstOrDefault();
|
||||
if(mapElement == null)
|
||||
{
|
||||
mapElement = elements.First();
|
||||
}
|
||||
}
|
||||
var collider = BoxCast(_capsuleCollider.bounds.center, _cellSize, 0f, Vector3.forward, .01f, _mapLayer);
|
||||
Color color = Color.red;
|
||||
MapElement mapElement = null;
|
||||
if (collider.Length > 0)
|
||||
{
|
||||
var elements=collider.Select(x=>x.transform.GetComponent<MapElement>());
|
||||
mapElement = elements.Where(x => x.ElementSO.ElementType == MapElementType.Ladder).FirstOrDefault();
|
||||
if(mapElement == null)
|
||||
{
|
||||
mapElement = elements.First();
|
||||
}
|
||||
}
|
||||
|
||||
return mapElement;
|
||||
return mapElement;
|
||||
}
|
||||
|
||||
protected abstract void SetWalkingAnimation(bool isWalking);
|
||||
|
||||
Reference in New Issue
Block a user