add debug info in ResourceManager & SoundController & Time & Timeline
parent
a294b1de24
commit
9ea73ab184
|
@ -41,7 +41,7 @@ public:
|
|||
explicit Object(ObjectNameTag nameTag) : _nameTag(std::move(nameTag)) {};
|
||||
Object(const Object& object) : _nameTag(object.name()), _transformMatrix(object.model()) {};
|
||||
|
||||
// TODO: implement rotations using quaternions
|
||||
// TODO: implement rotations using quaternions (?)
|
||||
void transform(const Matrix4x4& t);
|
||||
void transformRelativePoint(const Vec3D &point, const Matrix4x4& transform);
|
||||
void translate(const Vec3D& dv);
|
||||
|
|
|
@ -16,6 +16,8 @@ bool ResourceManager::_validInstance = false;
|
|||
void ResourceManager::init() {
|
||||
_instance = new ResourceManager();
|
||||
_validInstance = true;
|
||||
|
||||
Log::log("ResourceManager::init(): resource manager was initialized");
|
||||
}
|
||||
|
||||
void ResourceManager::unloadTextures() {
|
||||
|
@ -23,6 +25,9 @@ void ResourceManager::unloadTextures() {
|
|||
_texture.second.reset();
|
||||
}
|
||||
_instance->_textures.clear();
|
||||
|
||||
Log::log("ResourceManager::unloadTextures(): all textures was unloaded");
|
||||
|
||||
}
|
||||
|
||||
void ResourceManager::unloadSoundBuffers() {
|
||||
|
@ -30,6 +35,8 @@ void ResourceManager::unloadSoundBuffers() {
|
|||
_soundBuffer.second.reset();
|
||||
}
|
||||
_instance->_soundBuffers.clear();
|
||||
|
||||
Log::log("ResourceManager::unloadSoundBuffers(): all soundBuffers was unloaded");
|
||||
}
|
||||
|
||||
void ResourceManager::unloadFonts() {
|
||||
|
@ -37,10 +44,14 @@ void ResourceManager::unloadFonts() {
|
|||
_font.second.reset();
|
||||
}
|
||||
_instance->_fonts.clear();
|
||||
|
||||
Log::log("ResourceManager::unloadFonts(): all fonts was unloaded");
|
||||
}
|
||||
|
||||
void ResourceManager::unloadObjects() {
|
||||
_instance->_objects.clear();
|
||||
|
||||
Log::log("ResourceManager::unloadObjects(): all objects was unloaded");
|
||||
}
|
||||
|
||||
void ResourceManager::unloadAllResources() {
|
||||
|
@ -52,12 +63,16 @@ void ResourceManager::unloadAllResources() {
|
|||
unloadSoundBuffers();
|
||||
unloadFonts();
|
||||
unloadObjects();
|
||||
|
||||
Log::log("ResourceManager::unloadAllResources(): all resources was unloaded");
|
||||
}
|
||||
|
||||
void ResourceManager::free() {
|
||||
unloadAllResources();
|
||||
_validInstance = false;
|
||||
delete _instance;
|
||||
|
||||
Log::log("ResourceManager::free(): pointer to 'ResourceManager' was freed");
|
||||
}
|
||||
|
||||
std::shared_ptr<sf::Texture> ResourceManager::loadTexture(const std::string& filename) {
|
||||
|
@ -74,9 +89,12 @@ std::shared_ptr<sf::Texture> ResourceManager::loadTexture(const std::string& fil
|
|||
// Otherwise - try to load it. If failure - return zero
|
||||
std::shared_ptr<sf::Texture> texture(new sf::Texture);
|
||||
if (!texture->loadFromFile(filename)) {
|
||||
Log::log("ResourceManager::loadTexture: error with loading texture '" + filename + "'");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Log::log("ResourceManager::loadTexture: texture '" + filename + "' was loaded");
|
||||
|
||||
// If success - remember and return texture pointer
|
||||
texture->setRepeated(true);
|
||||
_instance->_textures.emplace(filename, texture);
|
||||
|
@ -98,9 +116,12 @@ std::shared_ptr<sf::SoundBuffer> ResourceManager::loadSoundBuffer(const std::str
|
|||
// Otherwise - try to load it. If failure - return zero
|
||||
std::shared_ptr<sf::SoundBuffer> soundBuffer(new sf::SoundBuffer);
|
||||
if (!soundBuffer->loadFromFile(filename)) {
|
||||
Log::log("ResourceManager::loadSoundBuffer: error with loading sound buffer '" + filename + "'");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Log::log("ResourceManager::loadSoundBuffer: sound buffer '" + filename + "' was loaded");
|
||||
|
||||
// If success - remember and return sound pointer
|
||||
_instance->_soundBuffers.emplace(filename, soundBuffer);
|
||||
|
||||
|
@ -121,9 +142,12 @@ std::shared_ptr<sf::Font> ResourceManager::loadFont(const std::string& filename)
|
|||
// Otherwise - try to load it. If failure - return zero
|
||||
std::shared_ptr<sf::Font> font(new sf::Font);
|
||||
if (!font->loadFromFile(filename)) {
|
||||
Log::log("ResourceManager::loadFont: error with loading font: '" + filename + "'");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Log::log("ResourceManager::loadFont: font '" + filename + "' was loaded");
|
||||
|
||||
// If success - remember and return font pointer
|
||||
_instance->_fonts.emplace(filename, font);
|
||||
|
||||
|
@ -147,7 +171,7 @@ std::vector<std::shared_ptr<Mesh>> ResourceManager::loadObjects(const std::strin
|
|||
|
||||
std::ifstream file(filename);
|
||||
if (!file.is_open()) {
|
||||
Log::log("Mesh::LoadObjects(): cannot load file from " + filename);
|
||||
Log::log("Mesh::LoadObjects(): cannot load file from '" + filename + "'");
|
||||
return objects;
|
||||
}
|
||||
|
||||
|
@ -204,6 +228,8 @@ std::vector<std::shared_ptr<Mesh>> ResourceManager::loadObjects(const std::strin
|
|||
|
||||
file.close();
|
||||
|
||||
Log::log("Mesh::LoadObjects(): obj '" + filename + "' was loaded");
|
||||
|
||||
// If success - remember and return vector of objects pointer
|
||||
_instance->_objects.emplace(filename, objects);
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include "SoundController.h"
|
||||
#include "ResourceManager.h"
|
||||
#include "utils/Log.h"
|
||||
|
||||
SoundController* SoundController::_instance = nullptr;
|
||||
bool SoundController::_validInstance = false;
|
||||
|
@ -12,6 +13,8 @@ bool SoundController::_validInstance = false;
|
|||
void SoundController::init() {
|
||||
_instance = new SoundController();
|
||||
_validInstance = true;
|
||||
|
||||
Log::log("SoundController::init(): sound controller was initialized");
|
||||
}
|
||||
|
||||
void SoundController::playSound(const SoundTag& soundTag, const std::string& filename) {
|
||||
|
@ -22,6 +25,8 @@ void SoundController::playSound(const SoundTag& soundTag, const std::string& fil
|
|||
stopSound(soundTag);
|
||||
_instance->_sounds.emplace(soundTag, sf::Sound(*ResourceManager::loadSoundBuffer(filename)));
|
||||
_instance->_sounds[soundTag].play();
|
||||
|
||||
Log::log("SoundController::playSound(): play sound '" + soundTag.str() + "'");
|
||||
}
|
||||
|
||||
void SoundController::pauseSound(const SoundTag& soundTag) {
|
||||
|
@ -32,6 +37,8 @@ void SoundController::pauseSound(const SoundTag& soundTag) {
|
|||
if(_instance->_sounds.count(soundTag) > 0) {
|
||||
_instance->_sounds[soundTag].pause();
|
||||
}
|
||||
|
||||
Log::log("SoundController::pauseSound(): sound '" + soundTag.str() + "' was paused");
|
||||
}
|
||||
|
||||
void SoundController::stopSound(const SoundTag& soundTag) {
|
||||
|
@ -43,6 +50,8 @@ void SoundController::stopSound(const SoundTag& soundTag) {
|
|||
_instance->_sounds[soundTag].stop();
|
||||
}
|
||||
_instance->_sounds.erase(soundTag);
|
||||
|
||||
Log::log("SoundController::stopSound(): sound '" + soundTag.str() + "' was stopped");
|
||||
}
|
||||
|
||||
sf::Sound::Status SoundController::getStatus(const SoundTag& soundTag) {
|
||||
|
@ -61,11 +70,13 @@ sf::Sound::Status SoundController::getStatus(const SoundTag& soundTag) {
|
|||
void SoundController::free() {
|
||||
if(_validInstance) {
|
||||
for(auto& [soundTag, sound] : _instance->_sounds) {
|
||||
sound.stop();
|
||||
stopSound(soundTag);
|
||||
}
|
||||
}
|
||||
|
||||
_instance->_sounds.clear();
|
||||
_validInstance = false;
|
||||
delete _instance;
|
||||
|
||||
Log::log("SoundController::free(): pointer to 'SoundController' was freed");
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "Animation.h"
|
||||
#include "Timeline.h"
|
||||
#include <iostream>
|
||||
#include "../utils/Log.h"
|
||||
|
||||
Timeline* Timeline::_instance = nullptr;
|
||||
bool Timeline::_validInstance = false;
|
||||
|
@ -13,6 +14,8 @@ bool Timeline::_validInstance = false;
|
|||
void Timeline::init() {
|
||||
_instance = new Timeline();
|
||||
_validInstance = true;
|
||||
|
||||
Log::log("Timeline::init(): animation timeline was initialized");
|
||||
}
|
||||
|
||||
void Timeline::animate(const AnimationListTag& listName, std::shared_ptr<Animation> anim) {
|
||||
|
@ -21,6 +24,8 @@ void Timeline::animate(const AnimationListTag& listName, std::shared_ptr<Animati
|
|||
}
|
||||
|
||||
_instance->_animations[listName].emplace_back(anim);
|
||||
|
||||
Log::log("Timeline::animate(): add animation in '" + listName.str() + "' list");
|
||||
}
|
||||
|
||||
void Timeline::deleteAllAnimations() {
|
||||
|
@ -28,10 +33,15 @@ void Timeline::deleteAllAnimations() {
|
|||
return;
|
||||
}
|
||||
|
||||
int animCounter = 0;
|
||||
|
||||
for (auto& [listName, animationList] : _instance->_animations) {
|
||||
animCounter += animationList.size();
|
||||
animationList.clear();
|
||||
}
|
||||
_instance->_animations.clear();
|
||||
|
||||
Log::log("Timeline::deleteAllAnimations(): all " + std::to_string(animCounter) + " animations was deleted" );
|
||||
}
|
||||
|
||||
void Timeline::deleteAnimationList(const AnimationListTag& listName) {
|
||||
|
@ -39,8 +49,11 @@ void Timeline::deleteAnimationList(const AnimationListTag& listName) {
|
|||
return;
|
||||
}
|
||||
|
||||
int animCounter = _instance->_animations[listName].size();
|
||||
_instance->_animations[listName].clear();
|
||||
_instance->_animations.erase(listName);
|
||||
|
||||
Log::log("Timeline::deleteAnimationList(): list '" + listName.str() +"' with " + std::to_string(animCounter) + " animations was deleted" );
|
||||
}
|
||||
|
||||
[[nodiscard]] bool Timeline::isInAnimList(const AnimationListTag& listName) {
|
||||
|
@ -87,4 +100,6 @@ void Timeline::free() {
|
|||
_validInstance = false;
|
||||
|
||||
delete _instance;
|
||||
|
||||
Log::log("Timeline::free(): pointer to 'Timeline' was freed");
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include "Time.h"
|
||||
#include "../Consts.h"
|
||||
#include "Log.h"
|
||||
|
||||
using namespace std::chrono;
|
||||
|
||||
|
@ -13,6 +14,8 @@ bool Time::_validInstance = false;
|
|||
void Time::init() {
|
||||
_instance = new Time();
|
||||
_validInstance = true;
|
||||
|
||||
Log::log("Time::init(): time was initialized");
|
||||
}
|
||||
|
||||
double Time::time() {
|
||||
|
@ -68,4 +71,6 @@ int Time::fps() {
|
|||
void Time::free() {
|
||||
_validInstance = false;
|
||||
delete _instance;
|
||||
|
||||
Log::log("Time::free(): pointer to 'Time' was freed");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue