engage/prelude.rs
1// One-stop import for everyday plugin code:
2//
3// use engage::prelude::*;
4//
5// Brings the common collection types, the IL2CPP infra re-exported from
6// unity, and every hand-written ext trait into scope so `.iter()`,
7// `.register_action(...)`, etc. resolve without naming each trait
8// individually.
9
10// Core IL2CPP infra (lives in unity; re-exported for convenience).
11pub use unity::{Array, Cast, ClassIdentity, FromIlInstance, Il2CppString, IlInstance, IntPtr, MethodInfo, OptionalMethod, SystemObject};
12
13// Every ext trait + helper from `crate::ext`.
14pub use crate::ext::*;
15// System collection types — `List_1<T>` and `Dictionary_2<K, V>` show up
16// constantly in IL2CPP signatures. Each one is gated by its own feature
17// so a project that opts out of every binding (default-features = false)
18// still compiles.
19#[cfg(feature = "system-collections-generic-dictionary_2-types")]
20pub use crate::system::collections::generic::dictionary_2::Dictionary_2;
21#[cfg(feature = "system-collections-generic-list_1-types")]
22pub use crate::system::collections::generic::list_1::List_1;
23#[cfg(feature = "system-object-types")]
24pub use crate::system::object::Object;