Example #1
0
 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);
         }
     }
 }
Example #2
0
    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";
    }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        public void FromJsonTest_InvalidJson()
        {
            string    json     = "Invalid";
            ClassJson expected = null;
            ClassJson result   = ClassJson.FromJson(json);

            Assert.AreEqual(expected, result);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
 public Class(ClassJson classJson) : this()
 {
     Load(classJson);
 }