<?xml version="1.0"?>
<!--
/**
 * Copyright © MageWorx. All rights reserved.
 * See LICENSE.txt for license details.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <!-- Installation -->
    <type name="MageWorx\OptionBase\Model\Installer">
        <arguments>
            <argument name="installSchema" xsi:type="array">
                <item name="optionadvancedpricing_install_schema_data" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\InstallSchema</item>
            </argument>
        </arguments>
    </type>
    <type name="MageWorx\OptionBase\Model\Product\Option\Value\CollectionUpdaters">
        <arguments>
            <argument name="data" xsi:type="array">
                <item name="special_price" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\CollectionUpdater\Option\Value\SpecialPrice</item>
                <item name="tier_price" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\CollectionUpdater\Option\Value\TierPrice</item>
            </argument>
        </arguments>
    </type>
    <type name="MageWorx\OptionBase\Model\Product\Option\Value\Attributes">
        <arguments>
            <argument name="data" xsi:type="array">
                <item name="special_price" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\Attribute\Option\Value\SpecialPrice</item>
                <item name="tier_price" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\Attribute\Option\Value\TierPrice</item>
            </argument>
        </arguments>
    </type>
    <type name="MageWorx\OptionBase\Model\Product\Option\AdditionalHtmlData">
        <arguments>
            <argument name="data" xsi:type="array">
                <item name="price_per_character" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\Product\Option\AdditionalHtml</item>
            </argument>
        </arguments>
    </type>
    <type name="MageWorx\OptionBase\Model\Product\Option\Value\AdditionalHtmlData">
        <arguments>
            <argument name="data" xsi:type="array">
                <item name="tier_price" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\Product\Option\Value\AdditionalHtml</item>
            </argument>
        </arguments>
    </type>
    <type name="MageWorx\OptionFeatures\Model\Price">
        <arguments>
            <argument name="specialPriceModel" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\SpecialPrice</argument>
            <argument name="tierPriceModel" xsi:type="object">MageWorx\OptionAdvancedPricing\Model\TierPrice</argument>
        </arguments>
    </type>
    <!-- Plugins -->
    <type name="Magento\Catalog\Block\Product\View\Options">
        <plugin name="mageworx_optionadvancedpricing_extend_price_config"
                type="MageWorx\OptionAdvancedPricing\Plugin\ExtendPriceConfig"
                sortOrder="10"
                disabled="false"/>
    </type>

    <type name="Magento\Catalog\Model\Config\Source\Product\Options\Price">
        <plugin name="mageworx_optionadvancedpricing_add_price_type"
                type="MageWorx\OptionAdvancedPricing\Plugin\AddPriceTypePlugin"
                sortOrder="10"
                disabled="false"/>
    </type>

    <type name="Magento\Catalog\Api\Data\ProductCustomOptionInterface">
        <plugin name="mageworx_price_per_character_plugin" type="MageWorx\OptionAdvancedPricing\Plugin\CalculatePricePerCharacterOptionPlugin"/>
    </type>
</config>
