//

    public void buildWeapon(ScrapPiece base_model, ScrapPiece crap_inside)
    {
        string baseWeaponName       = base_model.name();
        string crapInsideWeaponName = crap_inside.name();

        WeaponComponents.Add(base_model.name(), base_model);
        WeaponComponents.Add(crap_inside.name(), crap_inside);

        WeaponComponents [baseWeaponName].onAttach();
        WeaponComponents [crapInsideWeaponName].onAttach();
    }
    public void FilterInventory(string filterTag)
    {
        foreach (Transform child in transform)
        {
            GUIInventorytItem invenItem  = child.gameObject.GetComponent <GUIInventorytItem>();
            ScrapPiece        scrapChild = invenItem.itemObjectRefrance.GetComponent <ScrapPiece>();

            Debug.Log("Filtering by: " + filterTag);

            if (!scrapChild.canFunctionAs(filterTag))
            {
                child.gameObject.SetActive(false);
            }
        }
    }
    public void FilterInventoryAndSetWorkbenchMode(string filterTag, GameObject recipeSlotSelection)
    {
        foreach (Transform child in transform)
        {
            GUIInventorytItem invenItem  = child.gameObject.GetComponent <GUIInventorytItem>();
            ScrapPiece        scrapChild = invenItem.itemObjectRefrance.GetComponent <ScrapPiece>();

            Debug.Log("Filtering by: " + filterTag);

            if (!scrapChild.canFunctionAs(filterTag))
            {
                child.gameObject.SetActive(false);
                continue;
            }

            invenItem.setWorkbenchSelection("RecipeSelect", recipeSlotSelection.transform);
        }
    }