Exemplo n.º 1
0
        public async Task <Artifact> GetArtifact(Artifact.ArtifactStatic artifactStatic)
        {
            var version = GlobalSettings.FileVersions.Artifact;

            if (string.IsNullOrWhiteSpace(version))
            {
                version = GlobalSettings.DefaultVersion;
            }

            var data = await WebClient.GetString(new Uri(GHStatic + version + ArtifactsPath));

            if (data == null)
            {
                return(null);
            }

            var      dataCSV     = CsvReader.ReadFromText(data);
            ICsvLine artifactRow = dataCSV.SingleOrDefault(r => r[0].EndsWith("t" + artifactStatic.Id));

            if (artifactRow == null)
            {
                return(null);
            }

            var image = await GetImage(artifactStatic.ImageUrl);

            return(BuildArtifact(artifactRow, artifactStatic, image, version));
        }
Exemplo n.º 2
0
        private Artifact BuildArtifact(ICsvLine serverData, Artifact.ArtifactStatic staticData, Bitmap image, string version)
        {
            int.TryParse(serverData[1], out int maxLevel);
            string tt1 = serverData[2];

            Enum.TryParse(serverData[3], out BonusType bonusType);
            double.TryParse(serverData[4], out double effectPerLevel);
            double.TryParse(serverData[5], out double damageBonus);
            double.TryParse(serverData[6], out double costCoef);
            double.TryParse(serverData[7], out double costExpo);
            string note = serverData[8];
            string name = serverData[9];

            return(staticData.Build(maxLevel == 0 ? (int?)null : maxLevel, tt1, bonusType, effectPerLevel, damageBonus, costCoef, costExpo, note, image ?? new Bitmap(1, 1), version));
        }