#ifndef ARC_ENGINE_STATE_H_
#define ARC_ENGINE_STATE_H_

#ifdef __cplusplus
extern "C" {
#endif

typedef void (* ARC_State_UpdateFn)(void *data);
typedef void (* ARC_State_RenderFn)(void *data);
typedef struct ARC_State {
    ARC_State_UpdateFn updateFn;
    ARC_State_RenderFn renderFn;
    void *data;
} ARC_State;

void ARC_State_Update(void *data);

void ARC_State_Render(void *data);

#ifdef __cplusplus
}
#endif

#endif // ARC_ENGINE_STATE_H_