summaryrefslogtreecommitdiffhomepage
path: root/loader/scenery-cell.hpp
blob: b33f94410100cb66f73b99c969742db5c111ec27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
#include "compat/safe-ptr.hpp"
#include "src/scenery.hpp"
#include <memory>
#include <cr/String.h>
#include <cr/Optional.h>

namespace floormat {

struct json_wrapper;
struct scenery_proto;

struct scenery_cell final
{
    String name;
    safe_ptr<json_wrapper> data{make_json_wrapper()};
    Optional<scenery_proto> proto;

    static Array<scenery_cell> load_atlases_from_json();
    [[nodiscard]] static json_wrapper* make_json_wrapper();
};

} // namespace floormat