Cogs.Core
Source
Systems
Core
EnvironmentSystem.h
1
#pragma once
2
3
#include "Components/Core/EnvironmentComponent.h"
4
5
#include "Systems/ComponentSystem.h"
6
7
namespace
Cogs
8
{
9
namespace
Core
10
{
11
struct
EnvironmentData
12
{
13
unsigned
radianceLods = 0;
14
unsigned
irradianceLods = 0;
15
unsigned
ambientIrradianceLods = 0;
16
};
17
18
class
EnvironmentSystem
:
public
ComponentSystemWithDataPool
<EnvironmentComponent, EnvironmentData>
19
{
20
public
:
21
EnvironmentSystem
(
Memory::Allocator
* allocator,
SizeType
capacity) :
ComponentSystemWithDataPool
(allocator, capacity) {}
22
23
void
update
(
Context
*
context
);
24
26
void
setGlobalEnvironment
(
ComponentModel::ComponentHandle
environmentComponent) { globalEnvironment = environmentComponent; }
27
29
EnvironmentComponent
*
getGlobalEnvironment
()
const
{
return
globalEnvironment ? globalEnvironment.
resolveComponent
<
EnvironmentComponent
>() :
nullptr
; }
30
31
private
:
32
ComponentModel::ComponentHandle
globalEnvironment =
ComponentModel::ComponentHandle::Empty
();
33
};
34
}
35
}
Cogs::Core::ComponentSystemBase::context
Context * context
Pointer to the Context instance the system lives in.
Definition:
ComponentSystem.h:136
Cogs::Core::ComponentSystemBase::update
void update()
Updates the system state to that of the current frame.
Definition:
ComponentSystem.h:65
Cogs::Core::ComponentSystemWithDataPool
Component system with parallel data per component stored in a pool similar to how the components them...
Definition:
ComponentSystem.h:365
Cogs::Core::Context
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition:
Context.h:83
Cogs::Core::EnvironmentSystem
Definition:
EnvironmentSystem.h:19
Cogs::Core::EnvironmentSystem::setGlobalEnvironment
void setGlobalEnvironment(ComponentModel::ComponentHandle environmentComponent)
Set the global environment component, used to control the default environment of the scene.
Definition:
EnvironmentSystem.h:26
Cogs::Core::EnvironmentSystem::getGlobalEnvironment
EnvironmentComponent * getGlobalEnvironment() const
Get the global environment component.
Definition:
EnvironmentSystem.h:29
Cogs::Memory::Allocator
Base allocator implementation.
Definition:
Allocator.h:30
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::SizeType
ComponentIndex SizeType
Type used to track the size of pools.
Definition:
Component.h:19
Cogs::ComponentModel::ComponentHandle
Handle to a Component instance.
Definition:
Component.h:67
Cogs::ComponentModel::ComponentHandle::Empty
static ComponentHandle Empty()
Returns an empty, invalid handle. Will evaluate to false if tested against using operator bool().
Definition:
Component.h:119
Cogs::ComponentModel::ComponentHandle::resolveComponent
ComponentType * resolveComponent() const
Definition:
Component.h:90
Cogs::Core::EnvironmentComponent
Definition:
EnvironmentComponent.h:12
Cogs::Core::EnvironmentData
Definition:
EnvironmentSystem.h:12
Generated by
1.9.6