3个版本 (破坏性更新)
0.3.0 | 2019年11月21日 |
---|---|
0.2.0 | 2019年10月6日 |
0.1.0 | 2019年9月28日 |
#1556 in Rust模式
440KB
1K SLoC
关于
通过amethyst-imgui实现的受Unity启发的实体层次结构和组件编辑器
基本用法
#[derive(Inspect)]
在所有你希望在检查器中显示的组件上。例如
// InspectControl is a derive for drawing nested structs
#[derive(Clone, InspectControl)]
pub struct Movement {
// null_to is what the field is set to on right click
// speed is how fast the slider can be dragged
#[inspect(null_to = 10., speed = 0.1)]
pub speed: f32,
pub direction: Vector2<f32>,
}
#[derive(Component, Clone, Inspect)]
// #[inspect(no_default)] would disable adding this component
pub struct Player {
// will only show a dropdown for entities with this component
// also works for non-option Entity (however that can't be defaulted), U64Marker, Option<U64Marker>
#[inspect(with_component = "cmp::Location")]
pub location: Option<Entity>,
pub movement: Movement,
// similar to serde(skip) - don't create a control for this field
#[inspect(skip)]
pub schlonk: Schlonker,
}
- 使用
inspector!
宏列出你希望在检查器中显示的所有组件。这创建了一个名为Inspector
的系统。
inspector![
Named,
Transform,
Rgba,
];
- 添加
InspectorHierarchy
和Inspector
系统。
.with(amethyst_inspector::InspectorHierarchy::<UserData>::default(), "", &[])
.with(Inspector, "", &[""])
需要帮助
如果您能提供帮助或建议,请向我发送Discord消息或创建一个问题
- 在添加组件时创建一个模态或指定属性的其他方式
- 文档
- 测试或其他未知内容
依赖关系
~68MB
~1M SLoC