#ifndef MENU_H
#define MENU_H
    
#include <stdbool.h>
#include <stdint.h>


typedef struct MenuItem_S
{   
    // Performs the actions required when this MenuItem receives focus.
    void (*OnFocus)(bool IncludeDetails);
    // Performs the actions required when this MenuItem receives focus.
    struct MenuItem_S const * (*OnSelect)(void);
    void (*OnIncrement)(void);
    void (*OnDecrement)(void);
    
} MenuItem_T;

MenuItem_T const * const RootMenu;

#include "GameSettings/GameMenuItem.h"
#include "GameSettings/PlayerIDMenuItem.h"
#include "GameSettings/TeamIDMenuItem.h"
#include "HardwareSettings/HardwareMenuItem.h"
#include "HardwareSettings/VolumeMenuItem.h"
#include "HardwareSettings/HandedMenuItem.h"

#endif // MENU_H
