コード例 #1
0
 internal void UpdateCell(AchievementItem item)
 {
     AchCellTitle.Text = item.cellTitle;
     cell_image.Image  = UIImage.FromFile(item.cellImage);
     cell_sub.Text     = item.cellDesc;
     cell_progress.SetProgress(Convert.ToSingle(item.progress), true);
     percent_label.Text = (Math.Truncate(item.progress * 100)).ToString() + " %";
 }
コード例 #2
0
        public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
        {
            AchievementCell cell = tableView.DequeueReusableCell(cellIdentifier, indexPath) as AchievementCell;
            AchievementItem item = items[indexPath.Row];

            cell.UpdateCell(item);
            return(cell);
        }
コード例 #3
0
 public AchievementCell(NSString cellId, AchievementItem item) : base(UITableViewCellStyle.Default, cellId)
 {
     AchCellTitle.Text = item.cellTitle;
     cell_image.Image  = UIImage.FromFile(item.cellImage);
     cell_sub.Text     = item.cellDesc;
     cell_progress.SetProgress(Convert.ToSingle(item.progress), true);
     percent_label.Text = (Math.Truncate(item.progress * 100)).ToString() + " %";
 }
コード例 #4
0
ファイル: AppData.cs プロジェクト: QuentinDelignon/CatTreeIOS
 public static int AchievementCompare(AchievementItem x, AchievementItem y)
 {
     if (x.progress > y.progress)
     {
         return(-1);
     }
     if (x.progress == y.progress)
     {
         return(0);
     }
     else
     {
         return(1);
     }
 }
