private MazeUnit GetPossibleTarget() { MazeMovement unitMovement = unit.GetMovement(); Maze maze = Maze.Instance; MazeUnit possibleTarget = maze.GetOccupant(unitMovement.GetMazePos() + Vector2Int.up); if (IsTargetValid(possibleTarget)) { return(possibleTarget); } possibleTarget = maze.GetOccupant(unitMovement.GetMazePos() + Vector2Int.right); if (IsTargetValid(possibleTarget)) { return(possibleTarget); } possibleTarget = maze.GetOccupant(unitMovement.GetMazePos() + Vector2Int.down); if (IsTargetValid(possibleTarget)) { return(possibleTarget); } possibleTarget = maze.GetOccupant(unitMovement.GetMazePos() + Vector2Int.left); if (IsTargetValid(possibleTarget)) { return(possibleTarget); } return(null); }
void OnEnable() { anim = GetComponent <Animator>(); anim.SetTrigger("fright"); if (movement == null) { movement = GetComponent <MazeMovement>(); } direction = movement.GetDirectionVector(movement.direction); transform.position = new Vector3(Mathf.Floor(transform.position.x) + 0.5f, Mathf.Floor(transform.position.y) + 0.5f); GetComponent <FollowTarget>().RevertDirection(); }
void Start() { body = GetComponent <Rigidbody2D>(); CanChange = true; movement = GetComponent <MazeMovement>(); }