bevy_entitiles_derive/
lib.rs

1mod ldtk_entity;
2mod ldtk_entity_tag;
3mod ldtk_enum;
4mod tiled_class;
5mod tiled_enum;
6mod tiled_object;
7mod tiled_custom_tile;
8
9#[proc_macro_derive(
10    LdtkEntity,
11    attributes(ldtk_default, ldtk_name, spawn_sprite, global_entity, callback)
12)]
13pub fn derive_ldtk_entities(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
14    ldtk_entity::expand_ldtk_entity_derive(syn::parse(input).unwrap())
15}
16
17#[proc_macro_derive(LdtkEnum, attributes(ldtk_name, wrapper_derive))]
18pub fn derive_ldtk_enums(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
19    ldtk_enum::expand_ldtk_enum_derive(syn::parse(input).unwrap())
20}
21
22#[proc_macro_derive(LdtkEntityTag)]
23pub fn derive_ldtk_entity_tags(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
24    ldtk_entity_tag::expand_ldtk_entity_tag_derive(syn::parse(input).unwrap())
25}
26
27#[proc_macro_derive(
28    TiledObject,
29    attributes(
30        tiled_default,
31        shape_as_collider,
32        spawn_sprite,
33        global_object,
34        callback
35    )
36)]
37pub fn derive_tiled_objects(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
38    tiled_object::expand_tiled_objects_derive(syn::parse(input).unwrap())
39}
40
41#[proc_macro_derive(TiledCustomTile, attributes(tiled_default, callback))]
42pub fn derive_tiled_custom_tiles(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
43    tiled_custom_tile::expand_tiled_custom_tiles_derive(syn::parse(input).unwrap())
44}
45
46#[proc_macro_derive(TiledClass, attributes(tiled_name))]
47pub fn derive_tiled_classes(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
48    tiled_class::expand_tiled_class_derive(syn::parse(input).unwrap())
49}
50
51#[proc_macro_derive(TiledEnum, attributes(tiled_name))]
52pub fn derive_tiled_enums(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
53    tiled_enum::expand_tiled_enum_derive(syn::parse(input).unwrap())
54}