#ifndef __GAME_STATE_H__ #define __GAME_STATE_H__ #include #include "chipmunk.h" typedef struct GameState GameState; struct GameState { cpSpace * space; cpBody * staticBody; unsigned int wallSegmentCount; cpShape ** wallSegments; float playerRadius; cpBody * player; cpShape * playerShape; bool stuck; unsigned int anchorCount; cpVect * anchors; void (* levelCompleteCallback)(void); void (* diedCallback)(void); }; struct Level; GameState * GameState_create(void (* levelCompleteCallback)(void), void (* diedCallback)(void)); void GameState_init(GameState * self, void (* levelCompleteCallback)(void), void (* diedCallback)(void)); void GameState_dispose(GameState * self); void GameState_loadLevel(GameState * self, struct Level * level); void GameState_launchPlayer(GameState * self, float forceX, float forceY); void GameState_step(GameState * self, float interval); #endif