/// <summary>
        /// Deserializes all chair files for the mod.
        /// </summary>
        private static void DeserializeChairs()
        {
            if (!Directory.Exists(Path.Combine(ModCore.ModHelper.DirectoryPath, "Content", ChairFolder)))
            {
                Directory.CreateDirectory(Path.Combine(ModCore.ModHelper.DirectoryPath, "Content", ChairFolder));
            }
            string[] directories = Directory.GetDirectories(Path.Combine(ModCore.ModHelper.DirectoryPath, "Content", ChairFolder));

            foreach (string directory in directories)
            {
                string[] files = Directory.GetFiles(directory);

                Dictionary <string, ChairMultiTiledObject> chairObjects = new Dictionary <string, ChairMultiTiledObject>();

                //Deserialize container.
                foreach (string file in files)
                {
                    if ((Path.GetFileName(file)).Contains("_") == true)
                    {
                        continue;
                    }
                    else
                    {
                        ChairFactoryInfo factoryInfo = ModCore.Serializer.DeserializeContentFile <ChairFactoryInfo>(file);
                        chairObjects.Add(Path.GetFileNameWithoutExtension(file), new ChairMultiTiledObject(factoryInfo.PyTkData, factoryInfo.info));
                    }
                }
                //Deseralize components
                foreach (string file in files)
                {
                    if ((Path.GetFileName(file)).Contains("_") == false)
                    {
                        continue;
                    }
                    else
                    {
                        string[]         splits = Path.GetFileNameWithoutExtension(file).Split('_');
                        string           name   = splits[0];
                        Vector2          offset = new Vector2(Convert.ToInt32(splits[1]), Convert.ToInt32(splits[2]));
                        ChairFactoryInfo info   = ModCore.Serializer.DeserializeContentFile <ChairFactoryInfo>(file);
                        chairObjects[name].addComponent(offset, new ChairTileComponent(info.PyTkData, info.info, info.chairInfo));
                    }
                }
                foreach (var v in chairObjects)
                {
                    ModCore.ObjectManager.chairs.Add(v.Value.info.id, v.Value);
                    ModCore.ObjectManager.AddItem(v.Value.info.name, v.Value);
                }
            }
        }
        /// <summary>
        /// Serialize all chair basic information to a file to have as a reference for making other like objects.
        /// </summary>
        private static void SerializeChairs()
        {
            Framework.Objects.Furniture.ChairTileComponent chairTop = new ChairTileComponent(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Furniture.Chairs.OakChair", TextureManager.GetTexture(ModCore.Manifest, "Furniture", "Oak Chair"), typeof(ChairTileComponent), Color.White), new BasicItemInformation("Oak Chair", "Omegasis.Revitalize.Furniture.Chairs.OakChair", "A basic wooden chair made out of oak.", "Chairs", Color.Brown, -300, 0, false, 250, true, true, TextureManager.GetTexture(ModCore.Manifest, "Furniture", "Oak Chair"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Furniture", "Oak Chair"), new Animation(new Rectangle(0, 0, 16, 16)), new Dictionary <string, List <Animation> >()
            {
                { "Default_" + (int)Framework.Enums.Direction.Down, new List <Animation>()
                  {
                      new Animation(new Rectangle(0, 0, 16, 16))
                  } },
                { "Sitting_" + (int)Framework.Enums.Direction.Down, new List <Animation>()
                  {
                      new Animation(new Rectangle(0, 0, 16, 16))
                  } },
                { "Default_" + (int)Framework.Enums.Direction.Right, new List <Animation>()
                  {
                      new Animation(new Rectangle(16, 0, 16, 16))
                  } },
                { "Sitting_" + (int)Framework.Enums.Direction.Right, new List <Animation>()
                  {
                      new Animation(new Rectangle(16, 0, 16, 16))
                  } },
                { "Default_" + (int)Framework.Enums.Direction.Up, new List <Animation>()
                  {
                      new Animation(new Rectangle(32, 0, 16, 16))
                  } },
                { "Sitting_" + (int)Framework.Enums.Direction.Up, new List <Animation>()
                  {
                      new Animation(new Rectangle(32, 32, 16, 32))
                  } },
                { "Default_" + (int)Framework.Enums.Direction.Left, new List <Animation>()
                  {
                      new Animation(new Rectangle(48, 0, 16, 16))
                  } },
                { "Sitting_" + (int)Framework.Enums.Direction.Left, new List <Animation>()
                  {
                      new Animation(new Rectangle(48, 0, 16, 16))
                  } }
            }, "Default_" + (int)Framework.Enums.Direction.Down), Color.White, true, null, null), new ChairInformation(false));


            Framework.Objects.Furniture.ChairTileComponent chairBottom = new ChairTileComponent(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Furniture.Chairs.OakChair", TextureManager.GetTexture(ModCore.Manifest, "Furniture", "Oak Chair"), typeof(ChairTileComponent), Color.White), new BasicItemInformation("Oak Chair", "Omegasis.Revitalize.Furniture.Chairs.OakChair", "A basic wooden chair.", "Chairs", Color.Brown, -300, 0, false, 250, true, true, TextureManager.GetTexture(ModCore.Manifest, "Furniture", "Oak Chair"), new AnimationManager(TextureManager.TextureManagers[ModCore.Manifest.UniqueID]["Furniture"].getTexture("Oak Chair"), new Animation(new Rectangle(0, 16, 16, 16)), new Dictionary <string, List <Animation> >()
            {
                { "Default_" + (int)Framework.Enums.Direction.Down, new List <Animation>()
                  {
                      new Animation(new Rectangle(0, 16, 16, 16))
                  } },
                { "Sitting_" + (int)Framework.Enums.Direction.Down, new List <Animation>()
                  {
                      new Animation(new Rectangle(0, 16, 16, 16))
                  } },
                { "Default_" + (int)Framework.Enums.Direction.Right, new List <Animation>()
                  {
                      new Animation(new Rectangle(16, 16, 16, 16))
                  } },
                { "Sitting_" + (int)Framework.Enums.Direction.Right, new List <Animation>()
                  {
                      new Animation(new Rectangle(16, 16, 16, 16))
                  } },
                { "Default_" + (int)Framework.Enums.Direction.Up, new List <Animation>()
                  {
                      new Animation(new Rectangle(32, 16, 16, 16))
                  } },
                { "Sitting_" + (int)Framework.Enums.Direction.Up, new List <Animation>()
                  {
                      new Animation(new Rectangle(48, 32, 16, 32))
                  } },
                { "Default_" + (int)Framework.Enums.Direction.Left, new List <Animation>()
                  {
                      new Animation(new Rectangle(48, 16, 16, 16))
                  } },
                { "Sitting" + (int)Framework.Enums.Direction.Left, new List <Animation>()
                  {
                      new Animation(new Rectangle(48, 16, 16, 16))
                  } }
            }, "Default_" + (int)Framework.Enums.Direction.Down), Color.White, false, null, null), new ChairInformation(true));

            Framework.Objects.Furniture.ChairMultiTiledObject oakChair = new ChairMultiTiledObject(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Furniture.Chairs.OakChair", TextureManager.GetTexture(ModCore.Manifest, "Furniture", "Oak Chair"), typeof(ChairMultiTiledObject), Color.White), new BasicItemInformation("Oak Chair", "Omegasis.Revitalize.Furniture.Chairs.OakChair", "A basic wooden chair.", "Chairs", Color.White, -300, 0, false, 250, true, true, TextureManager.GetTexture(ModCore.Manifest, "Furniture", "Oak Chair"), new AnimationManager(), Color.White, false, null, null));


            ChairFactoryInfo top    = new ChairFactoryInfo(chairTop);
            ChairFactoryInfo bottom = new ChairFactoryInfo(chairBottom);
            ChairFactoryInfo obj    = new ChairFactoryInfo(oakChair);


            ModCore.Serializer.SerializeContentFile("OakChair_0_-1", top, Path.Combine(ChairFolder, "OakChair"));
            ModCore.Serializer.SerializeContentFile("OakChair_0_0", bottom, Path.Combine(ChairFolder, "OakChair"));
            ModCore.Serializer.SerializeContentFile("OakChair", obj, Path.Combine(ChairFolder, "OakChair"));
        }