aboutsummaryrefslogtreecommitdiff
path: root/src/example
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-11-14 11:10:31 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-11-14 11:10:31 +0100
commit6e13510f3c6d4155707f748d237bb1fa05243450 (patch)
treeb21ca972d14aac56b7c58c85c54d8a2fd1278a7e /src/example
parent319d511135da1b58acb78ca939d7ee01fee4bbf3 (diff)
parentbe1e97bc7a494963ab1567492fafcda99e36f683 (diff)
merge `master` into `loek/audio`
Diffstat (limited to 'src/example')
-rw-r--r--src/example/CMakeLists.txt2
-rw-r--r--src/example/db.cpp4
-rw-r--r--src/example/gameloop.cpp7
-rw-r--r--src/example/particles.cpp43
-rw-r--r--src/example/proxy.cpp20
-rw-r--r--src/example/rendering.cpp13
-rw-r--r--src/example/savemgr.cpp13
7 files changed, 78 insertions, 24 deletions
diff --git a/src/example/CMakeLists.txt b/src/example/CMakeLists.txt
index 36f9d4d..3a5b543 100644
--- a/src/example/CMakeLists.txt
+++ b/src/example/CMakeLists.txt
@@ -28,4 +28,6 @@ add_example(proxy)
add_example(db)
add_example(ecs)
add_example(scene_manager)
+add_example(particles)
+add_example(gameloop)
diff --git a/src/example/db.cpp b/src/example/db.cpp
index c046421..8c06a84 100644
--- a/src/example/db.cpp
+++ b/src/example/db.cpp
@@ -1,12 +1,12 @@
-#include <crepe/facade/DB.h>
#include <crepe/api/Config.h>
+#include <crepe/facade/DB.h>
#include <crepe/util/log.h>
using namespace crepe;
using namespace std;
// run before main
-static auto _ = [] () {
+static auto _ = []() {
auto & cfg = Config::get_instance();
cfg.log.level = LogLevel::TRACE;
return 0;
diff --git a/src/example/gameloop.cpp b/src/example/gameloop.cpp
new file mode 100644
index 0000000..a676f20
--- /dev/null
+++ b/src/example/gameloop.cpp
@@ -0,0 +1,7 @@
+#include "crepe/api/LoopManager.h"
+using namespace crepe;
+int main() {
+ LoopManager gameloop;
+ gameloop.start();
+ return 1;
+}
diff --git a/src/example/particles.cpp b/src/example/particles.cpp
new file mode 100644
index 0000000..6eab046
--- /dev/null
+++ b/src/example/particles.cpp
@@ -0,0 +1,43 @@
+#include <crepe/ComponentManager.h>
+#include <crepe/api/AssetManager.h>
+
+#include <crepe/Component.h>
+#include <crepe/api/Color.h>
+#include <crepe/api/GameObject.h>
+#include <crepe/api/ParticleEmitter.h>
+#include <crepe/api/Rigidbody.h>
+#include <crepe/api/Sprite.h>
+#include <crepe/api/Texture.h>
+#include <crepe/api/Transform.h>
+
+using namespace crepe;
+using namespace std;
+
+int main(int argc, char * argv[]) {
+ GameObject game_object(0, "", "", Vector2{0, 0}, 0, 0);
+ Color color(0, 0, 0, 0);
+ Sprite test_sprite = game_object.add_component<Sprite>(
+ make_shared<Texture>("../asset/texture/img.png"), color,
+ FlipSettings{true, true});
+ game_object.add_component<ParticleEmitter>(ParticleEmitter::Data{
+ .position = {0, 0},
+ .max_particles = 100,
+ .emission_rate = 0,
+ .min_speed = 0,
+ .max_speed = 0,
+ .min_angle = 0,
+ .max_angle = 0,
+ .begin_lifespan = 0,
+ .end_lifespan = 0,
+ .force_over_time = Vector2{0, 0},
+ .boundary{
+ .width = 0,
+ .height = 0,
+ .offset = Vector2{0, 0},
+ .reset_on_exit = false,
+ },
+ .sprite = test_sprite,
+ });
+
+ return 0;
+}
diff --git a/src/example/proxy.cpp b/src/example/proxy.cpp
index 9f54f96..0afff41 100644
--- a/src/example/proxy.cpp
+++ b/src/example/proxy.cpp
@@ -5,15 +5,15 @@
#include <crepe/ValueBroker.h>
#include <crepe/api/Config.h>
-#include <crepe/util/log.h>
#include <crepe/util/Proxy.h>
+#include <crepe/util/log.h>
using namespace std;
using namespace crepe;
-void test_ro_ref(const int & val) { }
-void test_rw_ref(int & val) { }
-void test_ro_val(int val) { }
+void test_ro_ref(const int & val) {}
+void test_rw_ref(int & val) {}
+void test_ro_val(int val) {}
int main() {
auto & cfg = Config::get_instance();
@@ -21,18 +21,19 @@ int main() {
int real_value = 0;
- ValueBroker<int> broker {
- [&real_value] (const int & target) {
- dbg_logf("set %s to %s", to_string(real_value).c_str(), to_string(target).c_str());
+ ValueBroker<int> broker{
+ [&real_value](const int & target) {
+ dbg_logf("set %s to %s", to_string(real_value).c_str(),
+ to_string(target).c_str());
real_value = target;
},
- [&real_value] () -> const int & {
+ [&real_value]() -> const int & {
dbg_logf("get %s", to_string(real_value).c_str());
return real_value;
},
};
- Proxy<int> proxy { broker };
+ Proxy<int> proxy{broker};
broker.set(54);
proxy = 84;
@@ -43,4 +44,3 @@ int main() {
return 0;
}
-
diff --git a/src/example/rendering.cpp b/src/example/rendering.cpp
index d554a8a..827ad07 100644
--- a/src/example/rendering.cpp
+++ b/src/example/rendering.cpp
@@ -1,3 +1,4 @@
+#include "api/Camera.h"
#include <crepe/ComponentManager.h>
#include <crepe/api/GameObject.h>
#include <crepe/system/RenderSystem.h>
@@ -23,26 +24,28 @@ int main() {
auto obj1 = GameObject(1, "name", "tag", Vector2{500, 0}, 1, 0.1);
auto obj2 = GameObject(2, "name", "tag", Vector2{800, 0}, 1, 0.1);
- auto & mgr = AssetManager::get_instance();
// Normal adding components
{
Color color(0, 0, 0, 0);
obj.add_component<Sprite>(
make_shared<Texture>("../asset/texture/img.png"), color,
- FlipSettings{true, true});
+ FlipSettings{false, false});
+ obj.add_component<Camera>(Color::get_red());
}
-
{
Color color(0, 0, 0, 0);
- auto img = mgr.cache<Texture>("../asset/texture/second.png");
- obj1.add_component<Sprite>(img, color, FlipSettings{true, true});
+ obj1.add_component<Sprite>(
+ make_shared<Texture>("../asset/texture/second.png"), color,
+ FlipSettings{true, true});
}
+ /*
{
Color color(0, 0, 0, 0);
auto img = mgr.cache<Texture>("../asset/texture/second.png");
obj2.add_component<Sprite>(img, color, FlipSettings{true, true});
}
+ */
auto & sys = crepe::RenderSystem::get_instance();
auto start = std::chrono::steady_clock::now();
diff --git a/src/example/savemgr.cpp b/src/example/savemgr.cpp
index c8dd2bc..436fb5a 100644
--- a/src/example/savemgr.cpp
+++ b/src/example/savemgr.cpp
@@ -4,21 +4,21 @@
*/
#include <cassert>
-#include <crepe/util/log.h>
-#include <crepe/util/Proxy.h>
-#include <crepe/api/SaveManager.h>
#include <crepe/api/Config.h>
+#include <crepe/api/SaveManager.h>
+#include <crepe/util/Proxy.h>
+#include <crepe/util/log.h>
using namespace crepe;
// unrelated setup code
-int _ = [] () {
+int _ = []() {
// make sure all log messages get printed
auto & cfg = Config::get_instance();
cfg.log.level = LogLevel::TRACE;
return 0; // satisfy compiler
-} ();
+}();
int main() {
const char * key = "mygame.test";
@@ -27,7 +27,7 @@ int main() {
dbg_logf("has key = %s", mgr.has(key) ? "true" : "false");
ValueBroker<int> prop = mgr.get<int>(key, 0);
- Proxy<int> val = mgr.get<int>(key, 0);
+ Proxy<int> val = mgr.get<int>(key, 0);
dbg_logf("val = %d", mgr.get<int>(key).get());
prop.set(1);
@@ -42,4 +42,3 @@ int main() {
return 0;
}
-