private void ParseDailyPageContent(DailyPageResponse response) { List <PictureData> localPictures = DatabaseManager.GetLocalPictures(); this.dailyTabInfo = new DailyTabInfo(); this.dailyTabInfo.monthes = new List <DailyMonthInfo>(); if (response.months != null) { for (int i = 0; i < response.months.Count; i++) { DailyMonthInfo dailyMonthInfo = new DailyMonthInfo(); dailyMonthInfo.monthName = ((!string.IsNullOrEmpty(response.months[i].monthName)) ? response.months[i].monthName : string.Empty); dailyMonthInfo.monthIndex = response.months[i].monthIndex; dailyMonthInfo.year = response.months[i].year; dailyMonthInfo.pics = new List <PictureData>(); for (int j = 0; j < response.months[i].pics.Count; j++) { WebPicData webPic = response.months[i].pics[j]; PictureData pictureData = this.ParseWebPic(webPic, response.paths, localPictures, false); if (pictureData != null) { pictureData.SetDailyTabDate(response.months[i].pics.Count - j); pictureData.SetPicClass(PicClass.Daily); dailyMonthInfo.pics.Add(pictureData); } } this.dailyTabInfo.monthes.Add(dailyMonthInfo); } } if (response.daily != null) { this.dailyTabInfo.dailyPic = new DailyPicInfo(); this.dailyTabInfo.dailyPic.day = ((!string.IsNullOrEmpty(response.daily.day)) ? response.daily.day : string.Empty); this.dailyTabInfo.dailyPic.desc = ((!string.IsNullOrEmpty(response.daily.description)) ? response.daily.description : string.Empty); this.dailyTabInfo.dailyPic.month = ((!string.IsNullOrEmpty(response.daily.month)) ? response.daily.month : string.Empty); this.dailyTabInfo.dailyPic.btnLabel = (response.daily.cta ?? string.Empty); PictureData pictureData2 = this.ParseWebPic(response.daily.pic, response.paths, localPictures, false); if (pictureData2 != null) { pictureData2.SetPicClass(PicClass.Daily); this.dailyTabInfo.dailyPic.picData = pictureData2; } else { this.dailyTabInfo.dailyPic = null; } } }
public int CalculateDailyCompletePercent() { if (this.dailyTabInfo == null || this.dailyTabInfo.monthes == null) { return(-1); } int num = 0; int num2 = 0; for (int i = 0; i < this.dailyTabInfo.monthes.Count; i++) { DailyMonthInfo dailyMonthInfo = this.dailyTabInfo.monthes[i]; if (dailyMonthInfo.pics != null) { for (int j = 0; j < dailyMonthInfo.pics.Count; j++) { num++; if (dailyMonthInfo.pics[j].Solved) { num2++; } } } } if (num == 0) { return(-1); } int num3 = Mathf.RoundToInt((float)num2 / (float)num * 100f); if (num3 == 0 && num2 > 0) { num3 = 1; } FMLogger.vCore(string.Concat(new object[] { "daily progress:", num3, " tc:", num, " sp:", num2 })); return(num3); }