Aeon Engine c550894
AeonGames Open Source Game Engine
Loading...
Searching...
No Matches
PointLight.cpp
1/*
2Copyright (C) 2019,2021,2025 Rodrigo Jose Hernandez Cordoba
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17#include <array>
18#include <cstring>
19#include <cmath>
20#include "PointLight.h"
21#include "aeongames/AeonEngine.hpp"
23#include "aeongames/Buffer.hpp"
24#include "aeongames/Renderer.hpp"
25#include "aeongames/Node.hpp"
26
27namespace AeonGames
28{
29 static const StringId PointLightStringId{"Point Light"};
31 {
32 return PointLightStringId;
33 }
34
38
39 PointLight::~PointLight() = default;
40
42 {
43 return PointLightStringId;
44 }
45
46 static constexpr std::array<const StringId, 0> PointLightPropertyIds{};
47
49 {
50 return PointLightPropertyIds.size();
51 }
52
54 {
55 return PointLightPropertyIds.data();
56 }
57
59 {
60 return Property{};
61 }
62
63 void PointLight::SetProperty ( uint32_t aId, const Property& aProperty )
64 {
65 }
66
67 void PointLight::Update ( Node& aNode, double aDelta )
68 {
69 }
70
71 void PointLight::Render ( const Node& aNode, Renderer& aRenderer, void* aWindowId )
72 {
73 }
74
75 void PointLight::ProcessMessage ( Node& aNode, uint32_t aMessageType, const void* aMessageData )
76 {
77 }
78}
Header for 4x4 matrix class.
Abstract base class for node components.
Definition Component.hpp:39
Scene graph node representing an entity in the game world.
Definition Node.hpp:54
void ProcessMessage(Node &aNode, uint32_t aMessageType, const void *aMessageData) final
Process an incoming message.
PointLight()
Default constructor.
size_t GetPropertyCount() const final
Get the number of properties exposed by this component.
const StringId * GetPropertyInfoArray() const final
Get the array of property identifiers.
static const StringId & GetClassId()
Returns the class identifier for the PointLight component.
const StringId & GetId() const final
Get the unique identifier for this component type.
void Update(Node &aNode, double aDelta) final
Update the component state.
void Render(const Node &aNode, Renderer &aRenderer, void *aWindowId) final
Render the component.
void SetProperty(uint32_t, const Property &aProperty) final
Set the value aProperty for the property identified by aId.
Property GetProperty(const StringId &aId) const final
Get the value of a property.
Abstract base class for rendering backends.
Definition Renderer.hpp:44
CRC-based compile-time string identifier.
Definition StringId.hpp:31
<- This is here just for the literals
Definition AABB.hpp:31
std::variant< int, long, long long, unsigned, unsigned long, unsigned long long, float, double, std::string, std::filesystem::path > Property
A variant type that can hold any commonly used property value.
Definition Property.hpp:31