#pragma once #include #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 FindDestoyableGroundObjects() const; std::vector FindAllBombs() const; void DropBomb(); std::vector vecDynamicObj; std::vector vecStaticObj; bool exitFlag; uint64_t startTime, finishTime, passedTime; uint16_t bombsNumber, deltaTime, fps; int16_t score; };