#ifndef MAPMANAGER_H
#define MAPMANAGER_H

#include "maps/big1.h"
#include "maps/CombinedLevel1.h"
#include "maps/CombinedLevel2.h"
#include "maps/ConceptLevel1.h"
#include "maps/ConceptLevel2.h"
#include "maps/ConceptLevel3.h"
#include "maps/ConceptLevel4.h"
#include "maps/FinalLevel.h"
#include "maps/GestureLevel.h"
#include "maps/IntroLevel.h"
#include "GameTypes.h"

// Level map array pointers.
extern u8* const level_map[LEVEL_COUNT];

// The size of the map arrays.
extern const u16 level_map_size[LEVEL_COUNT];

// Level enemy array pointers.
extern u8* const level_map_enemies[LEVEL_COUNT];

// The size of the map enemy arrays.
extern const u8 level_map_enemies_size[LEVEL_COUNT];

// Level link array pointers.
extern u8* const level_links[LEVEL_COUNT];

// The number of elements in the level link array.
extern const u8 level_links_array_size[LEVEL_COUNT];

// Level start position array pointers.
extern u8* const level_start_position[LEVEL_COUNT];

// Level water array pointers.
extern u8* const level_water_regions[LEVEL_COUNT];

// The number of elements in the level water array.
extern const u8 level_water_array_size[LEVEL_COUNT];

// The type of objective applied to the level.
extern const u8 level_objective_type[LEVEL_COUNT];

// The number of actions required to satisfy the objective in the level.
extern const u8 level_objective_action_count[LEVEL_COUNT];

#endif