underworld_core 0.6.3

Small library to either play a game or assist in generating rooms
Documentation
use crate::components::{Inventory, InventoryView};

pub fn view(inventory: &Inventory, knows_packed: bool, knows_all: bool) -> InventoryView {
    let equipped_items = inventory
        .equipment
        .iter()
        .filter(|character_item| character_item.is_at_the_ready())
        .map(|character_item| super::character_item::view(character_item, true));

    let packed_items = inventory
        .equipment
        .iter()
        .filter(|character_item| character_item.is_packed())
        .filter_map(|character_item| {
            if knows_packed || knows_all {
                Some(super::character_item::view(character_item, true))
            } else {
                None
            }
        });

    InventoryView {
        equipment: equipped_items.chain(packed_items).collect(),
    }
}