Simple game engine with complete export to scripting language
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 

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