public void deletePurchases()
 {
     foreach (string s in purchases_to_delete_at_runtime)
     {
         m_purchase_manager.deletePurchase(s);
     }
     PurchaseUIManager.RefreshAllUI();
 }
    public static void RefreshAllUI()
    {
        if (s_ui_manager == null)
        {
            s_ui_manager = FindObjectOfType <PurchaseUIManager>();
        }

        s_ui_manager.refreshScrollview();
    }
    //These methods alow runtime modification of the purchases. I am relying on localy stored text assets to do this, but the
    //strings holding JSon serialized PurchasableObjects could come from anywhere

    public void addRuntimePurchases()
    {
        foreach (TextAsset t in purchases_to_add_at_runtime)
        {
            PurchasableItem deserialized_purchase = JsonUtility.FromJson <PurchasableItem>(t.text);
            m_purchase_manager.addOrModifyPurchase(deserialized_purchase);
        }
        PurchaseUIManager.RefreshAllUI();
    }
 public void addModifyingPurchases()
 {
     foreach (TextAsset t in purchases_which_modify_existing)
     {
         PurchasableItem deserialized_purchase = JsonUtility.FromJson <PurchasableItem>(t.text);
         m_purchase_manager.addOrModifyPurchase(deserialized_purchase);
     }
     PurchaseUIManager.RefreshAllUI();
 }
    public void constructDisplay(PurchasableItem item_data, PurchaseUIManager ui_manager)
    {
        m_ui_manager = ui_manager;
        m_item_data  = item_data;

        m_title_text.text       = item_data.visible_name;
        m_description_text.text = item_data.description;

        setCostText();
    }