#pragma once

struct GameState;

typedef struct GameApi {
    struct GameState *(*init)();
    bool (*window_should_close)();
    void (*finalize) (struct GameState *state);
    void (*reload) (struct GameState *state);
    void (*unload) (struct GameState *state);
    void (*step) (struct GameState *state);
} GameApi;

extern const GameApi GAME_API;
