Skip to content

Commit

Permalink
Reflection rewrite
Browse files Browse the repository at this point in the history
  • Loading branch information
MrGVSV committed Apr 16, 2023
1 parent 5ecb5db commit 4025f53
Show file tree
Hide file tree
Showing 147 changed files with 9,155 additions and 2,460 deletions.
115 changes: 87 additions & 28 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,48 +6,107 @@ authors = ["Gino Valente <[email protected]>"]
description = "Create config files for entities in Bevy"
repository = "https://github.com/MrGVSV/bevy_proto"
license = "MIT OR Apache-2.0"
keywords = ["bevy", "archetype", "config", "entity"]
keywords = ["bevy", "prefab", "blueprint", "config", "entity"]
readme = "README.md"
exclude = ["assets/**/*", ".github/**/*"]

[workspace]
members = ["bevy_proto_derive", "bevy_proto_backend"]

[features]
default = [
# Crate Features
"auto_name",
"custom_schematics",
"ron",
# Bevy Features
"bevy_animation",
"bevy_audio",
"bevy_gltf",
"bevy_pbr",
"bevy_render",
"bevy_scene",
"bevy_sprite",
"bevy_text",
]

# When enabled, entities will automatically use a prototype's ID as its `Name`
auto_name = ["bevy_proto_backend/auto_name"]
# When enabled, some custom schematics will be available to use.
custom_schematics = []
# Enables RON deserialization
ron = ["dep:ron"]
# Enables YAML deserialization
yaml = ["dep:serde_yaml"]

# Enables registrations for types available with Bevy's bevy_animation feature
bevy_animation = ["bevy/bevy_animation", "bevy_proto_backend/bevy_animation"]
# Enables registrations for types available with Bevy's bevy_audio feature
bevy_audio = ["bevy/bevy_audio", "bevy_proto_backend/bevy_audio"]
# Enables registrations for types available with Bevy's bevy_gltf feature
bevy_gltf = ["bevy/bevy_gltf", "bevy_proto_backend/bevy_gltf"]
# Enables registrations for types available with Bevy's bevy_pbr feature
bevy_pbr = ["bevy/bevy_pbr", "bevy_proto_backend/bevy_pbr"]
# Enables registrations for types available with Bevy's bevy_render feature
bevy_render = ["bevy/bevy_render", "bevy_proto_backend/bevy_render"]
# Enables registrations for types available with Bevy's bevy_scene feature
bevy_scene = ["bevy/bevy_scene", "bevy_proto_backend/bevy_scene"]
# Enables registrations for types available with Bevy's bevy_sprite feature
bevy_sprite = ["bevy/bevy_sprite", "bevy_proto_backend/bevy_sprite"]
# Enables registrations for types available with Bevy's bevy_text feature
bevy_text = ["bevy/bevy_text", "bevy_proto_backend/bevy_text"]

[dependencies]
bevy_proto_derive = { version = "0.2", path = "bevy_proto_derive" }
bevy = { version = "0.10", default-features = false, features = ["bevy_asset"] }
bevy_proto_backend = { path = "./bevy_proto_backend" }
bevy = { version = ">=0.10.1", default-features = false, features = ["bevy_asset"] }
anyhow = "1.0"
serde = "1.0"
typetag = "0.2"
serde_yaml = "0.9"
dyn-clone = "1.0"
indexmap = "1.9"
crossbeam-channel = { version = "0.5", optional = true }
notify = { version = "5.0", optional = true }
thiserror = "1.0"
path-clean = "1.0"
ron = { version = "0.8", optional = true, default-features = false }
serde_yaml = { version = "0.9", optional = true, default-features = false }

[dev-dependencies]
bevy = "0.10"
[features]
default = ["analysis"]
# If enabled, analyses prototype dependencies and logging (or panicking if `no_cycles` is enabled) on error
analysis = []
# If enabled, panics when a dependency cycle is found, otherwise logs a warning
no_cycles = ["analysis"]
# If enabled, allows for hot reloading
hot_reloading = ["dep:crossbeam-channel", "dep:notify"]
ron = "0.8"
bevy = "0.10.1"
bevy_prototype_lyon = "0.8.0"

[[example]]
name = "basic"
path = "examples/basic.rs"
name = "basic_schematic"
path = "examples/basic_schematic.rs"
required-features = ["ron", "auto_name", "custom_schematics", "bevy_sprite"]

[[example]]
name = "bundles"
path = "examples/bundles.rs"
name = "custom_schematic"
path = "examples/custom_schematic.rs"
required-features = ["ron", "auto_name"]

[[example]]
name = "attributes"
path = "examples/attributes.rs"
name = "cycles"
path = "examples/cycles.rs"
required-features = ["ron", "auto_name"]

[[example]]
name = "templates"
path = "examples/templates.rs"
name = "derive_schematic"
path = "examples/derive_schematic.rs"
required-features = []

[[example]]
name = "bench"
path = "examples/bench.rs"
name = "hierarchy"
path = "examples/hierarchy.rs"
required-features = ["ron", "auto_name", "custom_schematics", "bevy_sprite"]

[[example]]
name = "hot_reload"
path = "examples/hot_reload.rs"
required-features = ["ron", "custom_schematics", "auto_name", "bevy_sprite"]

[[example]]
name = "loading"
path = "examples/loading.rs"
required-features = ["ron", "auto_name"]

[[example]]
name = "templates"
path = "examples/templates.rs"
required-features = ["ron", "auto_name", "custom_schematics", "bevy_sprite", "yaml"]
Loading

0 comments on commit 4025f53

Please sign in to comment.