Пример #1
0
        public async Task GetImageBytesFromOptions_CustomSettings_Works()
        {
            var settings = new HighchartsSetting
            {
                ExportImageType = "jpg",
                ScaleFactor     = 4,
                ImageWidth      = 1500,
                ServerAddress   = _highchartsServer
            };

            var client = new HighchartsClient(settings);

            var options = new
            {
                xAxis = new
                {
                    categories = new[] { "Jan", "Feb", "Mar" }
                },
                series = new[]
                {
                    new { data = new[] { 29.9, 71.5, 106.4 } }
                }
            };

            var res = await client.GetChartImageFromOptionsAsync(JsonConvert.SerializeObject(options));

            Assert.IsNotNull(res);
            File.WriteAllBytes($"__imageFromBytes_customSettings.{settings.ExportImageType}", res);
        }
		public async Task GetImageBytesFromOptions_CustomSettings_Works()
		{
			var settings = new HighchartsSetting
			{
				ExportImageType = "jpg",
				ScaleFactor = 4,
				ImageWidth = 1500,
				ServerAddress = _highchartsServer
			};

			var client = new HighchartsClient(settings);

			var options = new
			{
				xAxis = new
				{
					categories = new[] { "Jan", "Feb", "Mar" }
				},
				series = new[]
				{
					new { data = new[] {29.9, 71.5, 106.4} }
				}
			};

			var res = await client.GetChartImageFromOptionsAsync(JsonConvert.SerializeObject(options));

			Assert.IsNotNull(res);
			File.WriteAllBytes($"__imageFromBytes_customSettings.{settings.ExportImageType}", res);
		}
Пример #3
0
 public HighchartsClient(string serverAddress)
 {
     _httpClient = new HttpClient();
     _settings   = new HighchartsSetting
     {
         ServerAddress = serverAddress
     };
 }
Пример #4
0
    private async Task <Texture2D> DownloadHighchartsAsTexture(string data)
    {
        //Init have to be done there and not in Start function due to the fact that the LIB object doesn't exisst as Game Object (so, Start is never called)
        if (HighchartsClient == null && HighchartsSettings == null)
        {
            HighchartsSettings               = new HighchartsSetting();
            HighchartsSettings.IsAsyncCall   = true;
            HighchartsSettings.ServerAddress = HighchartsUrl;
            HighchartsClient = new HighchartsClient(HighchartsSettings);
            print("Highcharts init in Requea lib done");
        }
        Texture2D tex = new Texture2D(4, 4, TextureFormat.DXT1, false);

        try
        {
            string link = await HighchartsClient.GetChartImageLinkFromOptionsAsync(data);

            print(link);

            using (WWW www = new WWW(link))
            {
                while (!www.isDone)
                {
                    //Wait... I know it's an horrific solution but the only one working after 50+ different test. No waiter, getter, or observable allowed on Unity classes, and cannot make yield work correctly their
                }

                www.LoadImageIntoTexture(tex);
            }
        }
        catch (Exception e)
        {
            print("exception in api highchart call :" + e.Message);
        }

        return(tex);
    }
Пример #5
0
 public HighchartsClient(HighchartsSetting settings)
 {
     _httpClient = new HttpClient();
     _settings   = settings;
 }