80 lines
1.9 KiB
C++
80 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include "KPrimitiveSprite.h"
|
|
#include "SGameScene.h"
|
|
|
|
namespace rp {
|
|
|
|
class SGameCreditsScene : public SGameScene
|
|
{
|
|
public:
|
|
SGameCreditsScene(
|
|
SGameSceneManager& sceneMgr
|
|
, SGameScene* parent
|
|
, const char* sceneName
|
|
, DWORD screeningTime
|
|
, DWORD fadeInTime
|
|
, DWORD fadeOutTime
|
|
, DWORD beginScrollTime
|
|
, DWORD endScrollTime
|
|
, float startx
|
|
, DWORD width
|
|
, DWORD height
|
|
, KViewportObject* viewport = 0);
|
|
~SGameCreditsScene();
|
|
virtual void onEnter();
|
|
virtual void onActivate();
|
|
virtual void onDeactivate();
|
|
virtual void onLeave();
|
|
virtual void onTick();
|
|
virtual void onRender( KViewportObject* viewport );
|
|
virtual void activate( bool activity = true );
|
|
|
|
void addFilm( const char* fileName );
|
|
int getFilmCount() { return mFilms.size(); }
|
|
//void escapeScene();
|
|
|
|
private:
|
|
|
|
class CFilm
|
|
{
|
|
public:
|
|
CFilm();
|
|
bool createFilm( SGameSceneManager& sceneMgr, const char* fileName, int screenWidth, int screenHeight, float position );
|
|
float getPosition( float position ) { return mPosition; }
|
|
float getFilmWidth();
|
|
float getFilmHeight();
|
|
bool isVisible( float screenPosition, int screenHeight );
|
|
KSpritePrimitive& project( float screenx, float screenPoition, int screenWidth, int screenHeight );
|
|
|
|
private:
|
|
KSpritePrimitive mPrimitive;
|
|
KResSpriteSPtr mSprite;
|
|
K3DTextureSPtr mTexture;
|
|
float mPosition;
|
|
#if defined( _DEBUG )
|
|
std::string mFilmName;
|
|
#endif
|
|
};
|
|
|
|
typedef std::vector< CFilm* > film_vector_t;
|
|
film_vector_t mFilms;
|
|
float mScreenX;
|
|
int mScreenWidth;
|
|
int mScreenHeight;
|
|
DWORD mScreeningTime;
|
|
DWORD mFadeInTime;
|
|
DWORD mFadeOutTime;
|
|
DWORD mBeginScrollTime;
|
|
DWORD mEndScrollTime;
|
|
DWORD mShowTime;
|
|
float mProjectPosition;
|
|
float mFilmLength;
|
|
unsigned int mFilmIndex;
|
|
DWORD mEscapeTime;
|
|
KViewportObject* mViewport;
|
|
};
|
|
|
|
}
|
|
|