private static void FillRect(string str, uint[,] rect)
        {
            string[] dataSplit  = str.Split(',');
            List<uint> result   = new List<uint>();
            int length          = rect.Length;
            TiledDataParseContext context = new TiledDataParseContext();

            foreach (var subData in dataSplit)
            {
                MatchContextStrategy(subData, context);
                context.Parse(subData, result, length);
            }
            FillDyadicArray(result, rect);
        }
 private static void MatchContextStrategy(string subData, TiledDataParseContext context)
 {
     if (subData.Contains('-'))
     {
         context.Strategy = new TiledDataParseWithRange();
     }
     else if (subData.Contains('*'))
     {
         context.Strategy = new TiledDataParseWithFill();
     }
     else
     {
         context.Strategy = new TiledDataParseWithNothing();
     }
 }