Simple game engine with complete export to scripting language
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

61 linhas
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_*/