![]() |
MIR Engine
미래 지향 설계에 초점을 맞춘 자체 제작 게임 엔진
|
ECS::Manager 상태(엔티티 및 컴포넌트) 정보를 파일로 저장/로드하는 클래스 더 자세히 ...
#include <Storage.hpp>
Public 멤버 함수 | |
Storage (const std::string &path) | |
Storage 객체 생성자 | |
void | Save (ECS::Manager &manager) |
ECS::Manager 상태를 파일로 저장 | |
void | Load (ECS::Manager &manager) |
파일에서 ECS::Manager 상태를 로드 | |
ECS::Manager 상태(엔티티 및 컴포넌트) 정보를 파일로 저장/로드하는 클래스
Storage 클래스는 ECS::Manager 내부 상태를 JSON 형태로 파일에 기록하거나, 기록된 JSON 데이터를 읽어 ECS::Manager를 복원하는 기능 제공. 이를 통해 게임 상태나 월드 상태를 직렬화/역직렬화 할 수 있으며, 세이브/로드 기능 구현이나 편집기 도구 제작에 유용하게 활용 가능.
|
inline |
Storage 객체 생성자
path | 저장/로드에 사용할 파일 경로 |
지정한 경로에 ECS::Manager 상태를 저장하거나, 해당 경로에서 데이터 로드.
void MIR::Storage::Load | ( | ECS::Manager & | manager | ) |
파일에서 ECS::Manager 상태를 로드
save_path에 기록된 JSON 데이터를 읽어 ECS::Manager에 반영. 이를 통해 이전에 저장했던 엔티티 구성, 컴포넌트의 복원 가능.
manager | 상태를 로드할 ECS::Manager 인스턴스 |
std::runtime_error | 파일이 없거나 JSON 형식이 올바르지 않을 경우 예외 발생 가능 |
void MIR::Storage::Save | ( | ECS::Manager & | manager | ) |
ECS::Manager 상태를 파일로 저장
주어진 ECS::Manager 인스턴스에 포함된 엔티티 및 해당 컴포넌트 정보를 직렬화하여 JSON 형식으로 기록. 이 메서드를 호출하기 전에 ECS::Manager가 올바르게 초기화되고, 필요한 엔티티와 컴포넌트를 가진 상태인지 확인해야함.
manager | 상태를 저장할 ECS::Manager 인스턴스 |