3#include <libultraship/libultraship.h>
7#include <nlohmann/json.hpp>
11 void LoadLevel(Track* track, std::string sceneFile);
13 void SetSceneFile(std::shared_ptr<Ship::Archive> archive, std::string sceneFile);
14 void LoadMinimap(Track* track, std::string filePath);
21 void LoadProps(Track* track, nlohmann::json& data);
22 void LoadActors(Track* track, nlohmann::json& data);
24 void LoadTour(Track* track, nlohmann::json& data);
26 void SpawnActors(std::vector<std::pair<std::string, SpawnParams>> spawnList);
54 nlohmann::json keyframes = nlohmann::json::array();
55 for (
const auto& kf : shot.
Frames) {
56 keyframes.push_back(
ToJson(kf));
58 j[
"KeyFrames"] = keyframes;
65 if (
j.contains(
"x")) v.
x =
j[
"x"].get<
float>();
66 if (
j.contains(
"y")) v.y =
j[
"y"].get<
float>();
67 if (
j.contains(
"z")) v.z =
j[
"z"].get<
float>();
74 if (
j.contains(
"LookAt")) kf.LookAt =
FromJsonVec(
j[
"LookAt"]);
75 if (
j.contains(
"Duration")) kf.Duration =
j[
"Duration"].get<
float>();
82 if (
j.contains(
"StartLookAt")) shot.LookAt =
FromJsonVec(
j[
"StartLookAt"]);
84 if (
j.contains(
"KeyFrames") &&
j[
"KeyFrames"].is_array()) {
85 for (
const auto& kfJson :
j[
"KeyFrames"]) {
Definition Collision.cpp:16
std::shared_ptr< Ship::Archive > CurrentArchive
Definition SceneManager.cpp:32
void LoadActors(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:279
void LoadLevel(Track *track, std::string sceneFile)
Definition SceneManager.cpp:88
void LoadStaticMeshActors(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:296
void LoadProps(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:265
void Load_AddStaticMeshActor(const nlohmann::json &actorJson)
Definition SceneManager.cpp:126
FVector FromJsonVec(const nlohmann::json &j)
Definition SceneManager.h:63
void SaveStaticMeshActors(nlohmann::json &actorList)
Definition SceneManager.cpp:249
void SaveLevel()
Definition SceneManager.cpp:35
void SetSceneFile(std::shared_ptr< Ship::Archive > archive, std::string sceneFile)
Definition SceneManager.cpp:135
std::string SceneFile
Definition SceneManager.cpp:33
void SaveActors(nlohmann::json &actorList)
Definition SceneManager.cpp:182
void SaveTour(nlohmann::json &tour)
Definition SceneManager.cpp:255
nlohmann::json ToJson(const FVector &v)
Definition SceneManager.h:32
TourCamera::CameraShot FromJsonCameraShot(const nlohmann::json &j)
Definition SceneManager.h:79
TourCamera::KeyFrame FromJsonKeyFrame(const nlohmann::json &j)
Definition SceneManager.h:71
void SetDefaultMinimap(Track *track)
Definition SceneManager.cpp:175
void LoadTour(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:309
void LoadMinimap(Track *track, std::string filePath)
Definition SceneManager.cpp:141
void SpawnActors(std::vector< std::pair< std::string, SpawnParams > > spawnList)
float x
Definition CoreMath.h:31
float z
Definition CoreMath.h:31
float y
Definition CoreMath.h:31
Definition TourCamera.h:48
FVector LookAt
Definition TourCamera.h:50
FVector Pos
Definition TourCamera.h:49
std::vector< KeyFrame > Frames
Definition TourCamera.h:51
Definition TourCamera.h:41
FVector LookAt
Definition TourCamera.h:43
f32 Duration
Definition TourCamera.h:44
FVector Pos
Definition TourCamera.h:42