TileMap({required this.tileAreas, required this.image, this.tileScale = 1.0}) : assert(tileAreas.isNotEmpty, "tileAreas cannot be empty");