Trait ItemServiceInterface
Source pub trait ItemServiceInterface: Send + Sync {
// Required methods
fn get_item_data(&self, type_id: i32) -> GameResult<Arc<ItemData>>;
fn add_new_item(&self, item: NewItem, user: &User) -> GameResult<Item>;
fn create_and_save_item(
&self,
item_data: Arc<ItemData>,
user: &User,
) -> GameResult<Item>;
fn create_and_save_item_with_count(
&self,
item_data: Arc<ItemData>,
user: &User,
count: u64,
) -> GameResult<Item>;
fn manipulate(
&self,
item: Item,
function: Box<dyn Fn(&mut Item) -> ItemEventResult>,
) -> GameResult<ItemEventSuccess>;
fn get_inventory(&self, user: &User) -> GameResult<Inventory>;
}