// Copyright (c) 2014 Alex Diener. All rights reserved. #ifndef __GameplayView_H__ #define __GameplayView_H__ #ifdef __cplusplus extern "C" { #endif typedef struct GameplayView GameplayView; #include "gamemath/Interpolation.h" #include "glbitmapfont/GLBitmapFont.h" #include "glslshader/GLSLShader.h" #include "gltexture/GLTexture.h" #include "gltexture/GLTextureAtlas.h" #include "resourcemanager/ResourceManager.h" #include "stemobject/StemObject.h" #include "watertowerclassic/GameplayScreen.h" #include #define GameplayView_structContents(self_type) \ StemObject_structContents(self_type) \ \ GameplayScreen * gameplayScreen; \ ResourceManager * resourceManager; \ GLuint vertexBufferID; \ GLuint indexBufferID; \ GLTexture * spriteTexture; \ GLTextureAtlas * textureAtlas; \ GLBitmapFont * bitmapFont; \ GLSLShader * airBubbleShader; \ LevelModel * lastLevel; \ unsigned int lastLevelFrameIndex; \ struct interpolationContext levelTransitionInterpolation; \ bool noShaderCompatibilityMode; stemobject_struct_definition(GameplayView) GameplayView * GameplayView_create(GameplayScreen * gameplayScreen, ResourceManager * resourceManager); bool GameplayView_init(GameplayView * self, GameplayScreen * gameplayScreen, ResourceManager * resourceManager); void GameplayView_dispose(GameplayView * self); void GameplayView_draw(GameplayView * self, double interval); void GameplayView_beginLevelTransition(GameplayView * self); #ifdef __cplusplus } #endif #endif