Simple game engine with complete export to scripting language
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

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