// Copyright (c) 2014 Alex Diener. All rights reserved. #ifndef __ManageLevelsScreen_H__ #define __ManageLevelsScreen_H__ #ifdef __cplusplus extern "C" { #endif typedef struct ManageLevelsScreen ManageLevelsScreen; #define MANAGE_LEVELS_ERROR_TEXT_LENGTH 256 #include "glbitmapfont/GLBitmapFont.h" #include "inputcontroller/InputController.h" #include "screenmanager/Screen.h" #include "watertowerclassic/GameSession.h" #include "watertowerclassic/LevelSetModel.h" #define ManageLevelsScreen_structContents(self_type) \ Screen_structContents(self_type) \ \ GameSession * gameSession; \ InputController * inputController; \ GLuint vertexBufferID; \ GLuint indexBufferID; \ GLBitmapFont * bitmapFont; \ unsigned int menuItemIndex; \ unsigned int levelSetIndex; \ bool deleteConfirmed; \ bool selectingLevelSet; \ bool editingLevelSetName; \ bool confirmingDelete; \ char errorText[MANAGE_LEVELS_ERROR_TEXT_LENGTH]; \ char nameText[LEVEL_SET_NAME_MAX]; stemobject_struct_definition(ManageLevelsScreen) ManageLevelsScreen * ManageLevelsScreen_create(GameSession * gameSession); bool ManageLevelsScreen_init(ManageLevelsScreen * self, GameSession * gameSession); void ManageLevelsScreen_dispose(ManageLevelsScreen * self); void ManageLevelsScreen_activate(ManageLevelsScreen * self); void ManageLevelsScreen_deactivate(ManageLevelsScreen * self); void ManageLevelsScreen_draw(ManageLevelsScreen * self); #ifdef __cplusplus } #endif #endif