158 lines
3.7 KiB
C++
158 lines
3.7 KiB
C++
#ifndef MAIN_CODE_H_INCLUDED
|
|
#define MAIN_CODE_H_INCLUDED
|
|
|
|
#ifdef TARGET_ANDROID
|
|
#include "android_api.h"
|
|
#endif
|
|
|
|
#ifdef TARGET_WIN32
|
|
#define NOMINMAX 1
|
|
#include <Windows.h>
|
|
#undef NOMINMAX
|
|
#endif
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <math.h>
|
|
|
|
#include "boost/shared_ptr.hpp"
|
|
#include "boost/thread/thread.hpp"
|
|
#include "boost/assign.hpp"
|
|
#include "boost/bind.hpp"
|
|
|
|
#include "include/Engine.h"
|
|
|
|
#include "boost/signals2.hpp"//Signal must be included after asio
|
|
|
|
#include "gamecode.h"
|
|
#include "menucode.h"
|
|
#include "creditscode.h"
|
|
#include "loadingcode.h"
|
|
|
|
using namespace SE;
|
|
|
|
|
|
extern boost::signals2::signal<void (vec2)> OnTapUpSignal;
|
|
extern boost::signals2::signal<void (vec2)> OnTapUpAfterMoveSignal;
|
|
|
|
extern boost::signals2::signal<void (vec2)> OnTapDownSignal;
|
|
extern boost::signals2::signal<void (vec2)> OnFlingSignal;
|
|
extern boost::signals2::signal<void (vec2)> OnScrollSignal;
|
|
|
|
extern boost::signals2::signal<void ()> OnDrawSignal;
|
|
|
|
extern const std::string CONST_BLOCK_TEXTURE1;
|
|
extern const std::string CONST_BLOCK_TEXTURE2;
|
|
extern const std::string CONST_BLOCK_TEXTURE3;
|
|
|
|
extern const std::string CONST_BONUS_GOTHROUGH_TEXTURE;
|
|
extern const std::string CONST_BONUS_MULTIPLIER_TEXTURE;
|
|
extern const std::string CONST_BONUS_FLOOR_TEXTURE;
|
|
|
|
extern const std::string CONST_BALL_TEXTURE;
|
|
extern const std::string CONST_BALLGLOW_TEXTURE;
|
|
|
|
extern const std::string CONST_WALL_LEFT_TEXTURE;
|
|
extern const std::string CONST_WALL_RIGHT_TEXTURE;
|
|
extern const std::string CONST_WALL_UP_TEXTURE;
|
|
extern const std::string CONST_WALL_BONUS_TEXTURE;
|
|
|
|
|
|
extern const std::string CONST_REFLECTOR_TEXTURE;
|
|
|
|
extern const std::string CONST_BACK_BTN_TEXTURE;
|
|
|
|
extern const std::string CONST_SLIDE_UP_BTN_TEXTURE;
|
|
extern const std::string CONST_TAP_TO_CONTINUE_BTN_TEXTURE;
|
|
|
|
extern const std::string CONST_BACK_BTN_TEXTURE;
|
|
extern const std::string CONST_SLIDE_UP_BTN_TEXTURE;
|
|
extern const std::string CONST_TAP_TO_CONTINUE_BTN_TEXTURE;
|
|
extern const std::string CONST_LOADING_TEXTURE;
|
|
extern const std::string CONST_LOGO_SMALL_TEXTURE;
|
|
extern const std::string CONST_CREDITS_TEXTURE;
|
|
|
|
|
|
|
|
const int CONST_GAMESTATE_LEVEL = 1;
|
|
const int CONST_GAMESTATE_MENU = 0;
|
|
const int CONST_GAMESTATE_FROM_MENU_TO_LEVEL = 2;
|
|
const int CONST_GAMESTATE_FROM_MENU_TO_CREDITS = 3;
|
|
const int CONST_GAMESTATE_CREDITS = 4;
|
|
const int CONST_GAMESTATE_FROM_CREDITS_TO_MENU = 5;
|
|
const int CONST_GAMESTATE_LOADING = 6;
|
|
const int CONST_GAMESTATE_PRELOADING = 7;
|
|
|
|
|
|
class TAndroidApplication : public TApplication
|
|
{
|
|
protected:
|
|
TGameMenu Menu;
|
|
TGameLevel GameLevel;
|
|
TGameCredits GameCredits;
|
|
TGameLoading GameLoading;
|
|
|
|
int GameState;
|
|
float StateTimer;
|
|
|
|
void TryLoadSavedGame();
|
|
void TrySaveGame();
|
|
|
|
bool Inited;
|
|
|
|
std::vector<std::pair<std::string, std::string> > TextureNamesToLoad;
|
|
|
|
void ApplySignalsToMenu();
|
|
void DisapplySignalsToMenu();
|
|
void ApplySignalsToGame();
|
|
void DisapplySignalsToGame();
|
|
void ApplySignalsToCredits();
|
|
void DisapplySignalsToCredits();
|
|
|
|
public:
|
|
bool Loaded;
|
|
|
|
TAndroidApplication() : TApplication(), Loaded(false), Inited(false) { }
|
|
|
|
virtual void InnerInit();
|
|
|
|
virtual void InnerDeinit();
|
|
|
|
virtual void InnerDraw();
|
|
|
|
virtual void InnerUpdate(cardinal dt);
|
|
|
|
void GoFromMenuToGame(int level);
|
|
void GoFromGameToMenu();
|
|
void GoFromMenuToCredits();
|
|
void GoFromCreditsToMenu();
|
|
void MarkSetGameLevelPause();
|
|
void MarkReleaseGameLevelPause();
|
|
|
|
void OpenNextLevel();
|
|
|
|
bool IsLoaded();
|
|
|
|
bool IsInited();
|
|
|
|
void LoadResources();
|
|
|
|
virtual void InnerOnTapDown(vec2 p);
|
|
|
|
virtual void InnerOnTapUp(vec2 p);
|
|
|
|
virtual void InnerOnTapUpAfterMove(vec2 p);
|
|
|
|
virtual void InnerOnMove(vec2 shift);
|
|
|
|
virtual void OnFling(vec2 v);
|
|
|
|
};
|
|
|
|
|
|
extern TAndroidApplication* Application;
|
|
|
|
|
|
|
|
#endif
|