implementing goblin death, need to find way deactivate it for time

This commit is contained in:
2023-07-26 23:12:52 +03:00
parent acdd8b7d16
commit 9085da5e23
6 changed files with 536 additions and 400 deletions
+11 -3
View File
@@ -26,6 +26,7 @@ public abstract class Character : MonoBehaviour
protected bool _isFalling;
protected bool _facingRight = true;
protected bool isCanGoDown = false;
protected bool isCanClimbUp=false;
protected bool isAllowVertical = true;
protected bool isAllowRight = true;
@@ -38,6 +39,7 @@ public abstract class Character : MonoBehaviour
_capsuleCollider = GetComponent<CapsuleCollider2D>();
_cellSize = new Vector2(0.6f, 1f);
Spawn();
}
protected void Spawn()
@@ -74,7 +76,7 @@ public abstract class Character : MonoBehaviour
if (_isOnLadder)
{
isCanClimbUp=CanClimbUp();
isCanGoDown = CanGoDown();
float ladderXCenterDistance = Mathf.Abs(transform.position.x - block.transform.position.x);
float v_movement = inputVertical;
@@ -143,10 +145,16 @@ public abstract class Character : MonoBehaviour
return false;
}
private bool CanGoDown()
{
var rayCastHit = Physics2D.RaycastAll(_capsuleCollider.bounds.center, Vector2.down, _capsuleCollider.size.y+0.5f, _mapLayer);
if (rayCastHit.Any(x=>x.collider.transform.GetComponent<MapElement>().ElementSO.ElementType != MapElementType.Ladder))
return false;
return true;
}
private MapElement GetMapElement()
{
var collider = BoxCast(_capsuleCollider.bounds.center, _cellSize, 0f, Vector3.forward, .01f, _mapLayer);
Color color = Color.red;
MapElement mapElement = null;