/**
* Constructor for your shipping class.
*/
public function __construct($instance_id = 0)
{
parent::__construct($instance_id);
// FlagShip application context
$this->ctx = \FS\Context\ApplicationContext::getInstance();
$this->id = $this->ctx->getComponent('\\FS\\Components\\Settings')['FLAGSHIP_SHIPPING_PLUGIN_ID'];
$this->method_title = __('FlagShip Shipping', FLAGSHIP_SHIPPING_TEXT_DOMAIN);
$this->method_description = __('Obtains real time shipping rates via FlagShip Shipping API', FLAGSHIP_SHIPPING_TEXT_DOMAIN);
$this->supports = array('shipping-zones', 'instance-settings', 'instance-settings-modal', 'settings');
$this->title = __('FlagShip Shipping', FLAGSHIP_SHIPPING_TEXT_DOMAIN);
// flagship options
$this->enabled = $this->get_instance_option('enabled');
// load components
// $this->ctx
// ->getComponent('\\FS\\Components\\Hook\\HookManager')
// ->registerHook('\\FS\\Components\\Hook\\SettingsFilters');
$this->ctx->getComponent('\\FS\\Components\\Shipping\\Command');
$this->ctx->getComponent('\\FS\\Components\\Url');
$this->ctx->getComponent('\\FS\\Components\\Options')->sync($this->instance_id);
$this->isLegacy = \version_compare(WC()->version, '2.6', '<');
$this->init_instance_settings();
$this->init();
}