Beispiel #1
0
            public static void Load(ContentManager p_loader)
            {
                Wardrobe.wardrobeItems   = new List <WardrobeItem>();
                Wardrobe.collectionItems = new List <WardrobeItem>();

                if (File.Exists(p_loader.RootDirectory + "/mods/king/base.xnb"))
                {
                    JKContentManager.PlayerTexture = p_loader.Load <Texture2D>("mods/king/base");
                }
                else
                {
                    JKContentManager.PlayerTexture = p_loader.Load <Texture2D>("king/base");
                }
                JKContentManager.PlayerSprites._CurrentSprites = new LayeredKingSprites(JKContentManager.PlayerTexture);

                string[] files = Directory.GetFiles("Content/wardrobe", "*.xml");
                for (int i = 0; i < files.Length; i++)
                {
                    WardrobeItem wardrobeItem = new WardrobeItem(files[i]);
                    WardrobeItem.WardrobeSettings wItemSettings = wardrobeItem._wItemSettings;
                    bool isCollection = wItemSettings.isCollection;
                    if (isCollection)
                    {
                        Wardrobe.collectionItems.Add(wardrobeItem);
                    }
                    else
                    {
                        Wardrobe.wardrobeItems.Add(wardrobeItem);
                    }
                }

                SkinSettings skinSettings = XmlSerializerHelper.Deserialize <SkinSettings>("Content/mods/king/skin_settings.xml");

                SkinManager.SetSettings(skinSettings);

                Skin[] skins = skinSettings.skins;
                for (int j = 0; j < skins.Length; j++)
                {
                    Skin         skin          = skins[j];
                    WardrobeItem wardrobeItem2 = Wardrobe.collectionItems.Find((WardrobeItem c) => Wardrobe.HasSkin(c._wItemSettings.collection.Value.Reskins, skin.item) && c._wItemSettings.collection.Value.enabled);
                    bool         flag          = wardrobeItem2 == null;
                    if (flag)
                    {
                        WardrobeItem wardrobeItem3 = Wardrobe.wardrobeItems.Find((WardrobeItem x) => x._wItemSettings.skin.Equals(skin.item) && x._wItemSettings.enabled.Value);
                        bool         flag2         = wardrobeItem3 != null;
                        if (flag2)
                        {
                            Texture2D p_tex = p_loader.Load <Texture2D>("wardrobe/" + wardrobeItem3._wItemSettings.name);
                            SkinManager.AddSkinSprite(skin.item, new KingSprites(p_tex));
                        }
                        else
                        {
                            bool flag3 = !File.Exists(p_loader.RootDirectory + "/mods/king/" + skin.texture + ".xnb");
                            if (flag3)
                            {
                                Texture2D p_tex2 = p_loader.Load <Texture2D>("king/" + skin.texture);
                                SkinManager.AddSkinSprite(skin.item, new KingSprites(p_tex2));
                            }
                            else
                            {
                                Texture2D p_tex3 = p_loader.Load <Texture2D>("mods/king/" + skin.texture);
                                SkinManager.AddSkinSprite(skin.item, new KingSprites(p_tex3));
                            }
                        }
                    }
                    else
                    {
                        WardrobeItem.Reskin skinsEnabled = Wardrobe.GetSkinsEnabled(wardrobeItem2._wItemSettings.collection.Value, skin.item);
                        Texture2D           p_tex4       = p_loader.Load <Texture2D>("wardrobe/" + skinsEnabled.name);
                        SkinManager.AddSkinSprite(skinsEnabled.skin, new KingSprites(p_tex4));
                    }
                }
            }