00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef GLUON_ENGINE_SCENE_H
00022 #define GLUON_ENGINE_SCENE_H
00023
00024 #include "asset.h"
00025 #include "savable.h"
00026
00027 namespace GluonEngine
00028 {
00029 class GameObject;
00030 class ScenePrivate;
00031
00044 class GLUON_ENGINE_EXPORT Scene : public Asset, public GluonEngine::Savable
00045 {
00046 Q_OBJECT
00047 GLUON_OBJECT( GluonEngine::Scene );
00048 Q_INTERFACES( GluonEngine::Asset );
00049
00050 public:
00051 Q_INVOKABLE Scene( QObject* parent = 0 );
00052 ~Scene();
00053
00060 virtual void setFile( const QUrl& newFile );
00066 virtual void setName( const QString& newName );
00067
00071 virtual void resetScene();
00072
00079 virtual QString contentsToGDL();
00080
00085 Q_INVOKABLE GluonEngine::GameObject* sceneContents();
00086
00087 private:
00088 ScenePrivate* d;
00089 };
00090 }
00091
00092 Q_DECLARE_METATYPE( GluonEngine::Scene )
00093 Q_DECLARE_METATYPE( GluonEngine::Scene* )
00094
00095 #endif // GLUON_ENGINE_SCENE_H