Esempio n. 1
0
 public bool AddSkillToCharacter(long numeroPg, long cdAbilita, long?numAcquisti, string attitudine, string specifiche)
 {
     try
     {
         AbilitaManager          skillManager = new AbilitaManager(context);
         Personaggio             character    = GetCharacterByNumber(numeroPg);
         DataAccessLayer.Abilita skill        = skillManager.GetSkill(cdAbilita);
         if (character.PossiedeAbilita(cdAbilita))
         {
             if (skill.Multiacquisto == 0)
             {
                 AbilitaPersonaggio newSkill = (from abilitas in character.AbilitaPersonaggios
                                                where abilitas.CdAbilita == cdAbilita
                                                select abilitas).FirstOrDefault();
                 newSkill.NumeroAcquisti = numAcquisti;
             }
         }
         else
         {
             AbilitaPersonaggio newSkill = new AbilitaPersonaggio();
             newSkill.CdAbilita      = cdAbilita;
             newSkill.CdAttitudine   = attitudine;
             newSkill.NumeroAcquisti = numAcquisti;
             newSkill.NumeroPG       = numeroPg;
             newSkill.Specifiche     = specifiche;
             character.AbilitaPersonaggios.Add(newSkill);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Esempio n. 2
0
 private void grdAbilita_SelectionChanged(object sender, EventArgs e)
 {
     txtSpecifiche.Text = null;
     if (grdAbilita.SelectedRows.Count > 0)
     {
         txtSpecifiche.Enabled = true;
         long cdAbilita = (long)grdAbilita.SelectedRows[0].Cells["CdAbilita"].Value;
         using (context = CreateDatabaseContext())
         {
             AbilitaManager          skillmanager = new AbilitaManager(context);
             PersonaggiManagerNew    manager      = new PersonaggiManagerNew(context);
             Personaggio             character    = manager.GetCharacterByNumber(numeroPg);
             DataAccessLayer.Abilita skill        = skillmanager.GetSkill(cdAbilita);
             bool isBought = false;
             long minimum  = 1;
             if (character.PossiedeAbilita(cdAbilita))
             {
                 isBought = true;
                 AbilitaPersonaggio skillBought = (from comprate in character.AbilitaPersonaggios
                                                   where comprate.CdAbilita == cdAbilita
                                                   select comprate).FirstOrDefault();
                 if (skillBought.NumeroAcquisti.HasValue)
                 {
                     minimum = skillBought.NumeroAcquisti.Value;
                 }
             }
             numVolte.Minimum = minimum;
             if (skill.Costo > freePoints)
             {
                 btnSalva.Enabled = false;
             }
             else
             {
                 if (skill.Multiacquisto == 0)
                 {
                     if (isBought)
                     {
                         btnSalva.Enabled = false;
                     }
                     else
                     {
                         btnSalva.Enabled = true;
                     }
                 }
                 else
                 {
                     numVolte.Enabled = true;
                     numVolte.Maximum = minimum + (skill.Costo / freePoints);
                     btnSalva.Enabled = true;
                 }
             }
         }
     }
     else
     {
         txtSpecifiche.Enabled = false;
         btnSalva.Enabled      = false;
     }
 }
Esempio n. 3
0
 private void LoadSkill()
 {
     using (databaseContext = CreateDatabaseContext())
     {
         AbilitaManager          manager = new AbilitaManager(databaseContext);
         DataAccessLayer.Abilita skill   = manager.GetSkill(cdAbilita.Value);
         txtNome.Text             = skill.Nome;
         txtDescr.Text            = skill.Descrizione;
         mstxCosto.Text           = skill.Costo.ToString();
         chkAvanzato.Checked      = skill.BaseAvanzato == 0 ? false : true;
         chkMultiAcquisto.Checked = skill.Multiacquisto == 0 ? false : true;
     }
 }
Esempio n. 4
0
        public long GetFreeSkillpoints(long numeroPg)
        {
            Personaggio    character    = GetCharacterByNumber(numeroPg);
            long           total        = character.Punti;
            AbilitaManager skillManager = new AbilitaManager(context);

            foreach (AbilitaPersonaggio skill in character.AbilitaPersonaggios)
            {
                DataAccessLayer.Abilita possessedSkill = skillManager.GetSkill(skill.CdAbilita);
                long costo = possessedSkill.Costo;
                if (possessedSkill.Multiacquisto == 1 && skill.NumeroAcquisti.HasValue)
                {
                    costo *= skill.NumeroAcquisti.Value;
                }
                total -= costo;
            }
            return(total);
        }