Nebula
Loading...
Searching...
No Matches
graphicsmanager.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
12//------------------------------------------------------------------------------
13#include "core/refcounted.h"
14#include "core/singleton.h"
15#include "game/manager.h"
16#include "game/category.h"
19#include "components/camera.h"
20#include "components/decal.h"
21#include "components/lighting.h"
22#include "components/model.h"
23
24namespace GraphicsFeature
25{
26
28{
30public:
31
33 virtual ~GraphicsManager();
34
35 void OnActivate() override;
36 void OnDeactivate() override;
37 void OnDecay() override;
38 void OnCleanup(Game::World* world) override;
39
41 static void InitModel(Game::World*, Game::Entity, Model*);
43 static void InitPointLight(Game::World* world, Game::Entity entity, PointLight* light);
45 static void InitSpotLight(Game::World* world, Game::Entity entity, SpotLight* light);
47 static void InitAreaLight(Game::World* world, Game::Entity entity, AreaLight* light);
49 static void InitDecal(Game::World* world, Game::Entity entity, Decal* decal);
50
51private:
55};
56
57} // namespace GraphicsFeature
58
59namespace Game
60{
61template <>
63}
Managers are objects which care about some specific functionality of a feature.
Definition manager.h:32
A container of entities, their components, and processors.
Handles logic for connecting the game layer with the render layer.
Definition graphicsmanager.h:28
void OnActivate() override
Definition graphicsmanager.cc:304
void OnDeactivate() override
called when removed from game server
Definition graphicsmanager.cc:316
static void InitPointLight(Game::World *world, Game::Entity entity, PointLight *light)
called automatically when a point light needs to be initialized
Definition graphicsmanager.cc:325
void OnCleanup(Game::World *world) override
Cleanup all graphics entities.
Definition graphicsmanager.cc:437
void InitUpdateLightTransformProcessor()
Definition graphicsmanager.cc:227
static void InitAreaLight(Game::World *world, Game::Entity entity, AreaLight *light)
called automatically when an area light needs to be initialized
Definition graphicsmanager.cc:370
static void InitSpotLight(Game::World *world, Game::Entity entity, SpotLight *light)
called automatically when a spot light needs to be initialized
Definition graphicsmanager.cc:343
void InitUpdateModelTransformProcessor()
Definition graphicsmanager.cc:203
void InitUpdateDecalTransformProcessor()
Definition graphicsmanager.cc:279
virtual __DeclareClass(GraphicsManager) public ~GraphicsManager()
Definition graphicsmanager.cc:40
static void InitModel(Game::World *, Game::Entity, Model *)
called automatically when a model needs to be initialized
Definition graphicsmanager.cc:419
void OnDecay() override
called before cleaning up managed properties decay buffers
Definition graphicsmanager.cc:154
static void InitDecal(Game::World *world, Game::Entity entity, Decal *decal)
called automatically when a decal needs to be initialized
Definition graphicsmanager.cc:398
Game::EditorState.
Definition graphicsmanager.h:60
void ComponentDrawFuncT< GraphicsFeature::AreaLightShape >(ComponentId, void *, bool *)
Definition graphicsfeatureunit.cc:61
#define __DeclareClass(type)
An entity is essentially just an Id with some utility functions attached.
Definition entity.h:35
Definition attributeid.h:19