#ifndef BLUECORE_APPLICATION_H #define BLUECORE_APPLICATION_H #include "RenderWindow.h" #include "RenderDevice.h" #include "FontManager.h" #include "MeshManager.h" #include "TextureManager.h" #include "ShaderManager.h" #include "ModelManager.h" #include "TextureImage.h" #include "ScriptSystem.h" #include "RigidBodySimulation.h" #include "SceneGraph.h" namespace BlueCore { class Application : public Referenced, public sigslot::has_slots<> { bool _Running; bool _Paused; double _SimulationTime; double _StartTime; double _LastTime; double _CameraPhi, _CameraTheta, _CameraRadius; int _LastMouseX, _LastMouseY, _LastWheel; ref_ptr _Window; ref_ptr _Device; ref_ptr _FontManager; ref_ptr _MeshManager; ref_ptr _TextureManager; ref_ptr _ScriptSystem; ref_ptr _ShaderManager; ref_ptr _Simulation; ref_ptr _ModelManager; ref_ptr _RenderQueue; ref_ptr _SceneGraph; void KeySlot(int key, int action); void MouseMoveSlot(int x, int y); void MouseWheelSlot(int z); public: bool initialize(); void shutdown(); void quit(); void run(); void togglePause(); void setSceneGraph (SceneGraph *scenegraph); }; } #endif /*APPLICATION_H_*/