geekbrains_gof/SBomber/include/SBomber.h

56 lines
1.1 KiB
C++

#pragma once
#include <vector>
#include "LevelGUI.h"
#include "Plane.h"
#include "Bomb.h"
#include "Ground.h"
#include "Tank.h"
class SBomber
{
public:
SBomber();
~SBomber();
inline bool GetExitFlag() const { return exitFlag; }
void ProcessKBHit();
void TimeStart();
void TimeFinish();
void DrawFrame();
void MoveObjects();
void CheckObjects();
private:
void CheckPlaneAndLevelGUI();
void CheckBombsAndGround();
void CheckDestoyableObjects(Bomb* pBomb);
void DeleteDynamicObj(DynamicObject * pBomb);
void DeleteStaticObj(GameObject* pObj);
Ground * FindGround() const;
Plane * FindPlane() const;
LevelGUI * FindLevelGUI() const;
std::vector<DestroyableGroundObject*> FindDestoyableGroundObjects() const;
std::vector<Bomb*> FindAllBombs() const;
void DropBomb();
void AnimateScrolling();
std::vector<DynamicObject*> vecDynamicObj;
std::vector<GameObject*> vecStaticObj;
bool exitFlag;
uint64_t startTime, finishTime, passedTime;
uint16_t bombsNumber, deltaTime, fps;
int16_t score;
};