documentation classe équipage
continuous-integration/drone/push Build is passing Details

devGuillaume
Guillaume REY 2 years ago
parent a21f1685bd
commit c4b52324d2

@ -1,4 +1,10 @@
using System;
/// \file Equipage.cs
/// \brief Contient la définition de la classe Equipage.
///
/// La classe Equipage représente les différents équipages avec leur nom, leur région de création, quand on les voit pour la première fois dans le manga et dans l'anime, leur Statut (s'il est encore actif ou non) et une description de ce dernier.
///
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
@ -11,7 +17,13 @@ using System.Xml.Linq;
namespace Model.Classes
{
/// <summary>
/// Représente un équipage dans le modèle.
/// </summary>
[DataContract(Name = "equipage")]
/// <summary>
/// Représente un équipage héritant de la classe ObjetOhara.
/// </summary>
public class Equipage : ObjetOhara
{
[DataMember(Name = "nomromanise")]
@ -25,6 +37,11 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la région d'origine de l'équipage.
/// </summary>
/// <value>Une chaîne de caractères représentant la région d'origine de l'équipage.</value>
[DataMember(Name = "region")]
private string? region;
public string? Region {
@ -35,6 +52,11 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le numéro du premier chapitre de l'équipage.
/// </summary>
/// <value>Un entier représentant le numéro du premier chapitre de l'équipage.</value>
[DataMember(Name = "premierchap")]
private int premierchap;
public int PremierChap {
@ -45,6 +67,11 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le numéro du premier épisode de l'équipage.
/// </summary>
/// <value>Un entier représentant le numéro du premier épisode de l'équipage.</value>
[DataMember(Name = "premierep")]
private int premierep;
public int PremierEp {
@ -55,6 +82,11 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le statut de l'équipage.
/// </summary>
/// <value>Une valeur booléenne indiquant le statut de l'équipage.</value>
[DataMember(Name = "statut")]
private bool statut;
public bool Statut {
@ -65,6 +97,11 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit la description de l'équipage.
/// </summary>
/// <value>Une chaîne de caractères représentant la description de l'équipage.</value>
[DataMember(Name = "description")]
private string? description;
public string? Description {
@ -75,6 +112,11 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient ou définit le capitaine de l'équipage.
/// </summary>
/// <value>Un objet Personnage représentant le capitaine de l'équipage.</value>
[DataMember(Name = "capitaine")]
private Personnage? capitaine;
public Personnage? Capitaine {
@ -85,37 +127,82 @@ namespace Model.Classes
OnPropertyChanged();
}
}
/// <summary>
/// Obtient une collection en lecture seule des membres de l'équipage.
/// </summary>
/// <value>Une collection en lecture seule d'objets Personnage représentant les membres de l'équipage.</value>
[DataMember(Name = "membre")]
private ObservableCollection<Personnage> membre = new ObservableCollection<Personnage>();
public IReadOnlyCollection<Personnage> Membre { get=>membre; }
/// <summary>
/// Ajoute un membre à l'équipage.
/// </summary>
/// <param name="p">Le membre à ajouter à l'équipage.</param>
public void AjouterMembre(Personnage? p)
{
if(p!=null) membre.Add(p);
}
/// <summary>
/// Retire un membre de l'équipage.
/// </summary>
/// <param name="p">Le membre à retirer de l'équipage.</param>
public void RetirerMembre(Personnage? p)
{
if(p!=null) membre.Remove(p);
}
/// <summary>
/// Vide la liste des membres de l'équipage.
/// </summary>
public void ViderMembre() => membre.Clear();
/// <summary>
/// Obtient une collection en lecture seule des équipages alliés.
/// </summary>
/// <value>Une collection en lecture seule d'objets Equipage représentant les équipages alliés.</value>
[DataMember(Name = "allie")]
private ObservableCollection<Equipage> allie = new ObservableCollection<Equipage>();
public IReadOnlyCollection<Equipage> Allie { get => allie; }
/// <summary>
/// Ajoute un équipage allié.
/// </summary>
/// <param name="p">L'équipage allié à ajouter.</param>
public void AjouterAllie(Equipage? p)
{
if (p != null) allie.Add(p);
}
/// <summary>
/// Retire un équipage allié.
/// </summary>
/// <param name="p">L'équipage allié à retirer.</param>
public void RetirerAllie(Equipage? p)
{
if (p != null) allie.Remove(p);
}
/// <summary>
/// Vide la liste des équipages alliés.
/// </summary>
public void ViderAllie() => allie.Clear();
/// <summary>
/// Initialise une nouvelle instance de la classe Equipage avec les valeurs spécifiées.
/// </summary>
/// <param name="nom">Le nom de l'équipage.</param>
/// <param name="nomRomanise">Le nom romanisé de l'équipage.</param>
/// <param name="region">La région d'origine de l'équipage.</param>
/// <param name="premierChap">Le numéro du premier chapitre de l'équipage.</param>
/// <param name="premierEp">Le numéro du premier épisode de l'équipage.</param>
/// <param name="statut">Le statut de l'équipage.</param>
/// <param name="description">La description de l'équipage.</param>
public Equipage(string nom, string nomRomanise, string region, int premierChap, int premierEp, bool statut, string description) : base(nom)
{
@ -142,6 +229,17 @@ namespace Model.Classes
Description = description;
}
/// <summary>
/// Initialise une nouvelle instance de la classe Equipage avec les valeurs spécifiées, y compris une image personnalisée.
/// </summary>
/// <param name="nom">Le nom de l'équipage.</param>
/// <param name="nomRomanise">Le nom romanisé de l'équipage.</param>
/// <param name="region">La région d'origine de l'équipage.</param>
/// <param name="premierChap">Le numéro du premier chapitre de l'équipage.</param>
/// <param name="premierEp">Le numéro du premier épisode de l'équipage.</param>
/// <param name="statut">Le statut de l'équipage.</param>
/// <param name="description">La description de l'équipage.</param>
/// <param name="image">Le chemin d'accès ou le nom de l'image personnalisée de l'équipage.</param>
public Equipage(string nom, string nomRomanise, string region, int premierChap, int premierEp, bool statut, string description, string image) : this(nom, nomRomanise, region, premierChap, premierEp, statut, description)
{
@ -152,6 +250,11 @@ namespace Model.Classes
Image = image;
}
/// <summary>
/// Détermine si l'objet spécifié est identique à l'équipage actuel.
/// </summary>
/// <param name="obj">L'objet à comparer avec l'équipage actuel.</param>
/// <returns>True si l'objet spécifié est identique à l'équipage actuel, sinon False.</returns>
public override bool Equals(object? obj)
{
@ -167,12 +270,20 @@ namespace Model.Classes
}
}
/// <summary>
/// Retourne le code de hachage de l'équipage.
/// </summary>
/// <returns>Le code de hachage de l'équipage.</returns>
public override int GetHashCode()
{
return HashCode.Combine(NomRomanise, Region, PremierChap, PremierEp, Statut, Description);
}
/// <summary>
/// Retourne une représentation sous forme de chaîne de caractères de l'équipage.
/// </summary>
/// <returns>Une représentation sous forme de chaîne de caractères de l'équipage.</returns>
public override string ToString()
{

Loading…
Cancel
Save