/********************************************************************
*
* Created: 25/3/2014 12:10
*
* File: fsCScreenFade.h
*
* Author: Mick Waites
*
* Purpose: Overlay for obscuring the app display.
*
*********************************************************************/
#ifndef fsCScreenFadehdr
#define fsCScreenFadehdr
#include <fsCore/fsSColour.h>
#include <fsCore/src/fsCUniqueId.h>
#include "fsCEntity.h"
class fsCScreenFadeComponent;
class fsCScreenFade : public fsCEntity
{
friend class fsCAppCoreMain;
friend class gfCAutoTestManager;
public:
static const fsCUniqueId mFadeOutCompleteMsg;
static const fsCUniqueId mFadeInCompleteMsg;
void fadeIn();
void fadeOut();
void fadeCheatModeSet(fsBool pSet);
void updateDo(fsS32 pDeltaMs) override;
static fsCScreenFade* create();
protected:
fsCScreenFade();
virtual ~fsCScreenFade();<--- Destructor in derived class
private:
fsBool overrunComplete();
void initialise();
fsCScreenFadeComponent* mFadeComp;
fsSColour mFadeColour;
fsF32 mCurrentAlpha;
fsF32 mIncrementPerMs;
fsS32 mOverrun;
fsS32 mFadeTime;
};
#endif