3#include <libultraship/libultraship.h>
7#include <nlohmann/json.hpp>
12 void LoadTrackInfo(TrackInfo& info, std::shared_ptr<Ship::Archive> archive, std::string sceneFile);
14 void LoadMinimap(Track* track, std::string filePath);
19 void SaveTour(Track* track, nlohmann::json& tour);
21 void LoadProps(Track* track, nlohmann::json& data);
22 void LoadPaths(Track* track,
const std::string& trackPath);
24 void LoadActors(Track* track, nlohmann::json& data);
26 void LoadTour(Track* track, nlohmann::json& data);
28 void SpawnActors(std::vector<std::pair<std::string, SpawnParams>> spawnList);
52 nlohmann::json keyframes = nlohmann::json::array();
53 for (
const auto& kf : shot.
Frames) {
54 keyframes.push_back(
ToJson(kf));
56 j[
"KeyFrames"] = keyframes;
63 if (
j.contains(
"x")) v.
x =
j[
"x"].get<
float>();
64 if (
j.contains(
"y")) v.y =
j[
"y"].get<
float>();
65 if (
j.contains(
"z")) v.z =
j[
"z"].get<
float>();
72 if (
j.contains(
"LookAt")) kf.LookAt =
FromJsonVec(
j[
"LookAt"]);
73 if (
j.contains(
"Duration")) kf.Duration =
j[
"Duration"].get<
float>();
80 if (
j.contains(
"StartLookAt")) shot.LookAt =
FromJsonVec(
j[
"StartLookAt"]);
82 if (
j.contains(
"KeyFrames") &&
j[
"KeyFrames"].is_array()) {
83 for (
const auto& kfJson :
j[
"KeyFrames"]) {
Definition Collision.cpp:17
void LoadActors(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:364
void LoadStaticMeshActors(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:381
void SaveTour(Track *track, nlohmann::json &tour)
Definition SceneManager.cpp:290
void LoadProps(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:300
void Load_AddStaticMeshActor(const nlohmann::json &actorJson)
Definition SceneManager.cpp:171
FVector FromJsonVec(const nlohmann::json &j)
Definition SceneManager.h:61
void SaveStaticMeshActors(nlohmann::json &actorList)
Definition SceneManager.cpp:284
void LoadPaths(Track *track, const std::string &trackPath)
Definition SceneManager.cpp:314
void SaveActors(nlohmann::json &actorList)
Definition SceneManager.cpp:217
void LoadTrackInfo(TrackInfo &info, std::shared_ptr< Ship::Archive > archive, std::string sceneFile)
Definition SceneManager.cpp:139
void SaveLevel(Track *track)
Definition SceneManager.cpp:35
nlohmann::json ToJson(const FVector &v)
Definition SceneManager.h:30
TourCamera::CameraShot FromJsonCameraShot(const nlohmann::json &j)
Definition SceneManager.h:77
void LoadTrackDataFromJson(Track *track, const std::string &trackPath)
Definition SceneManager.cpp:92
TourCamera::KeyFrame FromJsonKeyFrame(const nlohmann::json &j)
Definition SceneManager.h:69
void SetDefaultMinimap(Track *track)
Definition SceneManager.cpp:210
void LoadTour(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:394
void LoadMinimap(Track *track, std::string filePath)
Definition SceneManager.cpp:180
void LoadTrackInfoData(TrackInfo &info, nlohmann::json &data)
Definition SceneManager.cpp:338
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