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>;
}

Required Methods§

Source

fn get_item_data(&self, type_id: i32) -> GameResult<Arc<ItemData>>

Source

fn add_new_item(&self, item: NewItem, user: &User) -> GameResult<Item>

Source

fn create_and_save_item( &self, item_data: Arc<ItemData>, user: &User, ) -> GameResult<Item>

Source

fn create_and_save_item_with_count( &self, item_data: Arc<ItemData>, user: &User, count: u64, ) -> GameResult<Item>

Source

fn manipulate( &self, item: Item, function: Box<dyn Fn(&mut Item) -> ItemEventResult>, ) -> GameResult<ItemEventSuccess>

Source

fn get_inventory(&self, user: &User) -> GameResult<Inventory>

Implementors§