genesis-3d_engine/Engine/players/Demo/Common/DemoGameStateHandler.h
zhongdaohuan 6e8fbca745 genesis-3d engine version 1.3.
match the genesis editor version 1.3.0.653.
2014-05-05 14:50:33 +08:00

72 lines
2.0 KiB
C++

/** \file: DemoGameStateHandler.h
* \brief:
* Copyright (c) 2011,WebJet Enterprise Department.ChangYou
* All rights reserved.
* Date Ver Who Comment
* 2011/10/14 1.0 SunHao
*/
#ifndef __DEMOGAMESTATEHANDLER_H__
#define __DEMOGAMESTATEHANDLER_H__
#include "appframework/statehandler.h"
#include "appframework/actor.h"
#include "math/float3.h"
#include "appframework/app_fwd_decl.h"
#include "addons/resource/resource_fwd_decl.h"
#include "DemoFwdDecl.h"
namespace Demo
{
class DemoGameStateHandler : public App::StateHandler
{
__DeclareClass(DemoGameStateHandler);
public:
/// constructor
DemoGameStateHandler();
/// destructor
virtual ~DemoGameStateHandler();
/// called when the state represented by this state handler is entered
virtual void OnStateEnter(const Util::String& prevState);
/// called when the state represented by this state handler is left
virtual void OnStateLeave(const Util::String& nextState);
/// called each frame as long as state is current, return new state
virtual Util::String OnFrame();
/// set level filename, required by setup mode LoadLevel
void SetSceneName(const Util::String& n);
/// get level name
const Util::String& GetSceneName() const;
bool ResetScene(const char* strSceneName);
void HeldScene();
private:
Util::String m_sSceneName;
App::Actor::FastId m_iMeshActorID;
Util::String m_sCurMeshName;
Util::String m_sCurShaderName;
Util::String m_sCurTexName;
App::TActorPtr m_pSkyActor;
App::TActorPtr m_pWaterActor;
App::TActorPtr m_pTerrain;
};
//------------------------------------------------------------------------------
/**
*/
inline void DemoGameStateHandler::SetSceneName(const Util::String& sName)
{
this->m_sSceneName = sName;
}
//------------------------------------------------------------------------------
/**
*/
inline const Util::String& DemoGameStateHandler::GetSceneName() const
{
return this->m_sSceneName;
}
}
#endif // __DEMOGAMESTATEHANDLER_H__