/// <summary> /// Ajoute un item à la créature (et modifie son profil) /// </summary> /// <param name="item"></param> public void addItem(ItemDescription item) { _items.Add(item); // Applique le bonus de l'item immédiatement switch (item.effet) { case ItemDescription.Effet.BONUS_FORCE: _vraieforce += item.amplitude; break; case ItemDescription.Effet.BONUS_MOUVEMENT: _vraimouvement += item.amplitude; break; case ItemDescription.Effet.BONUS_OR: _vraicout -= item.amplitude; break; case ItemDescription.Effet.NAGE: _vrainage = true; break; case ItemDescription.Effet.VOL: _vraivol = true; break; } }
/// <summary> /// Créateur à partir de fichier de description des villes /// </summary> /// <param name="leJeu">jeu en cours</param> /// <param name="nomFichierRessource">nom du fichier texte (sans préfixe SeigneursDeGuerre.)</param> public Items(Jeu leJeu, string nomFichierRessource) : this(leJeu) { // Format du fichier : // nom;effet;amplitude // (header présent dans le fichier) _description = new List <ItemDescription>(); CSVReader csv = new CSVReader(nomFichierRessource, ";"); // header if (!csv.readLine()) { throw new SdGException("Le fichier des items est vide"); } ; try { while (csv.readLine()) { ItemDescription id = new ItemDescription(); id.nom = csv.getField(0); id.effet = (ItemDescription.Effet)Enum.Parse(typeof(ItemDescription.Effet), csv.getField(1), true); id.amplitude = Int32.Parse(csv.getField(2)); _description.Add(id); } } finally { csv.dispose(); } }
/// <summary> /// Ajoute un item sans modifier le profil (lors du reload) /// </summary> /// <param name="itemDescription">item</param> public void addItemNoEffect(ItemDescription itemDescription) { _items.Add(itemDescription); }