/// <summary> /// Gets the current skin. /// </summary> /// <returns>an <c>ISelectableSkin</c> that represents the current skin</returns> public static ISelectableSkin GetCurrentSkin() { if (CurrentSkin == null) { CurrentSkin = GetSkinById("Default"); } return(CurrentSkin); }
internal static void Unload() { //load default skin for charms and such CurrentSkin = GetDefaultSkin(); LoadSkin(); On.GeoControl.Start -= ((Geo)Skinables[Geo.NAME]).GeoControl_Start; CustomKnight.dumpManager.Unload(); CustomKnight.swapManager.Unload(); }
public static void SetSkinById(string id) { ISelectableSkin Skin = GetSkinById(id); if (EnemyHPBar.instance.CurrentSkin.GetId() == Skin.GetId()) { return; } EnemyHPBar.instance.CurrentSkin = Skin; }
/// <summary> /// Add a skin to the skin list provided by an external mod. /// </summary> /// <param name="NewSkin">an <c>ISelectableSkin</c> that represents the skin</param> /// <returns>true if the skin is added</returns> public static bool AddSkin(ISelectableSkin NewSkin) { var Exists = SkinManager.ProvidedSkins.Exists(skin => skin.GetId() == NewSkin.GetId()); if (!Exists) { SkinManager.ProvidedSkins.Add(NewSkin); BetterMenu.UpdateSkinList(); } return(!Exists); }
internal static void LoadSkin() { if (CurrentSkin == null) { var CurrentSkinName = CustomKnight.SaveSettings.DefaultSkin != CustomKnight.GlobalSettings.DefaultSkin ? CustomKnight.SaveSettings.DefaultSkin : CustomKnight.GlobalSettings.DefaultSkin; CurrentSkin = GetSkinById(CurrentSkinName); } SpriteLoader.Load(); On.GeoControl.Start -= ((Geo)Skinables[Geo.NAME]).GeoControl_Start; On.GeoControl.Start += ((Geo)Skinables[Geo.NAME]).GeoControl_Start; ModHooks.AfterSavegameLoadHook += SpriteLoader.ModifyHeroTextures; }
internal static void ApplySkin() { ISelectableSkin skinToApply = EnemyHPBar.SkinList[selectedSkin]; BetterMenu.SetSkinById(skinToApply.GetId()); EnemyHPBar.bossol = EnemyHPBar.instance.HPBarCreateSprite(ResourceLoader.GetBossOutlineImage()); EnemyHPBar.bossbg = EnemyHPBar.instance.HPBarCreateSprite(ResourceLoader.GetBossBackgroundImage()); EnemyHPBar.bossfg = EnemyHPBar.instance.HPBarCreateSprite(ResourceLoader.GetBossForegroundImage()); EnemyHPBar.ol = EnemyHPBar.instance.HPBarCreateSprite(ResourceLoader.GetOutlineImage()); EnemyHPBar.fg = EnemyHPBar.instance.HPBarCreateSprite(ResourceLoader.GetForegroundImage()); EnemyHPBar.mg = EnemyHPBar.instance.HPBarCreateSprite(ResourceLoader.GetMiddlegroundImage()); EnemyHPBar.bg = EnemyHPBar.instance.HPBarCreateSprite(ResourceLoader.GetBackgroundImage()); }
public Texture2D GetTexture(ISelectableSkin skin, bool isLeft) { if (rightSkin == null) { rightSkin = skin.Exists($"{name}.png") ? skin.GetTexture($"{name}.png") : null; } if (leftSkin == null) { leftSkin = skin.Exists($"{name}_left.png") ? skin.GetTexture($"{name}_left.png") : rightSkin; } if (isLeft) { return(leftSkin); } else { return(rightSkin); } }
/// <summary> /// Change the current skin, to the one whose id is provided. /// </summary> /// <param name="id">a <c>string</c> that uniquely identifies the skin</param> public static void SetSkinById(string id) { var Skin = GetSkinById(id); CustomKnight.Instance.Log("Trying to apply skin :" + Skin.GetId()); if (CurrentSkin != null && CurrentSkin.GetId() == Skin.GetId()) { return; } CurrentSkin = Skin; BetterMenu.SelectedSkin(SkinManager.CurrentSkin.GetId()); // use this when saving so you save to the right settings if (GameManager.instance.IsNonGameplayScene()) { CustomKnight.GlobalSettings.DefaultSkin = CurrentSkin.GetId(); } else { CustomKnight.GlobalSettings.DefaultSkin = CurrentSkin.GetId(); CustomKnight.SaveSettings.DefaultSkin = CurrentSkin.GetId(); }; RefreshSkin(false); OnSetSkin?.Invoke(CustomKnight.Instance, new EventArgs()); }