/// <summary> /// Affiche l'emplacement de sort. Puis, si le numéro de sort du joueur surveillé correspond à un sort, affiche /// son icône en fond, affiche de haut en bas l'icône plus lumineuse indiquant le chargement du sort, et écrit /// le nombre de charges disponibles. /// La couleur du nombre change si aucune n'est disponible, (orange) si il y en a un nombre non maximal (jaune) /// ou si le nombre maximal est atteint, (vert) auquel cas l'icône lumineuse est donc affichée intégralement. /// </summary> /// <param name="shift"> Le point de décalage, inutilisée </param> /// <param name="g"> L'objet permettant de dessiner </param> public override void Draw(Point shift, Graphics g) { SocketSprite.Draw(Position, g); var p1 = Position + new Point(0, HeightShift); _backgroundSprite?.Draw(p1, g); _foregroundSprite?.Draw(p1, g); if (_owner.IsChoosingSpell()) { Bloom.Draw(Position, g); return; } if (_currentSpell == null) { return; } var p2 = Position - new Point(0, 20); var nbCharges = _currentSpell.CurrentCharges; var color = Color.Orange; if (nbCharges == 0) { color = Color.Red; } else if (nbCharges == _currentSpell.MaxChares) { color = Color.GreenYellow; } new Text(nbCharges.ToString(), 16, color).Draw(p2, g); }
/// <summary> /// Affiche le nom courant de la sauvegarde et le texte environnant. /// </summary> /// <param name="shift"> La position de décalage, inutiilisée </param> /// <param name="g"> l'objet permettant de dessiner </param> public override void Draw(Point shift, Graphics g) { Screen.Draw(MenuState.ScreenPoint, g); TextTop.Draw(new Point(600, 200), g); _nameText.Draw(new Point(600, 280), g); TextBottom.Draw(new Point(600, 600), g); }
/// <summary> /// Dessine le bouton puis son texte. Si le bouton est en focus, son dessin est modifié. /// </summary> /// <param name="shift"> Le point de référence, pas utilisé car le bouton est en position absolue </param> /// <param name="g"> L'objet qui permet de dessiner </param> public override void Draw(Point shift, Graphics g) { if (_hasFocus) { ButtonFocusSprite.Draw(Position, g); } else { ButtonSprite.Draw(Position, g); } _text.Draw(Position - new Point(0, 70), g); }
/// <summary> /// Dessine l'image de fond puis affiche les boutons. /// </summary> /// <param name="shift"> La position de décalage, inutilisée </param> /// <param name="g"> L'objet permettant de dessiner </param> public override void Draw(Point shift, Graphics g) { _screen.Draw(ScreenPoint, g); ButtonsHandler?.Draw(shift, g); }