3#include <libultraship/libultraship.h>
7#include <nlohmann/json.hpp>
10 void SaveLevel(Track* track,
const TrackInfo* info);
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);
20 void SaveFog(nlohmann::json& fog);
22 void LoadProps(Track* track, nlohmann::json& data);
23 void LoadPaths(Track* track,
const std::string& trackPath);
25 void LoadActors(Track* track, nlohmann::json& data);
27 void LoadTour(Track* track, nlohmann::json& data);
28 void LoadFog(nlohmann::json& data);
30 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:17
void SetDefaultMinimap(Track *track)
Definition SceneManager.cpp:224
void Load_AddStaticMeshActor(const nlohmann::json &actorJson)
Definition SceneManager.cpp:185
void SaveFog(nlohmann::json &fog)
Definition SceneManager.cpp:314
void LoadStaticMeshActors(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:416
void SaveTour(Track *track, nlohmann::json &tour)
Definition SceneManager.cpp:304
nlohmann::json ToJson(const FVector &v)
Definition SceneManager.h:32
void LoadMinimap(Track *track, std::string filePath)
Definition SceneManager.cpp:194
void LoadPaths(Track *track, const std::string &trackPath)
Definition SceneManager.cpp:342
void LoadTrackInfo(TrackInfo &info, std::shared_ptr< Ship::Archive > archive, std::string sceneFile)
Definition SceneManager.cpp:153
TourCamera::KeyFrame FromJsonKeyFrame(const nlohmann::json &j)
Definition SceneManager.h:71
void SaveLevel(Track *track, const TrackInfo *info)
Definition SceneManager.cpp:37
void SaveStaticMeshActors(nlohmann::json &actorList)
Definition SceneManager.cpp:298
void LoadTour(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:429
TourCamera::CameraShot FromJsonCameraShot(const nlohmann::json &j)
Definition SceneManager.h:79
void SpawnActors(std::vector< std::pair< std::string, SpawnParams > > spawnList)
void LoadActors(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:399
void LoadFog(nlohmann::json &data)
Definition SceneManager.cpp:454
void LoadProps(Track *track, nlohmann::json &data)
Definition SceneManager.cpp:327
void LoadTrackDataFromJson(Track *track, const std::string &trackPath)
Definition SceneManager.cpp:106
void LoadTrackInfoData(TrackInfo &info, nlohmann::json &data)
Definition SceneManager.cpp:373
void SaveActors(nlohmann::json &actorList)
Definition SceneManager.cpp:231
FVector FromJsonVec(const nlohmann::json &j)
Definition SceneManager.h:63
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