module States (BObject(..) , DState(..) , KState(..) , CState(..), ActionID(..), WState(..) , TexObjDataID(..)) where import Graphics.Rendering.OpenGL import Graphics.UI.GLUT data BObject = BObject {objPosition :: (Vector3 GLfloat) ,objVelocity :: (Vector3 GLfloat) ,objAccele :: (Vector3 GLfloat) ,objWidth :: GLfloat ,objActionID :: ActionID ,objTexture :: TexObjDataID } deriving (Show) data DState = DState { bObjs :: [BObject] } deriving (Show) data KState = KState { keyFlag :: Bool } deriving (Show) data CState = CState {cursorPos :: Maybe Position ,dCursorPos :: GLint } deriving (Show) data ActionID = FreeFall | Elevator deriving (Show,Eq) data WState = WState { windowWidth :: GLint ,windowHeight :: GLint ,windowWH :: GLfloat } deriving (Show) data TexObjDataID = TexObjDataID {texGroup :: Int ,texImageID :: Int } deriving (Show)