Ejemplo n.º 1
0
        public void CreerObjetMonde(ObjetMonde objMonde)
        {
            try
            {
                using (EntitiesGEDEquipe1 contexte = new EntitiesGEDEquipe1())
                {
                    // Ajouter l'item dans le monde demandé
                    ObjetMonde objNew = new ObjetMonde()
                    {
                        x           = objMonde.x,
                        y           = objMonde.y,
                        TypeObjet   = objMonde.TypeObjet,
                        MondeId     = objMonde.MondeId,
                        Description = objMonde.Description
                    };

                    if (objNew.y > -1 && objNew.x > -1)
                    {
                        contexte.ObjetMondes.Add(objNew);
                        contexte.SaveChanges();
                        RetournerObjetMonde();
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Ejemplo n.º 2
0
        // Modification de la description d'un objet présent dans un monde
        public ObjetMonde ModifierObjetMonde(ObjetMonde objetMonde, string description)
        {
            ObjetMonde objetMondeDB = new ObjetMonde();

            using (EntitiesGEDEquipe1 contexte = new EntitiesGEDEquipe1())
            {
                try
                {
                    objetMondeDB = contexte.ObjetMondes.FirstOrDefault(x => x.Id == objetMonde.Id);
                    if (objetMondeDB != null)
                    {
                        objetMondeDB.Description = description;
                        contexte.SaveChanges();
                        return(objetMondeDB);
                    }
                    else
                    {
                        LstErreursObjetMondes.Add("Erreur dans la méthode \'ModifierObjetMonde\' : ObjetMonde inexistant!");
                        objetMondeDB.Description = description + " bugModif";
                        CréerObjetMonde(objetMondeDB);
                        return(objetMondeDB);
                    }
                }
                catch (Exception ex)
                {
                    LstErreursObjetMondes.Add("Erreur dans la méthode \'ModifierObjetMonde\' : " + ex.Message);
                    objetMondeDB.Description = description + " bugModif";
                    CréerObjetMonde(objetMondeDB);
                    return(objetMondeDB);
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructeur
 /// </summary>
 public cObjetMonde(string description, int type, int x, int y)
 {
     _objet             = new ObjetMonde();
     _objet.Description = description;
     _objet.TypeObjet   = type;
     // Ajouter une condition ?
     _objet.x = x;
     _objet.y = y;
 }
Ejemplo n.º 4
0
        // Supression d'un Objet présent dans un monde
        public ObjetMonde SupprimerObjetMonde(ObjetMonde objetMonde)
        {
            bool echecSauvegarde = false;
            byte nombreEchec     = 0;

            do
            {
                try
                {
                    using (EntitiesGEDEquipe1 contexte = new EntitiesGEDEquipe1())
                    {
                        if (contexte.ObjetMondes.Any(x => x.Id == objetMonde.Id))
                        {
                            contexte.ObjetMondes.Remove(contexte.ObjetMondes.FirstOrDefault(x => x.Id == objetMonde.Id));
                            try
                            {
                                contexte.SaveChanges();
                            }
                            catch (Exception ex)
                            {
                                echecSauvegarde = true;
                                nombreEchec++;
                                if (nombreEchec == byte.MaxValue)
                                {
                                    echecSauvegarde = false;
                                    LstErreursObjetMondes.Add("Erreur dans la méthode \'SupprimerObjetMonde\' : " + ex.Message);
                                }
                            }
                        }
                        else
                        {
                            LstErreursObjetMondes.Add("Erreur dans la méthode \'SupprimerObjetMonde\' : ObjetMonde inexistant!");
                        }

                        echecSauvegarde = false;
                    }
                }
                catch (Exception ex)
                {
                    echecSauvegarde = true;
                    nombreEchec++;
                    if (nombreEchec > 10)
                    {
                        echecSauvegarde = false;
                        LstErreursObjetMondes.Add("Erreur dans la méthode \'SupprimerObjetMonde\' : " + ex.Message);
                    }
                }
            } while (echecSauvegarde);

            return(new ObjetMonde());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Auteur : Marc-André Landry
        ///
        /// Delete an object from the world by its ID
        /// </summary>
        /// <param name="iID">The ID of the object you want to destroy</param>
        /// <param name="mondeid">Id du monde</param>
        public void DeleteObjectMonde(int objectMondeId, int mondeid)
        {
            Monde      monde    = db.Mondes.FirstOrNull(c => c.Id == mondeid);
            ObjetMonde objMonde = db.ObjetMondes.FirstOrNull(o => o.Id == objectMondeId);

            if (objMonde == null || monde == null)
            {
                return;
            }

            db.ObjetMondes.Remove(objMonde);
            monde.ObjetMondes.Remove(objMonde);
            db.SaveChanges();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Auteur : Marc-André Landry
        /// Modifi la description d'un object monde avec son ID
        /// </summary>
        /// <param name="iID">Id de l'objet</param>
        /// <param name="sDescription">Nouvelle description</param>
        public void EditObjectMondeDescription(int objectMondeId, string sDescription)
        {
            ObjetMonde objMonde = db.ObjetMondes.Find(objectMondeId);

            if (objMonde == null)
            {
                return;
            }
            else
            {
                objMonde.Description = sDescription;
            }

            db.SaveChanges();
        }
Ejemplo n.º 7
0
        // Modification d'un objetMonde lors d'un changement dans la bd
        public void ModificationObjetMonde(string tileName, int TileID, int itemID)
        {
            try
            {
                using (EntitiesGEDEquipe1 contexte = new EntitiesGEDEquipe1())
                {
                    ObjetMonde objMonde = contexte.ObjetMondes.FirstOrDefault(x => x.Id == itemID);
                    objMonde.Description = tileName;
                    objMonde.TypeObjet   = TileID;

                    contexte.SaveChanges();
                    RetournerObjetMonde();
                }
            }
            catch (Exception)
            {
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Auteur : Marc-André Landry
        /// Create an object (ex: scenery, rock, water, etc) in the world
        /// </summary>
        /// <param name="iX">Where should your object be put m8? (x)</param>
        /// <param name="iY">Where should your object be put m8? (y)</param>
        /// <param name="sDescription">Gimme a small description of your object mate</param>
        /// <param name="iTypeObjet">What's the type of your object (WARNING : integers)</param>
        /// <param name="iMondeId">The ID of your world</param>
        public void CreateObjectMonde(int iX, int iY, string sDescription, int iTypeObjet, int iMondeId)
        {
            var Monde = db.Mondes.FirstOrNull(c => c.Id == iMondeId);

            if (Monde == null)
            {
                return;
            }
            ObjetMonde objMonde = new ObjetMonde()
            {
                x           = iX,
                y           = iY,
                Description = sDescription,
                TypeObjet   = iTypeObjet,
                MondeId     = iMondeId
            };

            db.ObjetMondes.Add(objMonde);
            Monde.ObjetMondes.Add(objMonde);
            db.SaveChanges();
        }
Ejemplo n.º 9
0
        // Création d'un Objet présent dans un monde
        public void CréerObjetMonde(ObjetMonde objetMonde)
        {
            bool echecSauvegarde = false;
            byte nombreEchec     = 0;

            do
            {
                try
                {
                    using (EntitiesGEDEquipe1 contexte = new EntitiesGEDEquipe1())
                    {
                        if (objetMonde.Description != null && objetMonde.x >= 0 && objetMonde.y >= 0 &&
                            !(contexte.ObjetMondes.Any(x => x.Id == objetMonde.Id)) &&
                            objetMonde.TypeObjet >= 0 && contexte.Mondes.Any(x => x.Id == objetMonde.MondeId))
                        {
                            contexte.ObjetMondes.Add(objetMonde);
                            contexte.SaveChanges();
                        }
                        else
                        {
                            LstErreursObjetMondes.Add("Erreur dans la méthode \'CréerObjetMonde\' : Monde non existant ou données invalides");
                        }

                        echecSauvegarde = false;
                    }
                }
                catch (Exception ex)
                {
                    echecSauvegarde = true;
                    nombreEchec++;
                    if (nombreEchec > 10)
                    {
                        echecSauvegarde = false;
                        LstErreursObjetMondes.Add("Erreur dans la méthode \'CréerObjetMonde\' : " + ex.Message);
                    }
                }
            } while (echecSauvegarde);
        }
Ejemplo n.º 10
0
        private void modificationMap(int x, int y, int tileID)
        {
            if (m_Map.getMapTileType(y, x) == tileID)
            {
                return;
            }


            Tile       tileSelected    = m_TileLibrary.ObjMonde.Values.Where(c => c.IndexTypeObjet == tileID).First();
            Tile       tileUnder       = m_TileLibrary.ObjMonde.Values.Where(c => c.IndexTypeObjet == m_Map.getMapTileType(y, x)).First();
            ObjetMonde objOriginal     = m_DObj.Keys.ToList().Where(c => c.x == x && c.y == y).FirstOrDefault();
            Monstre    monstreOriginal = m_DMonstre.Keys.ToList().Where(c => c.x == x && c.y == y).FirstOrDefault();
            Item       itemOriginal    = m_DItem.Keys.ToList().Where(c => c.x == x && c.y == y).FirstOrDefault();
            string     testOriginality = "";

            if (objOriginal != null)
            {
                testOriginality = m_DObj[objOriginal];
            }
            else if (monstreOriginal != null)
            {
                testOriginality = m_DMonstre[monstreOriginal];
            }
            else if (itemOriginal != null)
            {
                testOriginality = m_DItem[itemOriginal];
            }

            if (tileSelected.IndexTypeObjet == 32)
            {
                if (testOriginality == "MODIFIED" || testOriginality == "ORIGINAL")
                {
                    if (tileUnder.TypeObjet == TypeTile.ObjetMonde)
                    {
                        m_OBJ.Add(m_DObj.Keys.Where(c => c.x == x && c.y == y).First());
                        m_DObj.Remove(m_DObj.Keys.Where(c => c.x == x && c.y == y).First());
                        return;
                    }
                    else if (tileUnder.TypeObjet == TypeTile.Item)
                    {
                        m_li.Add(m_DItem.Keys.Where(c => c.x == x && c.y == y).First());
                        m_DItem.Remove(m_DItem.Keys.Where(c => c.x == x && c.y == y).First());
                        return;
                    }
                    else
                    {
                        m_Mons.Add(m_DMonstre.Keys.Where(c => c.x == x && c.y == y).First());
                        m_DMonstre.Remove(m_DMonstre.Keys.Where(c => c.x == x && c.y == y).First());
                        return;
                    }
                }

                if (tileUnder.TypeObjet == TypeTile.ObjetMonde)
                {
                    m_DObj.Remove(objOriginal);
                    return;
                }
                else if (tileUnder.TypeObjet == TypeTile.Monstre)
                {
                    m_DMonstre.Remove(monstreOriginal);
                    return;
                }
                else
                {
                    m_DItem.Remove(itemOriginal);
                    return;
                }
            }


            if (tileSelected.TypeObjet == TypeTile.ObjetMonde && testOriginality == "ORIGINAL" || testOriginality == "MODIFIED")
            {
                m_DObj.Keys.Where(c => c.x == x && c.y == y).First().Description = tileSelected.Name;
                m_DObj.Keys.Where(c => c.x == x && c.y == y).First().TypeObjet   = tileSelected.IndexTypeObjet;
                m_DObj[m_DObj.Keys.Where(c => c.x == x && c.y == y).First()]     = "MODIFIED";
                return;
            }
            else if (tileSelected.TypeObjet == TypeTile.Item && (testOriginality == "ORIGINAL" || testOriginality == "MODIFIED") && (tileUnder.TypeObjet == TypeTile.Item))
            {
                m_DItem.Keys.Where(c => c.x == x && c.y == y).First().Description = tileSelected.Name;
                m_DItem.Keys.Where(c => c.x == x && c.y == y).First().ImageId     = tileSelected.IndexTypeObjet;
                m_DItem.Keys.Where(c => c.x == x && c.y == y).First().Nom         = tileSelected.Name;
                m_DItem[m_DItem.Keys.Where(c => c.x == x && c.y == y).First()]    = "MODIFIED";
                return;
            }
            else if (tileSelected.TypeObjet == TypeTile.Monstre && (testOriginality == "ORIGINAL" || testOriginality == "MODIFIED") && (tileUnder.TypeObjet == TypeTile.Monstre))
            {
                m_DMonstre.Keys.Where(c => c.x == x && c.y == y).First().Nom         = tileSelected.Name;
                m_DMonstre.Keys.Where(c => c.x == x && c.y == y).First().ImageId     = tileSelected.IndexTypeObjet;
                m_DMonstre.Keys.Where(c => c.x == x && c.y == y).First().StatPV      = tileSelected.Health;
                m_DMonstre[m_DMonstre.Keys.Where(c => c.x == x && c.y == y).First()] = "MODIFIED";
                return;
            }

            if (tileSelected.TypeObjet == TypeTile.ObjetMonde && (testOriginality != "ORIGINAL") && (testOriginality != "MODIFIED"))
            {
                if (tileUnder.IndexTypeObjet != 32 && testOriginality == "NEW")
                {
                    if (tileUnder.TypeObjet == TypeTile.Monstre)
                    {
                        m_DMonstre.Remove(monstreOriginal);
                    }
                    else if (tileUnder.TypeObjet == TypeTile.Item)
                    {
                        m_DItem.Remove(itemOriginal);
                    }
                    else
                    {
                        m_DObj.Remove(objOriginal);
                    }
                    m_DObj.Add(new ObjetMonde()
                    {
                        TypeObjet   = tileSelected.IndexTypeObjet,
                        x           = x,
                        y           = y,
                        Monde       = m_CurrentWorld,
                        Description = tileSelected.Name
                    },
                               "NEW");
                }
                else
                {
                    m_DObj.Add(new ObjetMonde()
                    {
                        TypeObjet   = tileSelected.IndexTypeObjet,
                        x           = x,
                        y           = y,
                        Monde       = m_CurrentWorld,
                        Description = tileSelected.Name
                    },
                               "NEW");
                }
                return;
            }

            if (tileSelected.TypeObjet == TypeTile.Monstre)
            {
                if (tileUnder.IndexTypeObjet != 32)
                {
                    if (tileUnder.TypeObjet == TypeTile.ObjetMonde && tileUnder.IsBlock)
                    {
                        m_DObj.Remove(objOriginal);
                    }
                    else if (tileUnder.TypeObjet == TypeTile.Item)
                    {
                        m_DItem.Remove(itemOriginal);
                    }
                    //else
                    //{
                    //    m_DMonstre.Remove(monstreOriginal);
                    //}
                    m_DMonstre.Add(new Monstre()
                    {
                        Nom     = tileSelected.Name,
                        StatPV  = tileSelected.Health,
                        Monde   = m_CurrentWorld,
                        x       = x,
                        y       = y,
                        ImageId = tileSelected.IndexTypeObjet,
                        //À revoir juste en dessous !!!
                        StatDmgMax = 0,
                        StatDmgMin = 0,
                        Niveau     = 0
                    },
                                   "NEW");
                }
                else
                {
                    m_DMonstre.Add(new Monstre()
                    {
                        Nom     = tileSelected.Name,
                        StatPV  = tileSelected.Health,
                        Monde   = m_CurrentWorld,
                        x       = x,
                        y       = y,
                        ImageId = tileSelected.IndexTypeObjet,
                        //À revoir juste en dessous !!!
                        StatDmgMax = 0,
                        StatDmgMin = 0,
                        Niveau     = 0
                    },
                                   "NEW");
                }
                return;
            }

            if (tileSelected.TypeObjet == TypeTile.Item)
            {
                if (tileUnder.IndexTypeObjet != 32)
                {
                    if (tileUnder.TypeObjet == TypeTile.Monstre)
                    {
                        m_DMonstre.Remove(monstreOriginal);
                    }
                    else if (tileUnder.TypeObjet == TypeTile.ObjetMonde && tileUnder.IsBlock)
                    {
                        m_DObj.Remove(objOriginal);
                    }
                    //else
                    //{
                    //    m_DItem.Remove(itemOriginal);
                    //}

                    m_DItem.Add(new Item()
                    {
                        ImageId     = tileSelected.IndexTypeObjet,
                        x           = x,
                        y           = y,
                        Monde       = m_CurrentWorld,
                        Description = tileSelected.Name,
                        Nom         = tileSelected.Name
                    },
                                "NEW");
                }
                else
                {
                    m_DItem.Add(new Item()
                    {
                        ImageId     = tileSelected.IndexTypeObjet,
                        x           = x,
                        y           = y,
                        Monde       = m_CurrentWorld,
                        Description = tileSelected.Name,
                        Nom         = tileSelected.Name
                    },
                                "NEW");
                }
                return;
            }
        }
Ejemplo n.º 11
0
 /// <summary>
 /// Permet d'ajouter un objet au monde.
 /// </summary>
 /// <param name="objet"></param>
 public void AjouterObjet(ObjetMonde objet)
 {
     _monde.ObjetMonde.Add(objet);
     context.SaveChanges();
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Permet de retirer un objet au monde.
 /// </summary>
 /// <param name="objet"></param>
 public void RetirerObjet(ObjetMonde objet)
 {
     _monde.ObjetMonde.Remove(objet);
     context.SaveChanges();
 }