- Main Page
- Classes
- Files

- File List
- File Members

# C:/Users/Public/AGS Final Folder/BFLETCHER D4010283/Source/Game/Source/BreakoutGameScene.h

Go to the documentation of this file.

    00001 #ifndef _BREAKOUTGAMESCENE_H_
    00002 #define _BREAKOUTGAMESCENE_H_
    00003
    00004 #include "IScene.h"
    00005
    00006 #include "BreakoutBall.h"
    00007 #include "BreakoutBox.h"
    00008 #include "BreakoutWorldBoundaries.h"
    00009 #include "BreakoutPaddle.h"
    00010 #include "IBreakoutLevelGenerator.h"
    00011 #include "BreakoutLocationArray.h"
    00012 #include "BreakoutScoreCounter.h"
    00013 #include "Visualisation.h"
    00014 #include <vector>
    00015
    00016 class BreakoutGameScene : public IScene
    00017 {
    00018         public:
    00019         BreakoutGameScene();
    00020         ~BreakoutGameScene();
    00021
    00022         virtual void Initialise();
    00023         virtual void Draw();
    00024         virtual void Update();
    00025         virtual void Shutdown();
    00026
    00027         virtual void Activate();
    00028         virtual void Deactivate();
    00029
    00030         virtual bool HandleEvent(IEvent* pEvent);
    00031
    00032         void CheckGameConditions();
    00033         void StartNewLevel();
    00034         void Reset();
    00035
    00036         protected:
    00037         enum eLevelStatus
    00038         {
    00039                 eLevelStarting = 0,
    00040                 eLevelPlaying,
    00041                 eLevelEnding
    00042         };
    00043
    00044         bool m_bIsActive;
    00045
    00046         BreakoutBall* m_pBall;
    00047         BreakoutPaddle* m_pPaddle;
    00048         BreakoutWorldBoundaries* m_pWorldBoundaries;
    00049
    00050         SpriteID m_bgSprite, m_startLevelText, m_endLevelText, m_livesLabel;
    00051
    00052         BreakoutLocationArray* m_pBoxLocations;
    00053         std::vector<IBreakoutLevelGenerator*> m_levelGenerators;
    00054         BreakoutLevel* m_pCurrentLevel;
    00055         BreakoutScoreCounter* m_pScoreCounter, *m_pLevelCounter, *m_pLivesCounter;
    00056
    00057         eLevelStatus m_levelStatus;
    00058         unsigned int m_statusChangeTime;
    00059         int m_deathLineY;
    00060
    00061         int m_playerLives, m_playerScore, m_levelNumber;
    00062 };
    00063
    00064 #endif