public void Initialize(IVesselItem vessel, bool last, bool final)
        {
            if (vessel == null)
            {
                return;
            }

            _vesselInterface = vessel;

            if (m_Toggle != null)
            {
                m_Toggle.group = vessel.VesselToggleGroup;
            }

            if (m_NameText != null)
            {
                m_NameText.OnTextUpdate.Invoke(vessel.VesselName);
            }

            if (m_SituationText != null)
            {
                m_SituationText.OnTextUpdate.Invoke(vessel.VesselSituation);
            }

            if (m_InfoText != null)
            {
                m_InfoText.OnTextUpdate.Invoke(vessel.VesselInfo);
            }

            if (m_ConnectorIcon != null)
            {
                m_ConnectorIcon.sprite = last ? m_EndConnector : m_DoubleConnector;
            }

            if (final && m_ByConnectorIcon != null)
            {
                m_ByConnectorIcon.gameObject.SetActive(false);
            }

            AssignVesselSprite(vessel.VesselImage);

            vessel.SetSubUI(this);
        }