internal void RacetracksResponseHandler([NotNull] RacetracksResponseMessage message)
        {
            lock ( m_Padlock )
            {
                m_Converter.Dto = message.Racetracks;
                m_Converter.Convert();

                m_Racetracks = m_Converter.Racetracks;
            }

            SendColonyRacetracksResponseMessage();
        }
        public void Convert()
        {
            IPath[][] forwardToForward = ConvertPathDtos(m_Dto.ForwardToForward);
            IPath[][] forwardToReverse = ConvertPathDtos(m_Dto.ForwardToReverse);
            IPath[][] reverseToForward = ConvertPathDtos(m_Dto.ReverseToForward);
            IPath[][] reverseToReverse = ConvertPathDtos(m_Dto.ReverseToReverse);

            m_Racetracks = new Racetracks
                           {
                               ForwardToForward = forwardToForward,
                               ForwardToReverse = forwardToReverse,
                               ReverseToForward = reverseToForward,
                               ReverseToReverse = reverseToReverse
                           };
        }
 internal void Update()
 {
     Racetracks = m_RacetracksSourceManager.Racetracks;
 }