public static void AddPermissionTextIfNeeded(ICreativePower power, ref string originalText) { if (CreativePowersHelper.IsAvailableForPlayer(power, Main.myPlayer)) { return; } string textValue = Language.GetTextValue("CreativePowers.CantUsePowerBecauseOfNoPermissionFromServer"); originalText = originalText + "\n" + textValue; }
public static UIImageFramed GetIconImage(Point iconLocation) { Asset <Texture2D> powerIconAsset = CreativePowersHelper.GetPowerIconAsset("Images/UI/Creative/Infinite_Powers"); UIImageFramed uiImageFramed = new UIImageFramed(powerIconAsset, powerIconAsset.Frame(21, 1, iconLocation.X, iconLocation.Y, 0, 0)); uiImageFramed.MarginLeft = 4f; uiImageFramed.MarginTop = 4f; uiImageFramed.VAlign = 0.5f; uiImageFramed.HAlign = 1f; uiImageFramed.IgnoresMouseInteraction = true; return(uiImageFramed); }
public static void UpdateUnlockStateByPower( ICreativePower power, UIElement button, Color colorWhenSelected) { IGroupOptionButton asButton = button as IGroupOptionButton; if (asButton == null) { return; } button.OnUpdate += (UIElement.ElementEvent)(element => CreativePowersHelper.UpdateUnlockStateByPowerInternal(power, colorWhenSelected, asButton)); }
private static void UpdateUnlockStateByPowerInternal( ICreativePower power, Color colorWhenSelected, IGroupOptionButton asButton) { bool isUnlocked = power.GetIsUnlocked(); bool flag = !CreativePowersHelper.IsAvailableForPlayer(power, Main.myPlayer); asButton.SetBorderColor(flag ? Color.DimGray : Color.White); if (flag) { asButton.SetColorsBasedOnSelectionState(new Color(60, 60, 60), new Color(60, 60, 60), 0.7f, 0.7f); } else if (isUnlocked) { asButton.SetColorsBasedOnSelectionState(colorWhenSelected, Colors.InventoryDefaultColor, 1f, 0.7f); } else { asButton.SetColorsBasedOnSelectionState(Color.Crimson, Color.Red, 0.7f, 0.7f); } }