public void addText(string name, CuiRectTransformComponent rectangle, GuiText text = null, float FadeIn = 0, float FadeOut = 0, string parent = "Hud") { if (string.IsNullOrEmpty(name)) { name = "text"; } else { name = PluginInstance.encodeName(this, name); } purgeDuplicates(name); text.FadeIn = FadeIn; this.Add(new CuiElement { Parent = PluginInstance.encodeName(this, parent), Name = name, Components = { text, rectangle }, FadeOut = FadeOut }); }
public void addPanel(string name, CuiRectTransformComponent rectangle, string parent = "Hud", GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0, GuiText text = null, string imgName = null, bool blur = false) { if (string.IsNullOrEmpty(name)) { name = "panel"; } else { name = PluginInstance.encodeName(this, name); } purgeDuplicates(name); if (string.IsNullOrEmpty(imgName)) { addPlainPanel(PluginInstance.decodeName(this, name), rectangle, parent, panelColor, FadeIn, FadeOut, blur); } else { this.addImage(PluginInstance.decodeName(this, name), rectangle, imgName, parent, panelColor, FadeIn, FadeOut); } if (text != null) { this.addText(PluginInstance.decodeName(this, name) + "_txt", new Rectangle(), text, FadeIn, FadeOut, PluginInstance.decodeName(this, name)); } }
public void addRawImage(string name, CuiRectTransformComponent rectangle, string imgData, string parent = "Hud", GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0) { if (string.IsNullOrEmpty(name)) { name = "image"; } else { name = PluginInstance.encodeName(this, name); } purgeDuplicates(name); this.Add(new CuiElement { Parent = PluginInstance.encodeName(this, parent), Name = name, Components = { new CuiRawImageComponent { Color = (panelColor != null)?panelColor.getColorString():"1 1 1 1", FadeIn = FadeIn, Png = imgData }, rectangle }, FadeOut = FadeOut }); }
public void addPlainPanel(string name, CuiRectTransformComponent rectangle, string parent = "Hud", GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0, bool blur = false) { if (string.IsNullOrEmpty(name)) { name = "plainPanel"; } else { name = PluginInstance.encodeName(this, name); } purgeDuplicates(name); this.Add(new CuiElement { Parent = PluginInstance.encodeName(this, parent), Name = name, Components = { new CuiImageComponent { Color = (panelColor != null)?panelColor.getColorString():"0 0 0 0", FadeIn = FadeIn, Material = blur?"assets/content/ui/uibackgroundblur-ingamemenu.mat":"Assets/Icons/IconMaterial.mat" }, rectangle }, FadeOut = FadeOut }); }
public void addPlainButton(string name, CuiRectTransformComponent rectangle, GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0, GuiText text = null, Action <BasePlayer, string[]> callback = null, string close = null, bool CursorEnabled = true, string parent = "Hud", bool blur = false) { if (string.IsNullOrEmpty(name)) { name = "plainButton"; } else { name = PluginInstance.encodeName(this, name); } purgeDuplicates(name); StringBuilder closeString = new StringBuilder(""); if (close != null) { closeString.Append(" --close "); closeString.Append(close); } this.Add(new CuiElement { Name = name, Parent = PluginInstance.encodeName(this, parent), Components = { new CuiButtonComponent { Command = $"gui.input {plugin.Name} {this.name} {name}{closeString.ToString()}", FadeIn = FadeIn, Color = (panelColor != null) ? panelColor.getColorString() : "0 0 0 0", Material = blur?"assets/content/ui/uibackgroundblur-ingamemenu.mat":"Assets/Icons/IconMaterial.mat" }, rectangle }, FadeOut = FadeOut }); if (text != null) { this.addText(PluginInstance.decodeName(this, name) + "_txt", new CuiRectTransformComponent(), text, FadeIn, FadeOut, PluginInstance.decodeName(this, name)); } if (CursorEnabled) { this.Add(new CuiElement() { Name = PluginInstance.decodeName(this, name) + "_cursor", Parent = name, Components = { new CuiNeedsCursorComponent() } }); } if (callback != null) { this.registerCallback(name, callback); } }
public void SetPositionAndSize(CuiRectTransformComponent trans) { transform.AnchorMin = trans.AnchorMin; transform.AnchorMax = trans.AnchorMax; //_plugin.Puts($"POSITION [{transform.AnchorMin},{transform.AnchorMax}]"); RefreshAll(); }
void RenderMode(BasePlayer player, bool repair = false) { CuiHelper.DestroyUi(player, "EnhancedHammerUI"); if (PlayerHasFlag(player.userID, PlayerFlags.PLUGIN_DISABLED) || PlayerHasFlag(player.userID, PlayerFlags.ICONS_DISABLED) || (!repair && playersInfo[player.userID].upgradeInfo == BuildingGrade.Enum.Count)) { return; } CuiElementContainer panel = new CuiElementContainer(); string icon = iconRepair; if (!repair) { switch (playersInfo[player.userID].upgradeInfo) { case BuildingGrade.Enum.Wood: icon = iconWood; break; case BuildingGrade.Enum.Stone: icon = iconStone; break; case BuildingGrade.Enum.Metal: icon = iconMetal; break; case BuildingGrade.Enum.TopTier: icon = iconTopTier; break; } } CuiElement ehUI = new CuiElement { Name = "EnhancedHammerUI", Parent = "Hud", FadeOut = 0.5f }; CuiRawImageComponent ehUI_IMG = new CuiRawImageComponent { FadeIn = 0.5f, Url = icon }; CuiRectTransformComponent ehUI_RECT = new CuiRectTransformComponent { AnchorMin = UIAnchorMin, AnchorMax = UIAnchorMax }; ehUI.Components.Add(ehUI_IMG); ehUI.Components.Add(ehUI_RECT); panel.Add(ehUI); CuiHelper.AddUi(player, panel); }
void RenderMode(BasePlayer player, bool repair = false) { CuiHelper.DestroyUi(player, "EnhancedHammerUI"); if (PlayerHasFlag(player.userID, PlayerFlags.PLUGIN_DISABLED) || PlayerHasFlag(player.userID, PlayerFlags.ICONS_DISABLED) || (!repair && playersInfo[player.userID].upgradeInfo == BuildingGrade.Enum.Count)) { return; } CuiElementContainer panel = new CuiElementContainer(); string icon = "http://i.imgur.com/Nq6DNSX.png"; if (!repair) { switch (playersInfo[player.userID].upgradeInfo) { case BuildingGrade.Enum.Wood: icon = "http://i.imgur.com/F4XBBhY.png"; break; case BuildingGrade.Enum.Stone: icon = "http://i.imgur.com/S7Sl9oh.png"; break; case BuildingGrade.Enum.Metal: icon = "http://i.imgur.com/fVjzbag.png"; break; case BuildingGrade.Enum.TopTier: icon = "http://i.imgur.com/f0WklR3.png"; break; } } CuiElement ehUI = new CuiElement { Name = "EnhancedHammerUI", Parent = "HUD/Overlay", FadeOut = 0.5f }; CuiRawImageComponent ehUI_IMG = new CuiRawImageComponent { FadeIn = 0.5f, Url = icon }; CuiRectTransformComponent ehUI_RECT = new CuiRectTransformComponent { AnchorMin = "0.32 0.09", AnchorMax = "0.34 0.13" }; ehUI.Components.Add(ehUI_IMG); ehUI.Components.Add(ehUI_RECT); panel.Add(ehUI); CuiHelper.AddUi(player, panel); }
protected UIElement(UIContainer container) { transform = new CuiRectTransformComponent(); Element = new CuiElement { Name = CuiHelper.GetGuid(), Parent = "Hud", Components = { transform } }; container.Elements.Add(this); }
public void addInput(string name, CuiRectTransformComponent rectangle, Action <BasePlayer, string[]> callback, string parent = "Hud", string close = null, GuiColor panelColor = null, int charLimit = 100, GuiText text = null, float FadeIn = 0, float FadeOut = 0, bool isPassword = false, bool CursorEnabled = true, string imgName = null) { if (string.IsNullOrEmpty(name)) { name = "input"; } else { name = PluginInstance.encodeName(this, name); } purgeDuplicates(name); StringBuilder closeString = new StringBuilder(""); if (close != null) { closeString.Append(" --close "); closeString.Append(close); } if (imgName != null || panelColor != null) { this.addPanel(PluginInstance.decodeName(this, name), rectangle, parent, panelColor, FadeIn, FadeOut, null, imgName); this.Add(new CuiInputField() { InputField = { Align = text.Align, FontSize = text.FontSize, Color = text.Color, Command = $"gui.input {plugin.Name} {this.name} {name}{closeString.ToString()} --input", CharsLimit = charLimit, IsPassword = isPassword }, RectTransform = new Rectangle(), CursorEnabled = CursorEnabled, FadeOut = FadeOut }, name, name + "_ipt"); } else { this.Add(new CuiInputField() { InputField = { Align = text.Align, FontSize = text.FontSize, Color = text.Color, Command = $"gui.input text {plugin.Name} {this.name} {name}{closeString.ToString()} --input", CharsLimit = charLimit, IsPassword = isPassword }, RectTransform = rectangle, CursorEnabled = CursorEnabled, FadeOut = FadeOut }, PluginInstance.encodeName(this, parent), name); } if (callback != null) { this.registerCallback(name, callback); } }
static bool EqualComponent(CuiRectTransformComponent e1, CuiRectTransformComponent e2) { if (e1.AnchorMin != e2.AnchorMin) { return(false); } if (e1.AnchorMax != e2.AnchorMax) { return(false); } if (e1.OffsetMin != e2.OffsetMin) { return(false); } return(e1.OffsetMax == e2.OffsetMax); }
// initialize GUI elements void InitGUI() { GUIContainer = new CuiElementContainer(); GUIElement = new CuiElement() { Name = GUIName, FadeOut = data.ui.fadeOut, Components = { (GUIText = new CuiTextComponent() { Text = "", FontSize = data.ui.fontSize, Color = data.ui.boostTextColor, FadeIn = data.ui.fadeIn, Align = TextAnchor.MiddleCenter }), (GUIPosition = new CuiRectTransformComponent() { AnchorMin = data.ui.anchorMin, AnchorMax = data.ui.anchorMax }) } }; LockBackground = new CuiElement() { Name = GUIName, FadeOut = data.ui.fadeOut, Components = { new CuiImageComponent() { Sprite = "assets/icons/lock.png", Color = data.ui.lockIconColor, FadeIn = data.ui.fadeIn }, new CuiRectTransformComponent() { AnchorMin = data.ui.lockAnchorMin, AnchorMax = data.ui.lockAnchorMax } } }; }
private void Start() { for (var i = 0; i < _config.MaxFeedMessages; i++) { _rectTransformStatic[i] = new CuiRectTransformComponent { AnchorMax = $"{_config.AnchorMax.Split(Convert.ToChar(' '))[0]} {float.Parse(_config.AnchorMax.Split(Convert.ToChar(' '))[1]) - (_config.HeightIdent * i)}", AnchorMin = $"{_config.AnchorMin.Split(Convert.ToChar(' '))[0]} {float.Parse(_config.AnchorMin.Split(Convert.ToChar(' '))[1]) - (_config.HeightIdent * i)}" }; _textStatic[i] = new CuiTextComponent { Align = TextAnchor.MiddleRight, FontSize = _config.FontSize, Text = string.Empty }; } StartCoroutine(ProccessQueue()); }
public UIElement(Vector2 min, Vector2 max, UIBaseElement parent = null) : base(min, max, parent) { transform = new CuiRectTransformComponent(); Element = new CuiElement { Name = CuiHelper.GetGuid(), Parent = this.parent == null ? this.Parent : this.parent.Parent, Components = { transform, }, FadeOut = _fadeOut, }; UpdatePlacement(); Init(); }
/// <summary>Turns data into a CuiRectTransformComponent.</summary> /// <param name="data">The data to base the CuiRectTransformComponent on.</param> /// <returns>A CuiRectTransformComponent based on the data.</returns> public static CuiRectTransformComponent ToRectTransformComponent(Dictionary <string, object> data) { CuiRectTransformComponent rectTransformComponent = new CuiRectTransformComponent(); if (data.ContainsKey(RectTransformProperties.anchorMin)) { rectTransformComponent.AnchorMin = data[RectTransformProperties.anchorMin].ToString(); } if (data.ContainsKey(RectTransformProperties.anchorMax)) { rectTransformComponent.AnchorMax = data[RectTransformProperties.anchorMax].ToString(); } if (data.ContainsKey(RectTransformProperties.offset)) { rectTransformComponent.OffsetMin = data[RectTransformProperties.offset].ToString(); rectTransformComponent.OffsetMax = data[RectTransformProperties.offset].ToString(); } return(rectTransformComponent); }
public void addButton(string name, CuiRectTransformComponent rectangle, GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0, GuiText text = null, Action <BasePlayer, string[]> callback = null, string close = null, bool CursorEnabled = true, string imgName = null, string parent = "Hud", bool blur = false) { if (string.IsNullOrEmpty(name)) { name = "button"; } else { name = PluginInstance.encodeName(this, name); } purgeDuplicates(name); if (imgName != null) { this.addImage(PluginInstance.decodeName(this, name), rectangle, imgName, parent, null, FadeIn, FadeOut); this.addPlainButton(PluginInstance.decodeName(this, name) + "_btn", new Rectangle(), panelColor, FadeIn, FadeOut, text, callback, close, CursorEnabled, PluginInstance.decodeName(this, name)); } else { this.addPlainButton(PluginInstance.decodeName(this, name), rectangle, panelColor, FadeIn, FadeOut, text, callback, close, CursorEnabled, parent, blur); } }
private CuiElement CreateImage(string panelName) { var element = new CuiElement(); var url = GetImage(Url_List[_currentlySelected].ToString()); var color = Config["UI", "BackgroundMainColor"].ToString(); var image = new CuiRawImageComponent { Png = url }; var rectTransform = new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = "1 1" }; element.Components.Add(image); element.Components.Add(rectTransform); element.Name = CuiHelper.GetGuid(); element.Parent = panelName; return(element); }
private static CuiElement CreateImage(string panelName, ImageSettings settings) { var element = new CuiElement(); var image = new CuiRawImageComponent { Url = settings.Url, Color = string.Format("1 1 1 {0:F1}", (settings.TransparencyInPercent / 100.0f)) }; var position = settings.Position; var rectTransform = new CuiRectTransformComponent { AnchorMin = position.GetRectTransformAnchorMin(), AnchorMax = position.GetRectTransformAnchorMax() }; element.Components.Add(image); element.Components.Add(rectTransform); element.Name = CuiHelper.GetGuid(); element.Parent = panelName; return(element); }
void RenderMode(BasePlayer player, bool repair = false) { CuiHelper.DestroyUi(player, "EnhancedHammerUI"); if (PlayerHasFlag(player.userID, PlayerFlags.PLUGIN_DISABLED) || PlayerHasFlag(player.userID, PlayerFlags.ICONS_DISABLED) || (!repair && playersInfo[player.userID].upgradeInfo == BuildingGrade.Enum.Count)) return; CuiElementContainer panel = new CuiElementContainer(); string icon = "http://i.imgur.com/Nq6DNSX.png"; if (!repair) { switch (playersInfo[player.userID].upgradeInfo) { case BuildingGrade.Enum.Wood: icon = "http://i.imgur.com/F4XBBhY.png"; break; case BuildingGrade.Enum.Stone: icon = "http://i.imgur.com/S7Sl9oh.png"; break; case BuildingGrade.Enum.Metal: icon = "http://i.imgur.com/fVjzbag.png"; break; case BuildingGrade.Enum.TopTier: icon = "http://i.imgur.com/f0WklR3.png"; break; } } CuiElement ehUI = new CuiElement { Name = "EnhancedHammerUI", Parent = "HUD/Overlay", FadeOut = 0.5f }; CuiRawImageComponent ehUI_IMG = new CuiRawImageComponent { FadeIn = 0.5f, Url = icon }; CuiRectTransformComponent ehUI_RECT = new CuiRectTransformComponent { AnchorMin = "0.32 0.09", AnchorMax = "0.34 0.13" }; ehUI.Components.Add(ehUI_IMG); ehUI.Components.Add(ehUI_RECT); panel.Add(ehUI); CuiHelper.AddUi(player, panel); }
public void addPlainPanel(string name, CuiRectTransformComponent rectangle, Layer layer, GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0, bool blur = false) { addPlainPanel(name, rectangle, layers[(int)layer], panelColor, FadeIn, FadeOut, blur); }
public void addRawImage(string name, CuiRectTransformComponent rectangle, string imgData, Layer layer, GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0) { addRawImage(name, rectangle, imgData, layers[(int)layer], panelColor, FadeIn, FadeOut); }
public void addText(string name, CuiRectTransformComponent rectangle, Layer layer, GuiText text = null, float FadeIn = 0, float FadeOut = 0) { addText(name, rectangle, text, FadeIn, FadeOut, layers[(int)layer]); }
public void addPlainButton(string name, CuiRectTransformComponent rectangle, Layer layer, GuiColor panelColor = null, float FadeIn = 0, float FadeOut = 0, GuiText text = null, Action <BasePlayer, string[]> callback = null, string close = null, bool CursorEnabled = true, bool blur = false) { addPlainButton(name, rectangle, panelColor, FadeIn, FadeOut, text, callback, close, CursorEnabled, layers[(int)layer], blur); }
public void addInput(string name, CuiRectTransformComponent rectangle, Action <BasePlayer, string[]> callback, Layer layer, string close = null, GuiColor panelColor = null, int charLimit = 100, GuiText text = null, float FadeIn = 0, float FadeOut = 0, bool isPassword = false, bool CursorEnabled = true, string imgName = null) { addInput(name, rectangle, callback, layers[(int)layer], close, panelColor, charLimit, text, FadeIn, FadeOut, isPassword, CursorEnabled, imgName); }