예제 #1
0
        private void updateQuests()
        {
            DataTable dataTable;

            dataTable = m_adaptor.getCurrentQuests(1);
            foreach (DataRow row in dataTable.Rows)
            {
                String questName = "";
                questName = row[0].ToString();

                ListViewItem newItem = new ListViewItem(questName);

                String completed = row[1].ToString();
                if (completed == "True")
                {
                    completed = "Completée";
                }
                else
                {
                    completed = "En cours";
                }
                newItem.SubItems.Add(completed);

                ListViewItem test = lsvQuest.FindItemWithText(questName);
                if (test == null)
                {
                    lsvQuest.Items.Add(newItem);
                    Console.WriteLine(questName);
                }
                else
                {
                    if (test.SubItems[1].Text != completed)
                    {
                        test.SubItems[1].Text = completed;
                    }
                }
            }
        }
예제 #2
0
        //Rafraichie le GUI de facon intelligente en rafraichissant seulement les parties changées
        public void refreshGUI(String p_actionString, int p_changed)
        {
            if (p_actionString != "Finis")
            {
                valueChanged changed = (valueChanged)p_changed;
                DataTable    dataTable;

                lsvLog.Items.Add(p_actionString);
                lsvLog.TopIndex = lsvLog.Items.Count - 1;
                switch (changed)
                {
                //Si les quetes du personnage ont changé
                case valueChanged.quest:
                    dataTable = m_adaptor.getCurrentQuests(1);
                    foreach (DataRow row in dataTable.Rows)
                    {
                        String questName = "";
                        questName = row[0].ToString();

                        ListViewItem newItem = new ListViewItem(questName);

                        String completed = row[1].ToString();
                        if (completed == "True")
                        {
                            completed = "Completée";
                        }
                        else
                        {
                            completed = "En cours";
                        }
                        newItem.SubItems.Add(completed);

                        ListViewItem test = lsvQuest.FindItemWithText(questName);
                        if (test == null)
                        {
                            lsvQuest.Items.Add(newItem);
                            Console.WriteLine(questName);
                        }
                        else
                        {
                            if (test.SubItems[1].Text != completed)
                            {
                                test.SubItems[1].Text = completed;
                            }
                        }
                    }
                    break;

                case valueChanged.inventaire:
                    break;

                //Si les stats du personnages on changés
                case valueChanged.stats:
                    dataTable = m_adaptor.getCurrentStats(1);
                    int    columnHP       = dataTable.Columns.IndexOf("CharHP");
                    int    columnMaxHP    = dataTable.Columns.IndexOf("CharMaxHP");
                    int    columnStrenght = dataTable.Columns.IndexOf("CharStr");
                    int    columnDex      = dataTable.Columns.IndexOf("CharDex");
                    int    columnCon      = dataTable.Columns.IndexOf("CharCon");
                    double currentHP;
                    double maxHP;
                    double strenght;
                    double dex;
                    double con;
                    Double.TryParse(dataTable.Rows[0][columnHP].ToString(), out currentHP);
                    Double.TryParse(dataTable.Rows[0][columnMaxHP].ToString(), out maxHP);
                    Double.TryParse(dataTable.Rows[0][columnStrenght].ToString(), out strenght);
                    Double.TryParse(dataTable.Rows[0][columnDex].ToString(), out dex);
                    Double.TryParse(dataTable.Rows[0][columnCon].ToString(), out con);

                    int hpPercent = (int)((currentHP / maxHP) * 100);

                    lblStr.Text   = strenght.ToString();
                    lblDex.Text   = dex.ToString();
                    lblConst.Text = con.ToString();

                    pgrbHealt.Value = hpPercent;
                    pgrbHealt.Refresh();


                    break;

                case valueChanged.statsMonstre:
                    int      monsterCurrentHP = 0;
                    int      monsterMaxHP     = 0;
                    object[] monsterHPValues  = m_adaptor.getCurrentMonsterHP(1, monsterCurrentHP, monsterMaxHP);

                    monsterCurrentHP = Convert.ToInt32(monsterHPValues[0]);
                    monsterMaxHP     = Convert.ToInt32(monsterHPValues[1]);


                    //rafrachie la barre de progression
                    if (monsterMaxHP > 0)
                    {
                        int MonsterHpPercent = (int)(((double)monsterCurrentHP / (double)monsterMaxHP) * 100.0);
                        pgrbMonsterHP.Value = MonsterHpPercent;
                    }
                    else
                    {
                        pgrbMonsterHP.Value = 0;
                    }

                    Console.WriteLine(monsterCurrentHP);
                    Console.WriteLine(monsterMaxHP);
                    break;

                default:
                    break;
                }
            }
            else
            {
                this.m_simulation.Abort();
                lsvLog.Items.Add("Vous avez terminé le jeu! Merci d'avoir jouer");
            }
        }