summaryrefslogtreecommitdiffhomepage
path: root/loader/scenery-cell.hpp
blob: 4529d637708ee6a0b18bcba62fd16d6a7882c774 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include "compat/safe-ptr.hpp"
#include "src/scenery-proto.hpp"
#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