44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include <cmath>
|
|
#include <cstdlib>
|
|
#include <filesystem>
|
|
#include <fstream>
|
|
#include <iostream>
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
#include <destrum/ObjectModel/GameObject.h>
|
|
#include <destrum/Scene/Scene.h>
|
|
|
|
namespace test {
|
|
inline void check(bool condition, const char* message)
|
|
{
|
|
if (!condition) {
|
|
std::cerr << "FAILED: " << message << '\n';
|
|
std::exit(EXIT_FAILURE);
|
|
}
|
|
}
|
|
|
|
inline bool close(float a, float b)
|
|
{
|
|
return std::abs(a - b) < 0.001f;
|
|
}
|
|
|
|
inline std::string readFile(const std::filesystem::path& path)
|
|
{
|
|
std::ifstream file(path, std::ios::binary);
|
|
return {std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>()};
|
|
}
|
|
|
|
inline GameObject* findByName(const Scene& scene, const std::string& name)
|
|
{
|
|
for (const auto& object : scene.GetObjects()) {
|
|
if (object->GetName() == name) {
|
|
return object.get();
|
|
}
|
|
}
|
|
return nullptr;
|
|
}
|
|
}
|