import 'package:wolf_dart/classes/entity.dart'; import 'package:wolf_dart/classes/linear_coordinates.dart'; abstract class Enemy extends Entity { Enemy({ required super.x, required super.y, required super.spriteIndex, super.angle, super.state, super.mapId, super.lastActionTime, }); // Every enemy must implement its own brain! void update({ required int elapsedMs, required LinearCoordinates player, required bool Function(int x, int y) isWalkable, required bool Function(Entity entity) hasLineOfSight, required void Function(int damage) onDamagePlayer, }); }