FIx enemy AI

This commit is contained in:
2023-08-03 12:09:24 +03:00
parent 754068bf58
commit e5f415f9d4
4 changed files with 17 additions and 8 deletions
+1 -1
View File
@@ -6496,7 +6496,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_prefab: {fileID: 3591543287615843076, guid: 9343f4905e9dde64aa00eaf4ff433352, type: 3} _prefab: {fileID: 3591543287615843076, guid: 9343f4905e9dde64aa00eaf4ff433352, type: 3}
_maxCharacters: 2 _maxCharacters: 1
_spawnPoint: {fileID: 0} _spawnPoint: {fileID: 0}
--- !u!4 &1638752929 --- !u!4 &1638752929
Transform: Transform:
+2 -2
View File
@@ -2998,11 +2998,11 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 4.5 value: 3.5
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: -0.5 value: -1.5
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} - target: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
+12 -3
View File
@@ -145,9 +145,18 @@ public abstract class Character : MonoBehaviour
private bool CanGoDown() private bool CanGoDown()
{ {
var rayCastHit = Physics2D.RaycastAll(_capsuleCollider.bounds.center, Vector2.down, _capsuleCollider.size.y+0.5f, _mapLayer); var rayCastHit = Physics2D.RaycastAll(_capsuleCollider.bounds.center, Vector2.down, 0.5f, _mapLayer);
if (rayCastHit.Any(x=>x.collider.transform.GetComponent<MapElement>().ElementSO.ElementType != MapElementType.Ladder)) var isNoladder = rayCastHit.Any(x => x.collider.transform.GetComponent<MapElement>().ElementSO.ElementType != MapElementType.Ladder);
return false; foreach (var hit in rayCastHit)
{
Debug.DrawLine(hit.point, hit.point + hit.normal.normalized * 0.2f, isNoladder? Color.blue: Color.red);
}
if (isNoladder)
{
return false;
}
return true; return true;
} }
+2 -2
View File
@@ -22,11 +22,11 @@ public class EnemyAI : Character
float verticalDistance = Player.Instance.transform.position.y - transform.position.y; float verticalDistance = Player.Instance.transform.position.y - transform.position.y;
if (verticalDistance > 0 && isCanClimbUp && isAllowVertical) if (verticalDistance > 0.1f && isCanClimbUp && isAllowVertical)
{ {
vertical = VerticalMove(verticalDistance); vertical = VerticalMove(verticalDistance);
} }
else if (verticalDistance < 0 && isAllowVertical && isCanGoDown) else if (verticalDistance < 0.1f && isAllowVertical && isCanGoDown)
{ {
vertical = VerticalMove(verticalDistance); vertical = VerticalMove(verticalDistance);
} }