49 lines
1022 B
Rust
49 lines
1022 B
Rust
use proto::ItemType;
|
|
|
|
pub mod avatar;
|
|
pub mod battle;
|
|
pub mod lightcone;
|
|
pub mod monster;
|
|
pub mod persistent;
|
|
pub mod relic;
|
|
pub mod scene;
|
|
|
|
pub use avatar::*;
|
|
pub use battle::*;
|
|
pub use lightcone::*;
|
|
pub use monster::*;
|
|
pub use persistent::*;
|
|
pub use scene::*;
|
|
|
|
pub fn get_item_unique_id(internal_uid: u32, item_type: ItemType) -> u32 {
|
|
// srtools start internal_uid from 1
|
|
if item_type == ItemType::ItemEquipment {
|
|
3000 + internal_uid // 3001..3500
|
|
} else {
|
|
internal_uid // 1..2000 ->
|
|
}
|
|
}
|
|
|
|
#[macro_export]
|
|
macro_rules! impl_from {
|
|
($from:ty, $to:ty, |$param:ident| $body:block) => {
|
|
impl From<$from> for $to {
|
|
fn from($param: $from) -> Self {
|
|
$body
|
|
}
|
|
}
|
|
|
|
impl From<&$from> for $to {
|
|
fn from($param: &$from) -> Self {
|
|
$body
|
|
}
|
|
}
|
|
|
|
impl From<&mut $from> for $to {
|
|
fn from($param: &mut $from) -> Self {
|
|
$body
|
|
}
|
|
}
|
|
};
|
|
}
|