コード例 #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;
     }
 }
コード例 #2
0
ファイル: AggiungiAbilita.cs プロジェクト: LoZeno/Holonet3
 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;
     }
 }
コード例 #3
0
ファイル: InsertAbilita.cs プロジェクト: LoZeno/Holonet3
 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;
     }
 }
コード例 #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;
 }