Simple game engine with complete export to scripting language
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

61 line
1.4 KiB

  1. #ifndef BLUECORE_APPLICATION_H
  2. #define BLUECORE_APPLICATION_H
  3. #include "RenderWindow.h"
  4. #include "RenderDevice.h"
  5. #include "FontManager.h"
  6. #include "MeshManager.h"
  7. #include "TextureManager.h"
  8. #include "ShaderManager.h"
  9. #include "ModelManager.h"
  10. #include "TextureImage.h"
  11. #include "ScriptSystem.h"
  12. #include "RigidBodySimulation.h"
  13. #include "SceneGraph.h"
  14. namespace BlueCore
  15. {
  16. class Application : public Referenced, public sigslot::has_slots<>
  17. {
  18. bool _Running;
  19. bool _Paused;
  20. double _SimulationTime;
  21. double _StartTime;
  22. double _LastTime;
  23. double _CameraPhi, _CameraTheta, _CameraRadius;
  24. int _LastMouseX, _LastMouseY, _LastWheel;
  25. ref_ptr<RenderWindow> _Window;
  26. ref_ptr<RenderDevice> _Device;
  27. ref_ptr<FontManager> _FontManager;
  28. ref_ptr<MeshManager> _MeshManager;
  29. ref_ptr<TextureManager> _TextureManager;
  30. ref_ptr<ScriptSystem> _ScriptSystem;
  31. ref_ptr<ShaderManager> _ShaderManager;
  32. ref_ptr<RigidBodySimulation> _Simulation;
  33. ref_ptr<ModelManager> _ModelManager;
  34. ref_ptr<RenderQueue> _RenderQueue;
  35. ref_ptr<SceneGraph> _SceneGraph;
  36. void KeySlot(int key, int action);
  37. void MouseMoveSlot(int x, int y);
  38. void MouseWheelSlot(int z);
  39. public:
  40. bool initialize();
  41. void shutdown();
  42. void quit();
  43. void run();
  44. void togglePause();
  45. void setSceneGraph (SceneGraph *scenegraph);
  46. };
  47. }
  48. #endif /*APPLICATION_H_*/