summaryrefslogtreecommitdiff
path: root/assetFactory
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2026-04-01 20:31:29 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2026-04-01 20:31:29 +0100
commit74a241680dcb8e543c7e2ab70eb0cfe00d01f22a (patch)
tree8c20214dbd0f2cc0012e5a7057f72999261c240d /assetFactory
parentHave Renderable manage all instance lights (diff)
downloadilt-74a241680dcb8e543c7e2ab70eb0cfe00d01f22a.tar.bz2
ilt-74a241680dcb8e543c7e2ab70eb0cfe00d01f22a.tar.xz
ilt-74a241680dcb8e543c7e2ab70eb0cfe00d01f22a.zip
Move spot/point light persistence wrappers to assetFactory
Diffstat (limited to 'assetFactory')
-rw-r--r--assetFactory/lights.cpp14
-rw-r--r--assetFactory/lights.h18
2 files changed, 32 insertions, 0 deletions
diff --git a/assetFactory/lights.cpp b/assetFactory/lights.cpp
new file mode 100644
index 0000000..ec8e17e
--- /dev/null
+++ b/assetFactory/lights.cpp
@@ -0,0 +1,14 @@
+#include "lights.h"
+
+bool
+SpotLight::persist(Persistence::PersistenceStore & store)
+{
+ return STORE_TYPE && STORE_MEMBER(position) && STORE_MEMBER(direction) && STORE_MEMBER(colour) && STORE_MEMBER(kq)
+ && STORE_MEMBER(arc);
+}
+
+bool
+PointLight::persist(Persistence::PersistenceStore & store)
+{
+ return STORE_TYPE && STORE_MEMBER(position) && STORE_MEMBER(colour) && STORE_MEMBER(kq);
+}
diff --git a/assetFactory/lights.h b/assetFactory/lights.h
new file mode 100644
index 0000000..8657d85
--- /dev/null
+++ b/assetFactory/lights.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "gfx/models/lights.h"
+#include "persistence.h"
+#include "stdTypeDefs.h"
+
+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;
+};
+