SceneImporter.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  3. // LICENSE: Atomic Game Engine Editor and Tools EULA
  4. // Please see LICENSE_ATOMIC_EDITOR_AND_TOOLS.md in repository root for
  5. // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
  6. //
  7. #include <Atomic/Core/StringUtils.h>
  8. #include "Asset.h"
  9. #include "AssetDatabase.h"
  10. #include "SceneImporter.h"
  11. namespace ToolCore
  12. {
  13. SceneImporter::SceneImporter(Context* context, Asset* asset) : AssetImporter(context, asset)
  14. {
  15. }
  16. SceneImporter::~SceneImporter()
  17. {
  18. }
  19. void SceneImporter::SetDefaults()
  20. {
  21. AssetImporter::SetDefaults();
  22. sceneCamRotation_ = Quaternion::IDENTITY;
  23. sceneCamPosition_ = Vector3::ZERO;
  24. }
  25. bool SceneImporter::Import()
  26. {
  27. return true;
  28. }
  29. bool SceneImporter::LoadSettingsInternal(JSONValue& jsonRoot)
  30. {
  31. if (!AssetImporter::LoadSettingsInternal(jsonRoot))
  32. return false;
  33. JSONValue import = jsonRoot.Get("SceneImporter");
  34. SetDefaults();
  35. if (import.Get("sceneCamRotation").IsString())
  36. sceneCamRotation_ = ToQuaternion(import.Get("sceneCamRotation").GetString());
  37. if (import.Get("sceneCamPosition").IsString())
  38. sceneCamPosition_ = ToVector3(import.Get("sceneCamPosition").GetString());
  39. return true;
  40. }
  41. bool SceneImporter::SaveSettingsInternal(JSONValue& jsonRoot)
  42. {
  43. if (!AssetImporter::SaveSettingsInternal(jsonRoot))
  44. return false;
  45. JSONValue save;
  46. save.Set("sceneCamRotation", sceneCamRotation_.ToString());
  47. save.Set("sceneCamPosition", sceneCamPosition_.ToString());
  48. jsonRoot.Set("SceneImporter", save);
  49. return true;
  50. }
  51. }