void SetTexts()
    {
        int totalValue         = 0;
        int totalSelectedValue = 0;

        for (int i = 0; i < resourceViewers.Length; i++)
        {
            ResourceType resourceType = (ResourceType)i;

            int valueOfItem = 0;

            switch (mode)
            {
            case Mode.Merchant:
                valueOfItem = myHarbor.GetResourceValue(resourceType);
                break;

            case Mode.Boarding:
                valueOfItem = ResourceInventory.GetDefaultValue(resourceType);
                break;
            }

            totalValue         += activeShipInventory.GetResource(resourceType).Value *valueOfItem;
            totalSelectedValue += Mathf.RoundToInt(resourceViewers[i].GetSliderValue()) * valueOfItem;
        }

        switch (mode)
        {
        case Mode.Merchant:
            interactButtonText.text = $"Sell Marked Items (£{totalSelectedValue.ToString()})";
            break;

        case Mode.Boarding:
            interactButtonText.text = $"Steal All Items (£{totalValue.ToString()})";
            break;
        }
        totalValueText.text = $"Total Value: {totalValue}";
    }
    void UpdateUI(ResourceType resourceType, bool interactable)
    {
        switch (mode)
        {
        case Mode.Merchant:
            resourceViewers[(int)resourceType].Setup(activeShipInventory.GetResource(resourceType), interactable, myHarbor.GetResourceValue(resourceType));
            break;

        case Mode.Boarding:
            resourceViewers[(int)resourceType].Setup(activeShipInventory.GetResource(resourceType), interactable, ResourceInventory.GetDefaultValue(resourceType));
            break;
        }
        SetTexts();
    }