コード例 #5
0
ファイル: AppData.cs プロジェクト: QuentinDelignon/CatTreeIOS
        public static void ComputeAchievements()
        {
            // PreProcessing
            try { Inventory.LoadCats(); } catch { };
            try { Inventory.LoadPatterns(); } catch { };
            try { SessionItems.Load(); } catch { };
            try { Coins.Load(); } catch { };
            AchievementItems.Ongoing = new List <AchievementItem>();
            AchievementItems.Done    = new List <AchievementItem>();
            TimeSpan TotalTime = new TimeSpan(0, 0, 0, 0);
            int      MaxinRow  = 0;
            var      CurrinRow = 0;

            for (int i = 0; i < SessionItems.Sessions.Count(); i++)
            {
                TotalTime.Add(SessionItems.Sessions[i].Duration);
                if (i > 0)
                {
                    if (SessionItems.Sessions[i].Date.Subtract(SessionItems.Sessions[i - 1].Date) < new TimeSpan(1, 12, 0, 0))
                    {
                        if (SessionItems.Sessions[i].Date.Subtract(SessionItems.Sessions[i - 1].Date) > new TimeSpan(0, 12, 0, 0))
                        {
                            CurrinRow += 1;
                        }
                        if (MaxinRow < CurrinRow)
                        {
                            MaxinRow = CurrinRow;
                        }
                    }
                    else
                    {
                        CurrinRow = 0;
                    }
                }
                else
                {
                    CurrinRow += 1;
                    if (MaxinRow < CurrinRow)
                    {
                        MaxinRow = CurrinRow;
                    }
                }
            }
            // Partie 1 - Temps Total
            var        TotalHours = TotalTime.TotalHours;
            List <int> Milestones = new List <int>()
            {
                1, 2, 5, 10, 20, 50, 100, 200, 500, 1000
            };

            for (int i = 0; i < Milestones.Count(); ++i)
            {
                // Heures 16-25
                if (TotalHours >= Milestones[i])
                {
                    // Succès Faits
                    AchievementItems.Done.Add(AchievementItems.All[16 + i]);
                }
                else
                {
                    //Calculer la progression & ajouter
                    double prog = (double)TotalHours / Milestones[i];
                    var    ach  = AchievementItems.All[16 + i];
                    ach.progress = prog;
                    AchievementItems.Ongoing.Add(ach);
                }
            }
            // Partie 2 -  Jours D'affilés
            List <int> MilestoneRow = new List <int>()
            {
                2, 3, 5, 7, 10, 15, 20, 30, 60
            };

            for (int i = 0; i < MilestoneRow.Count(); i++)
            {
                // Jours 7-15
                if (MaxinRow >= MilestoneRow[i])
                {
                    AchievementItems.Done.Add(AchievementItems.All[7 + i]);
                }
                else
                {
                    // Calculer la progression
                    double          prog = (double)MaxinRow / MilestoneRow[i];
                    AchievementItem ach  = AchievementItems.All[7 + i];
                    ach.progress = prog;
                    AchievementItems.Ongoing.Add(ach);
                }
            }
            // Partie 3 - Argent Gagné
            var        TotalMoney     = Coins.myCoins[1];
            List <int> MilestoneMoney = new List <int> {
                100, 1000, 2000, 5000, 10000, 50000, 100000
            };

            for (int i = 0; i < MilestoneMoney.Count(); i++)
            {
                if (TotalMoney >= MilestoneMoney[i])
                {
                    // Succès faits
                    AchievementItems.Done.Add(AchievementItems.All[i]);
                }
                else
                {
                    // Calculer la progression
                    double          prog = (double)AppData.Coins.myCoins[1] / MilestoneMoney[i];
                    AchievementItem ach  = AchievementItems.All[i];
                    ach.progress = prog;
                    AchievementItems.Ongoing.Add(ach);
                }
            }
            // Partie 4 - Achats
            //Total
            var        TotalItems          = Inventory.Cats.Count() + Inventory.Patterns.Count();
            List <int> MilestoneTotalItems = new List <int> {
                1, 3, 5, 10, 20, 40, 50, 80, 100
            };

            for (int i = 0; i < MilestoneTotalItems.Count(); i++)
            {
                if (TotalItems >= MilestoneTotalItems[i])
                {
                    // Succès faits
                    AchievementItems.Done.Add(AchievementItems.All[33 + i]);
                }
                else
                {
                    // Calculer la progression
                    var             prog = (double)TotalItems / MilestoneTotalItems[i];
                    AchievementItem ach  = AchievementItems.All[33 + i];
                    ach.progress = prog;
                    AchievementItems.Ongoing.Add(ach);
                }
            }
            //Chats
            var        TotalCats          = Inventory.Cats.Count();
            List <int> MilestoneTotalCats = new List <int> {
                1, 3, 5, 10, 20, 40, 50
            };

            for (int i = 0; i < MilestoneTotalCats.Count(); i++)
            {
                if (TotalCats >= MilestoneTotalCats[i])
                {
                    // Succès faits
                    AchievementItems.Done.Add(AchievementItems.All[26 + i]);
                }
                else
                {
                    // Calculer la progression
                    double          prog = (double)TotalCats / MilestoneTotalCats[i];
                    AchievementItem ach  = AchievementItems.All[26 + i];
                    ach.progress = prog;
                    AchievementItems.Ongoing.Add(ach);
                }
            }
            //Patterns
            var        TotalPatterns          = Inventory.Patterns.Count();
            List <int> MilestoneTotalPatterns = new List <int> {
                1, 3, 5, 10, 20, 40, 50
            };

            for (int i = 0; i < MilestoneTotalPatterns.Count(); i++)
            {
                if (TotalPatterns >= MilestoneTotalPatterns[i])
                {
                    // Succès faits
                    AchievementItems.Done.Add(AchievementItems.All[42 + i]);
                }
                else
                {
                    // Calculer la progression
                    double          prog = (double)TotalPatterns / MilestoneTotalPatterns[i];
                    AchievementItem ach  = AchievementItems.All[42 + i];
                    ach.progress = prog;
                    AchievementItems.Ongoing.Add(ach);
                }
            }
            AchievementItems.Ongoing.Sort(AchievementCompare);
            AchievementItems.SaveDone();
            AchievementItems.SaveOngoing();
        }
コード例 #6
0
 internal void UpdateCell(AchievementItem item)
 {
     cell_title.Text  = item.cellTitle;
     cell_image.Image = UIImage.FromFile(item.cellImage);
     cell_sub.Text    = item.cellDesc;
 }
コード例 #7
0
 public AchievedCell(NSString cellId, AchievementItem item) : base(UITableViewCellStyle.Default, cellId)
 {
     cell_title.Text  = item.cellTitle;
     cell_image.Image = UIImage.FromFile(item.cellImage);
     cell_sub.Text    = item.cellDesc;
 }