public void Load(ClassJson classJson) { if (CheckJson(classJson)) { BlizzardId = classJson.Id; Name = classJson.Name; if (classJson.GenderNames != null) { MaleName = classJson.GenderNames.Male; FemaleName = classJson.GenderNames.Female; } if (classJson.PowerType != null) { PowerType = classJson.PowerType.Name; } if (classJson.Specializations != null) { foreach (SpecializationJson specialization in classJson.Specializations) { SpecializationList.Add(specialization.Id); } } if (classJson.Media != null && classJson.Media.Assets != null && classJson.Media.Assets.Any(x => x.Key == "icon")) { Icon = new Uri(classJson.Media.Assets.Find(x => x.Key == "icon").Value); } } }
IEnumerator linkDataJson() { Debug.Log("je suis dans la coroutine LinkDataJson"); WWW wwwPathJson = new WWW(pathJsonData); // Lecture du lien URL via pathJsonData contenu dans la metaData du marqueur yield return(wwwPathJson); ClassJson JsonBridge = JsonUtility.FromJson <ClassJson>(wwwPathJson.text); // Association du dictionnaire "JsonBridge" avec le Json afin de faire la passerelle entre le C# et le Json if (wwwPathJson.error == null) // Vérification du passage des données { Debug.Log("données parsées"); } else { Debug.Log("Echec de parsage des données"); } //COMMUNICATION ENTRE LES VALEURS DU JSON ET LES VALEURS STRING EN C#// textUrlJson = (JsonBridge.textURL); buttonUrlJson = (JsonBridge.buttonURL); imageUrlJson = (JsonBridge.imageURL); videoUrlJson = (JsonBridge.videoURL); audioClipJson = (JsonBridge.audioURL); model3dJson = (JsonBridge.modelURL); nameOfAssetBundle = "suite"; }
public void FromJsonTest_Succes() { string json = "{\"StatKey\":\"test\", \"base_values\": [{\"StatKey\":\"B_DMG\", \"value\":10}], \"basic_attributes\":[{\"StatKey\":\"STR\",\"value\":5}], \"skills\":[\"test\"]}"; ClassJson expected = new ClassJson() { Key = "test", BaseValues = new List <BaseValue>() { new BaseValue() { Key = "B_DMG", Value = 10 } }, BasicAttributes = new List <BaseValue>() { new BaseValue() { Key = "STR", Value = 5 } }, Skills = new List <string>() { "test" } }; ClassJson result = ClassJson.FromJson(json); Assert.AreEqual(expected.Key, result.Key); }
private async Task FillClass(ClassJson classJson) { ClassJson result = await _blizzardApiReader.GetAsync <ClassJson>($"data/wow/playable-class/{classJson.Id}", Namespace.Static).ConfigureAwait(false); if (result.ResultCode != HttpStatusCode.OK) { classJson.ResultCode = result.ResultCode; result = classJson; await _dbManager.Log(new LogEvent { Message = "Unabled to reach BlizzardAPI", Description = $"Return code {result.ResultCode}", Collection = "Class", BlizzardId = classJson.Id, Severity = LogLevel.Warning }).ConfigureAwait(false); } else { result.Media = await _blizzardApiReader.GetAsync <MediaJson>($"data/wow/media/playable-class/{classJson.Id}", Namespace.Static).ConfigureAwait(false); List <Task> subTasks = new List <Task>(); foreach (SpecializationJson specializationJson in result.Specializations) { subTasks.Add(FillSpecialization(specializationJson)); } await Task.WhenAll(subTasks).ConfigureAwait(false); } await _dbManager.Insert(new Class(result)).ConfigureAwait(false); }
public void FromJsonTest_InvalidJson() { string json = "Invalid"; ClassJson expected = null; ClassJson result = ClassJson.FromJson(json); Assert.AreEqual(expected, result); }
public async Task GetClass_Test() { uint id = 1; string query = $"data/wow/playable-class/{id}"; ClassJson result = await Api.GetAsync <ClassJson>(query, Namespace.Static).ConfigureAwait(false); MediaJson media = await Api.GetAsync <MediaJson>($"data/wow/media/playable-class/{id}", Namespace.Static).ConfigureAwait(false); Assert.Equal(HttpStatusCode.OK, result.ResultCode); Assert.True(result.DirectlyCalled); Assert.Equal(id, result.Id); Assert.Equal(HttpStatusCode.OK, media.ResultCode); Assert.True(media.DirectlyCalled); Assert.NotEmpty(media.Assets); Assert.NotNull(media.Assets.Find(x => x.Key == "icon").Key); }
public async Task <ActionResult <ClassList> > GetAll() { var nicecl = await _context.NICEClasses.ToArrayAsync(); ClassList cl = new ClassList() { Classes = new ClassJson[nicecl.Length] }; for (int i = 0; i < nicecl.Length; i++) { ClassJson cj = new ClassJson() { Id = nicecl[i].Id, Name = nicecl[i].ShortName }; cl.Classes[i] = cj; } return(cl); }
public Class(ClassJson classJson) : this() { Load(classJson); }