aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-10-22 11:35:47 +0200
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-10-22 11:35:47 +0200
commit176ac90fce318334f1377d94d6e637e1eff84c3c (patch)
tree104b86fc3537fd82c7b9dd731ee716c51441ca31 /src/crepe/api
parentedfcb27fe37fdcf08622863f331960325e3899ac (diff)
parent77555730e3ddb811b9ce8470659663e3f1573de2 (diff)
Merge branch 'master' into niels/rendering
Diffstat (limited to 'src/crepe/api')
-rw-r--r--src/crepe/api/AudioSource.cpp12
-rw-r--r--src/crepe/api/AudioSource.h8
-rw-r--r--src/crepe/api/BehaviorScript.cpp7
-rw-r--r--src/crepe/api/BehaviorScript.h16
-rw-r--r--src/crepe/api/CMakeLists.txt22
-rw-r--r--src/crepe/api/Component.h10
-rw-r--r--src/crepe/api/Resource.cpp18
-rw-r--r--src/crepe/api/Resource.h24
8 files changed, 37 insertions, 80 deletions
diff --git a/src/crepe/api/AudioSource.cpp b/src/crepe/api/AudioSource.cpp
index f0d708a..a5b6d6a 100644
--- a/src/crepe/api/AudioSource.cpp
+++ b/src/crepe/api/AudioSource.cpp
@@ -5,18 +5,18 @@
using namespace crepe::api;
-AudioSource::AudioSource(std::unique_ptr<Resource> audio_clip) {
- this->_sound = std::make_unique<crepe::Sound>(std::move(audio_clip));
+AudioSource::AudioSource(std::unique_ptr<Asset> audio_clip) {
+ this->sound = std::make_unique<crepe::Sound>(std::move(audio_clip));
}
void AudioSource::play() { return this->play(false); }
void AudioSource::play(bool looping) {
- this->_sound->set_looping(looping);
- this->_sound->play();
+ this->sound->set_looping(looping);
+ this->sound->play();
}
void AudioSource::stop() {
- this->_sound->pause();
- this->_sound->rewind();
+ this->sound->pause();
+ this->sound->rewind();
}
diff --git a/src/crepe/api/AudioSource.h b/src/crepe/api/AudioSource.h
index 4300c48..2d26cda 100644
--- a/src/crepe/api/AudioSource.h
+++ b/src/crepe/api/AudioSource.h
@@ -2,8 +2,8 @@
#include <memory>
+#include "Asset.h"
#include "Component.h"
-#include "Resource.h"
namespace crepe {
class Sound;
@@ -14,7 +14,7 @@ namespace crepe::api {
//! Audio source component
class AudioSource : Component {
public:
- AudioSource(std::unique_ptr<Resource> audio_clip);
+ AudioSource(std::unique_ptr<Asset> audio_clip);
virtual ~AudioSource() = default;
public:
@@ -26,7 +26,7 @@ public:
public:
//! Sample file location
- std::unique_ptr<Resource> audio_clip;
+ std::unique_ptr<Asset> audio_clip;
//! TODO: ?????
bool play_on_awake;
//! Repeat the current audio clip during playback
@@ -35,7 +35,7 @@ public:
float volume;
private:
- std::unique_ptr<crepe::Sound> _sound;
+ std::unique_ptr<crepe::Sound> sound;
};
} // namespace crepe::api
diff --git a/src/crepe/api/BehaviorScript.cpp b/src/crepe/api/BehaviorScript.cpp
new file mode 100644
index 0000000..84bfd4c
--- /dev/null
+++ b/src/crepe/api/BehaviorScript.cpp
@@ -0,0 +1,7 @@
+#include "../util/log.h"
+
+#include "BehaviorScript.h"
+
+using namespace crepe::api;
+
+BehaviorScript::BehaviorScript() { dbg_trace(); }
diff --git a/src/crepe/api/BehaviorScript.h b/src/crepe/api/BehaviorScript.h
new file mode 100644
index 0000000..1d05a75
--- /dev/null
+++ b/src/crepe/api/BehaviorScript.h
@@ -0,0 +1,16 @@
+#pragma once
+
+#include "../Component.h"
+#include "../Script.h"
+
+namespace crepe::api {
+
+class BehaviorScript : public Script, public Component {
+ // only allow ComponentManager to instantiate scripts
+ friend class ComponentManager;
+
+protected:
+ BehaviorScript();
+};
+
+} // namespace crepe::api
diff --git a/src/crepe/api/CMakeLists.txt b/src/crepe/api/CMakeLists.txt
index dcac0ae..cecc2f1 100644
--- a/src/crepe/api/CMakeLists.txt
+++ b/src/crepe/api/CMakeLists.txt
@@ -1,23 +1,9 @@
target_sources(crepe PUBLIC
- #map_asset.cpp
- spritesheet.cpp
- resource_manager.cpp
- Resource.cpp
- game.cpp
- Color.cpp
+ # AudioSource.cpp
+ BehaviorScript.cpp
)
target_sources(crepe PUBLIC FILE_SET HEADERS FILES
- Resource.h
- baseResource.h
- game.h
- #map_asset.h
- spritesheet.h
- resource_manager.h
- Component.h
- AudioSource.h
- Sprite.h
- Color.h
- Transform.h
- Point.h
+ # AudioSource.h
+ BehaviorScript.h
)
diff --git a/src/crepe/api/Component.h b/src/crepe/api/Component.h
deleted file mode 100644
index d5e0499..0000000
--- a/src/crepe/api/Component.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-namespace crepe::api {
-
-class Component {
-public:
- bool active;
-};
-
-} // namespace crepe::api
diff --git a/src/crepe/api/Resource.cpp b/src/crepe/api/Resource.cpp
deleted file mode 100644
index f7f2516..0000000
--- a/src/crepe/api/Resource.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <filesystem>
-#include <iostream>
-#include <iterator>
-
-#include "Resource.h"
-#include "util/log.h"
-
-using namespace crepe::api;
-
-Resource::Resource(const std::string & src) {
- dbg_trace();
- this->src = std::filesystem::path(src);
- this->file = std::ifstream(this->src, std::ios::in | std::ios::binary);
-}
-
-const std::istream & Resource::read() { return this->file; }
-
-const char * Resource::canonical() { return this->src.c_str(); }
diff --git a/src/crepe/api/Resource.h b/src/crepe/api/Resource.h
deleted file mode 100644
index f2b2a0e..0000000
--- a/src/crepe/api/Resource.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#pragma once
-
-#include <fstream>
-#include <iostream>
-#include <string>
-
-namespace crepe::api {
-
-class Resource {
-public:
- Resource(const std::string & src);
-
-public:
- //! Get an input stream to the contents of this resource
- const std::istream & read();
- //! Get the canonical path to this resource
- const char * canonical();
-
-private:
- std::string src;
- std::ifstream file;
-};
-
-} // namespace crepe::api