Ejemplo n.º 1
0
        public PanneauRuine(Jeu _jeu, Creature heros, Ruines.RuineDescription _ruine)
            : base(_jeu, Overlay.Position.CENTRE, 400, 440, 0, 0,
                   heros.vraiNom + " fouille la Ruine de " + _ruine.nom + "...")
        {
            _modalOverlay = ModalOverlay.FOUILLE_RUINE;
            // Bouton Fermer
            Bouton fermer = new Bouton(_jeu, _xoverlay + 16, _yoverlay + _height - 48, "Fermer", null, _jeu.isoFont);

            fermer.click = delegate(Controle clicked, int x, int y, bool leftClick, bool rightClick, bool released) {
                if (released)
                {
                    _jeu.popOverlay();
                }
            };
            _controles.Add(fermer);

            string nomEnnemi     = null;
            string nomRecompense = null;
            bool   herosGagne    = _jeu.ruines.fouilleRuine(heros, _ruine, ref nomEnnemi, ref nomRecompense);


            // Affichage
            drawCallBack = delegate(SpriteBatch spriteBatch, GraphicsDevice GraphicsDevice, GameTime gameTime) {
                spriteBatch.Draw(_jeu.texRuine, new Rectangle(_xoverlay + (_width - 256) / 2, _yoverlay + 32, 256, 256), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 0.7f);
                spriteBatch.DrawString(_jeu.font, heros.vraiNom + " rencontre " + nomEnnemi + "...", new Vector2(_xoverlay + 16, _yoverlay + 256 + 48), Color.White);
                spriteBatch.DrawString(_jeu.font, "... et " + (herosGagne?" en sort vainqueur !" : " a été massacré(e) !"), new Vector2(_xoverlay + 16, _yoverlay + 256 + 48 + 20), Color.White);
                if (herosGagne)
                {
                    spriteBatch.DrawString(_jeu.font, heros.vraiNom + " trouve " + nomRecompense, new Vector2(_xoverlay + 16, _yoverlay + 256 + 48 + 20 * 2), Color.White);
                }
            };
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Fouille une ruine
 /// </summary>
 private void boutonFouillerRuineClick()
 {
     // Il faut que l'armée sélectionnée comprenne un héros et soit sur une ruine...
     if (_jeu.selectedArmee != null)
     {
         Creature crea = null;
         for (int i = 0; i < _jeu.selectedArmee.getTaille(); i++)
         {
             crea = _jeu.selectedArmee.getCreature(i);
             if (crea.description.heros)
             {
                 break;
             }
             else
             {
                 crea = null;
             }
         }
         if (crea != null)
         {
             // un héros, mais il y a-t-il une ruine ?
             if (_jeu.ruines.ruines.ContainsKey(crea.positionCarte))
             {
                 Ruines.RuineDescription rd = _jeu.ruines.ruines[crea.positionCarte];
                 if (!rd.visite)
                 {
                     // Ouvre le panneau de visite de la ruine
                     _jeu.addOverlay(new PanneauRuine(_jeu, crea, rd));
                 }
                 else
                 {
                     _jeu.messageInfo = "Cette ruine a déjà été fouillée";
                 }
             }
             else
             {
                 _jeu.messageInfo = "Vous ne pouvez fouiller que les ruines";
             }
         }
         else
         {
             _jeu.messageInfo = "Seul un héros peut visiter une ruine";
         }
     }
 }