Esempio n. 1
0
 public Task <int> SaveItemAsync(Entite item)
 {
     if (item.IdEntite != 0)
     {
         return(dbConn.UpdateAsync(item));
     }
     else
     {
         return(dbConn.InsertAsync(item));
     }
 }
        public async Task <IActionResult> Create([Bind("EntiteId,FormId,FirstName,LastName,CompanyName,Phone,Email,Address,City,Country,PostalCode,DateCompletion")] Entite entite)
        {
            if (ModelState.IsValid)
            {
                _context.Add(entite);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(entite));
        }
Esempio n. 3
0
        /// <summary>
        /// Creation des entités temporaires.
        /// </summary>
        public void MontrerCartesDeplacement()
        {
            /*
             * Dans le cas où un effet est un déplacement de carte,
             * on montre la position dans laquelle la carte va pouvoir potentiellement être.
             */
            if (numeroEffet == -2 || numeroEffet == -3)
            {
                GameObject CarteDeplacee = FindCardWithID(IDObjectCardGame);
                GameObject newCarte      = Instantiate(CarteDeplacee);
                if (newCarte.GetComponent <CarteType>().thisCarteType == CarteType.Type.ENTITE)
                {
                    Entite           _entite           = newCarte.GetComponent <Entite>();
                    EntiteTemporaire _entiteTemporaire = newCarte.AddComponent <EntiteTemporaire>();
                    _entiteTemporaire.setInfoEntiteTemporaire(_entite);
                    Destroy(_entite);
                }
                else if (newCarte.GetComponent <CarteType>().thisCarteType == CarteType.Type.ASSISTANCE)
                {
                    Assistance           _assist           = newCarte.GetComponent <Assistance>();
                    AssistanceTemporaire _assistTemporaire = newCarte.AddComponent <AssistanceTemporaire>();
                    _assistTemporaire.setInfoEntiteTemporaire(_assist);
                    Destroy(_assist);
                }
                if (numeroEffet == -2)
                {
                    // Deplacement vers le board.
                    Transform ChampBataille;
                    ChampBataille = FindPlayerWithID(PlayerIDAssocie).GetComponent <Player>().GetChampBatailleJoueur();
                    newCarte.transform.SetParent(ChampBataille, false);
                    ChampBataille.gameObject.GetComponent <CartesBoard>().CmdReordonnerCarte();
                    if (newCarte.GetComponent <CarteType>().thisCarteType == CarteType.Type.ENTITE)
                    {
                        newCarte.GetComponent <EntiteTemporaire>().carteState = Entite.State.CHAMPBATAILLE;
                    }
                    else if (newCarte.GetComponent <CarteType>().thisCarteType == CarteType.Type.ASSISTANCE)
                    {
                        newCarte.GetComponent <AssistanceTemporaire>().carteState = Assistance.State.JOUEE;
                    }
                }
                else if (numeroEffet == -3)
                {
                    // Deplacement vers le sanctuaire.
                    Transform Sanctuaire;
                    Sanctuaire = FindPlayerWithID(PlayerIDAssocie).GetComponent <Player>().GetSanctuaireJoueur();
                    newCarte.transform.SetParent(Sanctuaire, false);
                    Sanctuaire.gameObject.GetComponent <Sanctuaire>().ReordonnerCarte();
                    newCarte.GetComponent <EntiteTemporaire>().carteState = Entite.State.SANCTUAIRE;
                }

                // Dans tous les cas on montre l'apparition de la carte.
                newCarte.GetComponent <CarteAnimation>().AnimationDebut(0.5f);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Ecrit les messages relatifs au combat dans la console
        /// </summary>
        /// <param name="personnage">Personnage effectuant l'attaque</param>
        /// <param name="entite">Entité subissant les dommages</param>
        public void LogDeCombat(Personnages personnage, Entite entite)
        {
            string messageDegats = "Le " + entite.Nom + " " + entite.Identifiant + " a subit " +
                                   personnage.Degats + " de dégat du " + personnage.Nom + " " + personnage.Identifiant;

            string messageVie = "Il reste " + entite.VieActuelle + " point de vie a l'entite " + entite.Nom +
                                " " + entite.Identifiant;

            Console.WriteLine(messageDegats);
            Console.WriteLine(messageVie);
        }
Esempio n. 5
0
        public async Task <IActionResult> Create([Bind("ID,Name,CollaborateurID")] Entite entite)
        {
            if (ModelState.IsValid)
            {
                _context.Add(entite);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CollaborateurID"] = new SelectList(_context.Collaborateurs, "ID", "FullName", entite.CollaborateurID);
            return(View(entite));
        }
Esempio n. 6
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Entite = await _context.Entite.SingleOrDefaultAsync(m => m.EntiteId == id);

            if (Entite == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Esempio n. 7
0
        public void setInfoEntiteTemporaire(Entite _entite)
        {
            Name       = _entite.Name;
            IDCardGame = _entite.IDCardGame;
            shortCode  = _entite.shortCode;

            // Comme l'entité est temporaire, on l'indique aussi avec un alpha de 1/2
            Color ancienneCouleur = GetComponent <SpriteRenderer>().color;

            GetComponent <SpriteRenderer>().color = new Color(ancienneCouleur.r, ancienneCouleur.g, ancienneCouleur.b, 0.5f);

            gameObject.tag = "CarteTemporaire";

            GetComponent <ImageCardBattle>().setImage(shortCode);
            GetComponent <CarteType>().thisCarteType = CarteType.Type.ENTITE_TEMPORAIRE;
            GetComponent <CarteType>().instanciee    = false;
        }
Esempio n. 8
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Entite = await _context.Entite.FindAsync(id);

            if (Entite != null)
            {
                _context.Entite.Remove(Entite);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Esempio n. 9
0
        public Game(Connexion connexion)
        {
            _connexion   = connexion;
            _utilisateur = new Utilisateur();
            _hero        = new Hero();
            _entite      = new Entite(_connexion.DbAccess);

            _utilisateur = _entite.RecevoirUtilisateur();
            _hero        = _utilisateur.Heroes.FirstOrDefault();
            InitializeComponent();
            lblUsername.Text = _utilisateur.Username;

            //Ajout des heros au combobox.
            lstHeros = _utilisateur.Heroes.ToList();

            for (int i = 0; i < lstHeros.Count; i++)
            {
                cmbHeros.Items.Add(lstHeros[i].Utilisateur.Nom);
            }
        }
Esempio n. 10
0
        // Use this for initialization

        void Start()
        {
            try {
                if (GetComponent <Entite>() != null)
                {
                    CarteScript = GetComponent <Entite>();
                    GetComponent <ImageCard>().setImage(CarteScript.shortCode);
                }
                else if (GetComponent <Sort>() != null)
                {
                    SortScript = GetComponent <Sort>();
                    GetComponent <ImageCard>().setImage(SortScript.shortCode);
                }
                else if (GetComponent <Assistance>() != null)
                {
                    AssistanceScript = GetComponent <Assistance>();
                    GetComponent <ImageCard>().setImage(AssistanceScript.shortCode);
                }
            }
            catch (NullReferenceException) {
                Debug.Log("Mince alors");
            }
        }
Esempio n. 11
0
        public void Sauvegarder()
        {
            Directory.CreateDirectory("C:\\tempMinecraftTest\\");
            Joueur j1 = new Joueur(100, -512);

            j1.Casque                = new CasqueCuire();
            j1.Plastron              = new PlastronFer();
            j1.Jambiere              = new JambiereOr();
            j1.Botte                 = new BotteDiamant();
            j1.Casque.Durabiliter   -= 5;
            j1.Plastron.Durabiliter -= 10;
            j1.Jambiere.Durabiliter -= 15;
            j1.Botte.Durabiliter    -= 20;
            j1.AjouterItem(new PlancheDeChene(5));
            Sacados it = new Sacados();

            it.Inventaire.AjouterItem(new PlancheDeChene(5));
            j1.AjouterItem(it);
            j1.Sauvegarder("C:\\tempMinecraftTest\\");
            Joueur j2 = Entite.Entites()[new Joueur(0, 0).id()].Charger("C:\\tempMinecraftTest\\") as Joueur;

            Assert.IsTrue(j1.Equals(j2));
            Directory.Delete("C:\\tempMinecraftTest\\", true);
        }
Esempio n. 12
0
 public Task <int> DeleteItemAsync(Entite item)
 {
     return(dbConn.DeleteAsync(item));
 }
Esempio n. 13
0
 /// <summary>
 /// Définition d'une entité temporaire à partir d'une autre entité.
 /// </summary>
 /// <param name="_entite"></param>
 public EntiteTemporaire(Entite _entite)
 {
     setInfoEntiteTemporaire(_entite);
 }
Esempio n. 14
0
        public static void CreerDomain(XmlDocument doc, XmlNamespaceManager nsmgr, string path, string nomProjet)
        {
            var subFolder = path + "\\" + "Domain";

            Directory.CreateDirectory(subFolder);
            var InterfaceRegistreFolder = subFolder + "\\" + "Interfaces de registre";

            Directory.CreateDirectory(InterfaceRegistreFolder);
            foreach (InterfaceRegistre i in InterfaceRegistre.InterfacesRegistre(doc, nsmgr))
            {
                string       chemin = InterfaceRegistreFolder + "\\" + i.Nom.Trim() + ".cs";
                FileStream   stream = new FileStream(chemin, FileMode.Append, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);
                using (writer)
                    writer.WriteLine(" namespace" + " " + nomProjet + ".Domain.Interfaces.de.Registre" + "\r\n" + "{");
                writer.WriteLine(i.ToString());
                writer.WriteLine("}");
            }

            var interfaceServiceExterneFolder = subFolder + "\\" + "Interfaces de services externes";

            Directory.CreateDirectory(interfaceServiceExterneFolder);
            foreach (InterfaceServiceExterne i in InterfaceServiceExterne.InterfacesServicesExternes(doc, nsmgr))
            {
                string       chemin = interfaceServiceExterneFolder + "\\" + i.Nom.Trim() + ".cs";
                FileStream   stream = new FileStream(chemin, FileMode.Append, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);
                using (writer)
                    writer.WriteLine(" namespace" + " " + nomProjet + ".Domain.Interfaces.de.Services.Externes" + "\r\n" + "{");
                writer.WriteLine(i.ToString());
                writer.WriteLine("}");
            }

            var registreFolder = subFolder + "\\" + "Registre";

            Directory.CreateDirectory(registreFolder);
            foreach (Registre r in Registre.Registres(doc, nsmgr))
            {
                string       chemin = registreFolder + "\\" + r.Nom.Trim() + ".cs";
                FileStream   stream = new FileStream(chemin, FileMode.Append, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);
                using (writer)
                    writer.WriteLine(" namespace" + " " + nomProjet + ".Domain.Registre" + "\r\n" + "{" + r.ToString() + "}");
            }


            var EntiteFolder = subFolder + "\\" + "Entites";

            Directory.CreateDirectory(EntiteFolder);
            foreach (Entite e in Entite.Entites(doc, nsmgr))
            {
                string       chemin = EntiteFolder + "\\" + e.Nom.Trim() + ".cs";
                FileStream   stream = new FileStream(chemin, FileMode.Append, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);
                using (writer)
                    writer.WriteLine(" namespace" + " " + nomProjet + ".Domain.Entites" + "\r\n" + "{");
                writer.WriteLine(e.ToString());
                writer.WriteLine("}");
                writer.Close();
            }
        }
Esempio n. 15
0
 /// <summary>
 /// Effectue l'attaque d'un personnage sur une entité.
 /// </summary>
 /// <param name="personnages"> Personnage effectuant l'attaque </param>
 /// <param name="entite"> Entite recevant les dommages</param>
 public void PersonnagesAttaque(Personnages personnages, Entite entite)
 {
     personnages.Attaque();
     entite.SubitDegats(personnages.Degats);
 }
Esempio n. 16
0
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if (EcranDeJeu.Ecran == Ecrans.Jeu)
            {
                int w = (Memoire.form.ClientSize.Width / (16 * Sauvegarde.zoom_Block)) * 16 * Sauvegarde.zoom_Block;
                int h = (Memoire.form.ClientSize.Height / (16 * Sauvegarde.zoom_Block)) * 16 * Sauvegarde.zoom_Block;
                int x = (int)Math.Round(Sauvegarde.joueur.X - (w / 2f - e.X) / (16f * Sauvegarde.zoom_Block));
                int y = (int)Math.Round(Sauvegarde.joueur.Y + (h / 2f - e.Y) / (16f * Sauvegarde.zoom_Block));

                Block block = Sauvegarde.monde.GetBlock(x, y, false);

                if (block != null)
                {
                    if (!EcranDeJeu.CanSeeBlock(x, y, Sauvegarde.monde))
                    {
                        block = null;
                    }
                }

                Entite ent     = Sauvegarde.monde.GetEntite(x, y);
                bool   doBlock = true;

                Item item = Sauvegarde.joueur.Barre.GetItem(Sauvegarde.joueur.Maindroite);
                if (item != null)
                {
                    if (e.Button == MouseButtons.Right)
                    {
                        Tuple <bool, Tuple <Ecrans, object> > b = item.CliqueDroite(Sauvegarde.joueur, x, y, block, ((x == Sauvegarde.joueur.X && y == Sauvegarde.joueur.Y) ? Sauvegarde.joueur : ent), Sauvegarde.monde);
                        doBlock = b.Item1;
                        if (item.Quantite <= 0)
                        {
                            Sauvegarde.joueur.Barre.SetItem(Sauvegarde.joueur.Maindroite, null);
                        }
                        if (b.Item2 != null)
                        {
                            EcranDeJeu.ChangerEcran(b.Item2.Item1, b.Item2.Item2);
                        }
                        else
                        {
                            Actualiser();
                            EcranDeJeu.ActuHotBarre();
                        }
                    }
                    if (e.Button == MouseButtons.Left)
                    {
                        Tuple <bool, Tuple <Ecrans, object> > b = item.CliqueGauche(Sauvegarde.joueur, x, y, block, ((x == Sauvegarde.joueur.X && y == Sauvegarde.joueur.Y) ? Sauvegarde.joueur : ent), Sauvegarde.monde);
                        doBlock = b.Item1;
                        if (b.Item2 != null)
                        {
                            EcranDeJeu.ChangerEcran(b.Item2.Item1, b.Item2.Item2);
                        }
                        else
                        {
                            Actualiser();
                            EcranDeJeu.ActuHotBarre();
                        }
                    }
                }


                if (ent != null && doBlock)
                {
                    if (e.Button == MouseButtons.Right)
                    {
                        Tuple <Ecrans, object> temp = ent.CliqueDroite(Sauvegarde.joueur);
                        if (temp != null)
                        {
                            EcranDeJeu.ChangerEcran(temp.Item1, temp.Item2);
                            doBlock = false;
                        }
                    }
                    if (e.Button == MouseButtons.Left)
                    {
                        if (ent.CliqueGauche(Sauvegarde.joueur, 1, Sauvegarde.monde))
                        {
                            if (!Sauvegarde.monde.Entites.Contains(Sauvegarde.joueur))
                            {
                                Memoire.CreateWorld();
                                return;
                            }
                            Actualiser();
                            EcranDeJeu.ActuHotBarre();
                        }
                    }
                }

                if (block != null && doBlock)
                {
                    if (e.Button == MouseButtons.Left)
                    {
                        if (block.Detruire(Sauvegarde.joueur))
                        {
                            Sauvegarde.joueur.Faim -= 0.1f;
                            Sauvegarde.monde.SetBlock(x, y, null);
                            Entite[] ents = Sauvegarde.monde.Entites.ToArray();
                            foreach (Entite enti in ents)
                            {
                                int i = -3;
                                while (true)
                                {
                                    Block b = Sauvegarde.monde.GetBlock((int)enti.X, (int)enti.Y - 1, false);
                                    if (b == null || b.CanPassThrough(enti, true))
                                    {
                                        i++;
                                        enti.Bouger(0, -1, Sauvegarde.monde);
                                    }
                                    else
                                    {
                                        break;
                                    }
                                }
                                if (i > 0)
                                {
                                    enti.Vie -= i;
                                    if (enti.Vie <= 0)
                                    {
                                        if (enti == Sauvegarde.joueur)
                                        {
                                            Memoire.CreateWorld();
                                            return;
                                        }
                                        Sauvegarde.monde.Entites.Remove(enti);
                                    }
                                }
                            }
                            Actualiser();
                            EcranDeJeu.ActuHotBarre();
                        }
                    }
                    if (e.Button == MouseButtons.Right)
                    {
                        Tuple <bool, Tuple <Ecrans, object> > invs = block.CliqueDroit(Sauvegarde.joueur);
                        if (invs != null)
                        {
                            if (invs.Item1)
                            {
                                if (invs.Item2 != null)
                                {
                                    EcranDeJeu.ChangerEcran(invs.Item2.Item1, invs.Item2.Item2);
                                }
                                Actualiser();
                                if (EcranDeJeu.Ecran == Ecrans.Jeu)
                                {
                                    EcranDeJeu.ActuHotBarre();
                                }
                            }
                        }
                    }
                }
            }
        }
Esempio n. 17
0
        /// <summary>
        /// Prend en entrée l'information reçu par la base de données sous forme de GS Data
        /// Et attache à un objet un script contenant cette information.
        /// Puis ajoute la carte à un deck.
        /// </summary>
        /// <param name="newCarte">L'objet sur lequel mettre l'information</param>
        /// <param name="data">L'information</param>
        /// <param name="ID"></param>
        void GSDataToCard(GameObject newCarte, GSData data, string ID = "")
        {
            if (newCarte.GetComponent <CarteType>() != null)
            {
                newCarte.GetComponent <CarteType>().setTypeFromString(data.GetString("type"));
            }
            else
            {
                // Debug.Log("Le Composant n'a pas été trouvé");
            }
            if (data.GetString("type") == "entité" || data.GetString("type") == "entite")
            {
                // Dans le cas d'une carte entité
                Entite _entite = newCarte.AddComponent <Entite>();
                _entite.coutElementaire = data.GetInt("COUT").Value;
                _entite.STAT            = data.GetInt("STAT").Value;
                _entite.shortCode       = data.GetString("shortCode");
                _entite.Name            = data.GetString("name");
                // Il faut maintenant récupérer les éléments de la base de données qui sont sous la forme
                // Nature : Nature/Ascendance/Element
                string[] informationsNature = data.GetString("Nature").Split('/');
                try {
                    _entite.EntiteNature     = stringToNature(informationsNature[0], _entite.Name);
                    _entite.EntiteAscendance = stringToAscendance(informationsNature[1]);
                    _entite.EntiteElement    = stringToElement(informationsNature[2]);
                }
                catch (IndexOutOfRangeException e) {
                    Debug.LogWarning(e + "Il y a un probleme dans la base de données.");
                }
                _entite.stringToEffetList(data.GetString("Effet"));
                _entite.stringToEffetAstral(data.GetString("Astral"));
                _entite.stringToEffetMalefique(data.GetString("Malefique"));
                _entite.stringToEffetAstralString(data.GetString("AstralString"));
                _entite.stringToEffetMalefiqueString(data.GetString("MalefiqueString"));
                _entite.stringToEffetString(data.GetString("EffetString"));
                _entite.AllEffetsString          = data.GetString("Effet");
                _entite.AllEffetsAstralString    = data.GetString("Astral");
                _entite.AllEffetsMalefiqueString = data.GetString("Malefique");
                _entite.CoutAKA = data.GetInt("AKA").Value;

                if (data.GetString("oID") != null)
                {
                    /*
                     * Une fois que la carte a été instanciée sur le réseau, c'est la fonction
                     * GetCardByIdSparks qui est appelée.
                     * Elle recherche la carte dans la metaCollection et dans ce cas il n'y a pas de oID.
                     * Mais elle n'est plus nécessaire une fois la carte jouée et instanciée.
                     */
                    //Debug.Log(data.GetInt("card_ID").Value);
                    _entite.oID        = data.GetString("oID");
                    _entite.IDAllCards = data.GetInt("card_ID").Value;
                }
                if (ID != "")
                {
                    // L'oID de la carte peut être utile dans le cas où on aurait changé des élements sur la carte
                    // et qu'on voudrait récupérer les infos de base.
                    //Debug.Log("On set l'OID de la carte" + ID);
                    _entite.oID = ID;
                }
            }
            else if (data.GetString("type") == "emanation")
            {
                // Dans le cas d'une carte entité
                // TODO : On pourrait peut-être regrouper entité et emanation.
                Emanation _carte = newCarte.AddComponent <Emanation>();
                _carte.coutElementaire = data.GetInt("COUT").Value;
                _carte.STAT            = data.GetInt("STAT").Value;
                _carte.shortCode       = data.GetString("shortCode");
                _carte.Name            = data.GetString("name");
                string[] informationsNature = data.GetString("Nature").Split('/');
                try {
                    _carte.EntiteNature     = stringToNature(informationsNature[0]);
                    _carte.EntiteAscendance = stringToAscendance(informationsNature[1]);
                    _carte.EntiteElement    = stringToElement(informationsNature[2]);
                }
                catch (IndexOutOfRangeException e) {
                    Debug.LogWarning(e + "Il y a un probleme dans la base de données.");
                }
                _carte.stringToEffetList(data.GetString("Effet"));
                _carte.stringToEffetAstral(data.GetString("Astral"));
                _carte.stringToEffetMalefique(data.GetString("Malefique"));
                _carte.stringToEffetAstralString(data.GetString("AstralString"));
                _carte.stringToEffetMalefiqueString(data.GetString("MalefiqueString"));
                _carte.stringToEffetString(data.GetString("EffetString"));
                _carte.AllEffetsString          = data.GetString("Effet");
                _carte.AllEffetsAstralString    = data.GetString("Astral");
                _carte.AllEffetsMalefiqueString = data.GetString("Malefique");
                _carte.CoutAKA = data.GetInt("AKA").Value;

                if (data.GetString("oID") != null)
                {
                    /*
                     * Une fois que la carte a été instanciée sur le réseau, c'est la fonction
                     * GetCardByIdSparks qui est appelée.
                     * Elle recherche la carte dans la metaCollection et dans ce cas il n'y a pas de oID.
                     * Mais elle n'est plus nécessaire une fois la carte jouée et instanciée.
                     */
                    //Debug.Log(data.GetInt("card_ID").Value);
                    _carte.oID        = data.GetString("oID");
                    _carte.IDAllCards = data.GetInt("card_ID").Value;
                }
                if (ID != "")
                {
                    // L'oID de la carte peut être utile dans le cas où on aurait changé des élements sur la carte
                    // et qu'on voudrait récupérer les infos de base.
                    //Debug.Log("On set l'OID de la carte" + ID);
                    _carte.oID = ID;
                }
            }
            else if (data.GetString("type") == "sort")
            {
                // Dans le cas d'une carte sort
                Sort _sort = newCarte.AddComponent <Sort>();
                _sort.shortCode = data.GetString("shortCode");
                _sort.Name      = data.GetString("name");
                _sort.Niveau    = data.GetInt("Niveau").Value;
                //_sort.Effet = data.GetString("Effet");
                //_sort.Condition = data.GetString("Condition");
                _sort.ConditionSort = data.GetString("Condition");
                _sort.stringToEffetList(data.GetString("Effet"));
                _sort.AllEffetsString = data.GetString("Effet");
                _sort.stringToEffetString(data.GetString("EffetString"));

                if (data.GetString("oID") != null)
                {
                    _sort.IDAllCards = data.GetInt("card_ID").Value;
                    _sort.oID        = data.GetString("oID");
                }
                if (ID != "")
                {
                    // L'oID de la carte peut être utile dans le cas où on aurait changé des élements sur la carte
                    // et qu'on voudrait récupérer les infos de base.
                    //Debug.Log("On set l'OID de la carte" + ID);
                    _sort.oID = ID;
                }
                newCarte.tag = "Sort";
            }
            else if (data.GetString("type") == "assistance")
            {
                Assistance _assistance = newCarte.AddComponent <Assistance>();
                _assistance.shortCode = data.GetString("shortCode");
                _assistance.Name      = data.GetString("name");
                _assistance.Puissance = data.GetInt("STAT").Value;
                _assistance.stringToEffetList(data.GetString("Effet"));
                _assistance.AllEffetsString = data.GetString("Effet");
                _assistance.stringToEffetString(data.GetString("EffetString"));
                if (data.GetString("oID") != null)
                {
                    _assistance.IDAllCards = data.GetInt("card_ID").Value;
                    _assistance.oID        = data.GetString("oID");
                }
                if (ID != "")
                {
                    // L'oID de la carte peut être utile dans le cas où on aurait changé des élements sur la carte
                    // et qu'on voudrait récupérer les infos de base.
                    //Debug.Log("On set l'OID de la carte" + ID);
                    _assistance.oID = ID;
                }
                newCarte.tag = "Assistance";
            }
            else
            {
                throw new Exception("Type de carte inconnu");
            }
            deck.Add(newCarte);
        }