NAP
templateapp.h
1 #pragma once
2 
3 // Core includes
4 #include <nap/resourcemanager.h>
5 #include <nap/resourceptr.h>
6 
7 // Module includes
8 #include <renderservice.h>
9 #include <imguiservice.h>
10 #include <sceneservice.h>
11 #include <inputservice.h>
12 #include <scene.h>
13 #include <renderwindow.h>
14 #include <entity.h>
15 #include <app.h>
16 
17 namespace nap
18 {
19  using namespace rtti;
20 
24  class @APP_NAME_INPUTCASE@App : public App
25  {
26  RTTI_ENABLE(App)
27  public:
32  @APP_NAME_INPUTCASE@App(nap::Core& core) : App(core) { }
33 
39  bool init(utility::ErrorState& error) override;
40 
45  void update(double deltaTime) override;
46 
50  void render() override;
51 
56  void windowMessageReceived(WindowEventPtr windowEvent) override;
57 
62  void inputMessageReceived(InputEventPtr inputEvent) override;
63 
68  virtual int shutdown() override;
69 
70  private:
71  ResourceManager* mResourceManager = nullptr;
72  RenderService* mRenderService = nullptr;
73  SceneService* mSceneService = nullptr;
74  InputService* mInputService = nullptr;
75  IMGuiService* mGuiService = nullptr;
76  ObjectPtr<RenderWindow> mRenderWindow;
77  ObjectPtr<Scene> mScene = nullptr;
78  ObjectPtr<EntityInstance> mCameraEntity = nullptr;
79  ObjectPtr<EntityInstance> mGnomonEntity = nullptr;
80  };
81 }
nap::rtti::ObjectPtr
Definition: objectptr.h:154
nap::utility::ErrorState
Definition: errorstate.h:19
nap::App
Definition: templateapp.h:24
nap::InputService
Definition: inputservice.h:32
nap::RenderService
Definition: renderservice.h:275
nap::Core
Definition: core.h:82
nap::WindowEventPtr
std::unique_ptr< WindowEvent > WindowEventPtr
Definition: windowevent.h:189
nap::IMGuiService
Definition: imguiservice.h:165
nap
Definition: templateapp.h:17
nap::InputEventPtr
std::unique_ptr< nap::InputEvent > InputEventPtr
Definition: inputevent.h:414
nap::App::App
APP_NAME_INPUTCASE App(nap::Core &core)
Definition: templateapp.h:32
nap::SceneService
Definition: sceneservice.h:16
nap::ResourceManager
Definition: resourcemanager.h:49