diff options
Diffstat (limited to 'game')
| -rw-r--r-- | game/scenary/illuminator.cpp | 13 | ||||
| -rw-r--r-- | game/scenary/illuminator.h | 14 | ||||
| -rw-r--r-- | game/scenary/light.cpp | 5 |
3 files changed, 3 insertions, 29 deletions
diff --git a/game/scenary/illuminator.cpp b/game/scenary/illuminator.cpp index 55791a5..7f0c7c2 100644 --- a/game/scenary/illuminator.cpp +++ b/game/scenary/illuminator.cpp @@ -16,19 +16,6 @@ Illuminator::createAt(const Location & position) const } bool -Illuminator::SpotLight::persist(Persistence::PersistenceStore & store) -{ - return STORE_TYPE && STORE_MEMBER(position) && STORE_MEMBER(direction) && STORE_MEMBER(colour) && STORE_MEMBER(kq) - && STORE_MEMBER(arc); -} - -bool -Illuminator::PointLight::persist(Persistence::PersistenceStore & store) -{ - return STORE_TYPE && STORE_MEMBER(position) && STORE_MEMBER(colour) && STORE_MEMBER(kq); -} - -bool Illuminator::persist(Persistence::PersistenceStore & store) { return STORE_TYPE && STORE_HELPER(bodyMesh, Asset::MeshConstruct) diff --git a/game/scenary/illuminator.h b/game/scenary/illuminator.h index b99a19e..216b536 100644 --- a/game/scenary/illuminator.h +++ b/game/scenary/illuminator.h @@ -1,8 +1,8 @@ #pragma once #include "assetFactory/asset.h" +#include "assetFactory/lights.h" #include "gfx/gl/instanceVertices.h" -#include "gfx/models/lights.h" #include "gfx/models/texture.h" #include "gfx/renderable.h" @@ -18,18 +18,6 @@ class Illuminator : public Asset, public Renderable, public StdTypeDefs<Illumina public: [[nodiscard]] std::any createAt(const Location &) const override; - struct SpotLight : Persistence::Persistable, SpotLightDef, StdTypeDefs<SpotLight> { - private: - friend Persistence::SelectionPtrBase<std::shared_ptr<SpotLight>>; - bool persist(Persistence::PersistenceStore & store) override; - }; - - struct PointLight : Persistence::Persistable, PointLightDef, StdTypeDefs<PointLight> { - private: - friend Persistence::SelectionPtrBase<std::shared_ptr<PointLight>>; - bool persist(Persistence::PersistenceStore & store) override; - }; - struct InstanceVertex { CommonLocationInstance location; }; diff --git a/game/scenary/light.cpp b/game/scenary/light.cpp index bd83f04..c51efda 100644 --- a/game/scenary/light.cpp +++ b/game/scenary/light.cpp @@ -6,12 +6,11 @@ Light::Light(std::shared_ptr<const Illuminator> type, const Location & position) instance {this->type->instances.acquire(Renderable::commonLocationData.lock()->acquire(position))} { std::ranges::transform(this->type->spotLight, std::back_inserter(spotLightInstances), - [spotLights = Renderable::commonSpotLights.lock(), this](const Illuminator::SpotLight::CPtr & spotLight) { + [spotLights = Renderable::commonSpotLights.lock(), this](const auto & spotLight) { return spotLights->acquire(*spotLight, instance->location.index); }); std::ranges::transform(this->type->pointLight, std::back_inserter(pointLightInstances), - [pointLights = Renderable::commonPointLights.lock(), this]( - const Illuminator::PointLight::CPtr & pointLight) { + [pointLights = Renderable::commonPointLights.lock(), this](const auto & pointLight) { return pointLights->acquire(*pointLight, instance->location.index); }); } |
