Patrollin Enemy Sprites

This commit is contained in:
2022-02-25 12:45:02 +03:00
parent 16be6c18c5
commit 89a057060c
14 changed files with 499 additions and 8 deletions

View File

@@ -6,9 +6,11 @@ namespace AI
{
public class BasicPatrollingEnemyAI : MonoBehaviour, IPausable
{
[SerializeField] protected bool isMovingRight = false;
[SerializeField] protected bool isMovingRightInitially = false;
protected bool isMovingRight = false;
protected IMovement movement = null;
protected SpriteRenderer spriteRenderer = null;
protected CollisionChecker leftWallChecker = null;
protected CollisionChecker rightWallChecker = null;
@@ -32,10 +34,13 @@ namespace AI
protected virtual void Awake()
{
movement = gameObject.AddComponent<EnemyMovement>();
spriteRenderer = gameObject.GetComponent<SpriteRenderer>();
leftWallChecker = GetCollisionCheckerOnChild("Collision Checkers/Left Wall");
rightWallChecker = GetCollisionCheckerOnChild("Collision Checkers/Right Wall");
leftGroundChecker = GetCollisionCheckerOnChild("Collision Checkers/Left Ground");
rightGroundChecker = GetCollisionCheckerOnChild("Collision Checkers/Right Ground");
isMovingRight = isMovingRightInitially;
spriteRenderer.flipX = !isMovingRightInitially;
}
protected virtual void FixedUpdate()
@@ -44,7 +49,10 @@ namespace AI
return;
if (ShouldChangeDirection)
{
isMovingRight = !isMovingRight;
spriteRenderer.flipX = !isMovingRight;
}
movement.Move(isMovingRight ? 1f : -1f);
}