예제 #1
0
        /// <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;
            }
        }
예제 #2
0
        /// <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();
            }
        }
예제 #3
0
 /// <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);
 }