/// <summary>Saves Hero to database.</summary> /// <param name="saveHero">Hero to be saved</param> /// <returns>Returns true if successfully saved</returns> internal static bool SaveHero(Hero saveHero) { JSONInteraction.SaveHero(saveHero); int index = AllHeroes.FindIndex(hero => hero.Name == saveHero.Name); AllHeroes[index] = saveHero; return(true); }
/// <summary>Creates a new Hero and adds it to the database.</summary> /// <param name="newHero">New Hero</param> internal static void NewHero(Hero newHero) { if (newHero.Equipment.Head == null || newHero.Equipment.Head == new Item()) { newHero.Equipment.Head = AllHeadArmor.Find(armor => armor.Name == DefaultHead.Name); } if (newHero.Equipment.Body == null || newHero.Equipment.Body == new Item()) { newHero.Equipment.Body = AllBodyArmor.Find(armor => armor.Name == DefaultBody.Name); } if (newHero.Equipment.Hands == null || newHero.Equipment.Hands == new Item()) { newHero.Equipment.Hands = AllHandArmor.Find(armor => armor.Name == DefaultHands.Name); } if (newHero.Equipment.Legs == null || newHero.Equipment.Legs == new Item()) { newHero.Equipment.Legs = AllLegArmor.Find(armor => armor.Name == DefaultLegs.Name); } if (newHero.Equipment.Feet == null || newHero.Equipment.Feet == new Item()) { newHero.Equipment.Feet = AllFeetArmor.Find(armor => armor.Name == DefaultFeet.Name); } if (newHero.Equipment.Weapon == null || newHero.Equipment.Weapon == new Item()) { switch (newHero.Class.Name) { case "Wizard": newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Starter Staff"); if (newHero.Spellbook == null || newHero.Spellbook == new Spellbook()) { newHero.Spellbook?.LearnSpell(AllSpells.Find(spell => spell.Name == "Fire Bolt")); } break; case "Cleric": newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Starter Staff"); if (newHero.Spellbook == null || newHero.Spellbook == new Spellbook()) { newHero.Spellbook?.LearnSpell(AllSpells.Find(spell => spell.Name == "Heal Self")); } break; case "Warrior": newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Stone Dagger"); break; case "Rogue": newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Starter Bow"); break; default: newHero.Equipment.Weapon = AllWeapons.Find(wpn => wpn.Name == "Stone Dagger"); break; } } newHero.Gold = 250; for (int i = 0; i < 3; i++) { newHero.AddItem(AllPotions.Find(itm => itm.Name == "Minor Healing Potion")); } JSONInteraction.SaveHero(newHero); AllHeroes.Add(newHero); }