aboutsummaryrefslogtreecommitdiff
path: root/mingling_core/src/asset
diff options
context:
space:
mode:
Diffstat (limited to 'mingling_core/src/asset')
-rw-r--r--mingling_core/src/asset/enum_tag.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/mingling_core/src/asset/enum_tag.rs b/mingling_core/src/asset/enum_tag.rs
new file mode 100644
index 0000000..563d826
--- /dev/null
+++ b/mingling_core/src/asset/enum_tag.rs
@@ -0,0 +1,11 @@
+/// Marker trait for EnumTag
+pub trait EnumTag {
+ /// Get the name and description of this enum
+ fn enum_info(&self) -> (&'static str, &'static str);
+
+ /// Get all possible enum variant names and descriptions
+ fn enums() -> &'static [(&'static str, &'static str)];
+
+ /// Build the enum from a name
+ fn build_enum(name: String) -> Self;
+}