//Элемент-родитель без курсора public static CuiElement createparent(string name, string color, string anchmin, string anchmax) { CuiElement main = new CuiElement { Name = name, Parent = "Overlay", Components = { new CuiRawImageComponent { Color = color }, new CuiRectTransformComponent { AnchorMin = anchmin, AnchorMax = anchmax } } }; elements.Add(main); return(main); }
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); }
//функция-шаблон для изображения public static CuiElement createimg(string name, string parent, string img, string anchmin, string anchmax) { CuiElement element = new CuiElement { Name = name, Parent = parent, Components = { new CuiRawImageComponent { Sprite = "assets/content/textures/generic/fulltransparent.tga", Png = img }, new CuiRectTransformComponent { AnchorMin = anchmin, AnchorMax = anchmax } } }; elements.Add(element); return(element); }
private void DrawUI(int page) { PrintDebug("Drawing UI"); var elements = new CuiElementContainer(); var background = new CuiElement { Name = "Skins.Background", Parent = "Overlay", Components = { new CuiImageComponent { Color = _ins._config.UI.BackgroundColor }, new CuiRectTransformComponent { AnchorMin = _ins._config.UI.BackgroundAnchors.AnchorMin, AnchorMax = _ins._config.UI.BackgroundAnchors.AnchorMax, OffsetMin = _ins._config.UI.BackgroundOffsets.OffsetMin, OffsetMax = _ins._config.UI.BackgroundOffsets.OffsetMax } }, FadeOut = 0.5f }; var left = new CuiElement { Name = "Skins.Left", Parent = background.Name, Components = { new CuiButtonComponent { Close = background.Name, Command = $"{_ins._config.Command} _tech-update {page - 1}", Color = _ins._config.UI.LeftColor }, new CuiRectTransformComponent { AnchorMin = _ins._config.UI.LeftAnchors.AnchorMin, AnchorMax = _ins._config.UI.LeftAnchors.AnchorMax } }, FadeOut = 0.5f }; var leftText = new CuiElement { Name = "Skins.Left.Text", Parent = left.Name, Components = { new CuiTextComponent { Text = _ins._config.UI.LeftText, Align = TextAnchor.MiddleCenter }, new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = "1 1" } }, FadeOut = 0.5f }; var center = new CuiElement { Name = "Skins.Center", Parent = background.Name, Components = { new CuiImageComponent { Color = _ins._config.UI.CenterColor }, new CuiRectTransformComponent { AnchorMin = _ins._config.UI.CenterAnchors.AnchorMin, AnchorMax = _ins._config.UI.CenterAnchors.AnchorMax } }, FadeOut = 0.5f }; var centerText = new CuiElement { Name = "Skins.Center.Text", Parent = center.Name, Components = { new CuiTextComponent { Text = _ins._config.UI.CenterText.Replace("{page}", $"{page + 1}"), Align = TextAnchor.MiddleCenter }, new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = "1 1" } }, FadeOut = 0.5f }; var right = new CuiElement { Name = "Skins.Right", Parent = background.Name, Components = { new CuiButtonComponent { Close = background.Name, Command = $"{_ins._config.Command} _tech-update {page + 1}", Color = _ins._config.UI.RightColor }, new CuiRectTransformComponent { AnchorMin = _ins._config.UI.RightAnchors.AnchorMin, AnchorMax = _ins._config.UI.RightAnchors.AnchorMax } }, FadeOut = 0.5f }; var rightText = new CuiElement { Name = "Skins.Right.Text", Parent = right.Name, Components = { new CuiTextComponent { Text = _ins._config.UI.RightText, Align = TextAnchor.MiddleCenter }, new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = "1 1" } }, FadeOut = 0.5f }; elements.Add(background); elements.Add(left); elements.Add(leftText); elements.Add(center); elements.Add(centerText); elements.Add(right); elements.Add(rightText); CuiHelper.AddUi(Owner, elements); }
void CreateUI(BasePlayer player) { if (activeUI.Contains(player.userID)) { return; } if (configUseGameTips) { player.SendConsoleCommand("gametip.hidegametip"); player.SendConsoleCommand("gametip.showgametip", msg("text", player)); activeUI.Add(player.userID); return; } DestroyUI(player); CuiElementContainer container = new CuiElementContainer(); if (configUseImage) { var panel = container.Add(new CuiPanel() { Image = { Color = configUIColor }, RectTransform = { AnchorMin = configAnchorMin, AnchorMax = configAnchorMax } }, "Hud", "BuildingBlockGUI"); container.Add(new CuiElement() { Name = CuiHelper.GetGuid(), Parent = panel, Components = { new CuiRawImageComponent { Url = configImageURL, Sprite = "assets/content/textures/generic/fulltransparent.tga" }, new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = "1 1" } } }); } else { var panel = container.Add(new CuiPanel() { Image = { Color = configUIColor }, RectTransform = { AnchorMin = configAnchorMin, AnchorMax = configAnchorMax } }, "Hud", "BuildingBlockGUI"); CuiElement element = new CuiElement { Parent = panel, Components = { new CuiTextComponent { Text = msg("text", player), FontSize = 15, Color = configUITextColor, Align = TextAnchor.MiddleCenter }, new CuiRectTransformComponent { AnchorMin = "0.0 0.0", AnchorMax = "1.0 1.0" } } }; container.Add(element); } CuiHelper.AddUi(player, container); activeUI.Add(player.userID); }
private void FillElements(ref CuiElementContainer elements, string mainPanel, int humanity, string rank, int kills, int deaths) { //Color correction// var colorCorrection = new CuiElement { Name = CuiHelper.GetGuid(), Parent = mainPanel, Components = { new CuiImageComponent { Color = "102 102 102 0.1" }, new CuiRectTransformComponent { AnchorMin = "0 1", AnchorMax = $"1 0" } } }; elements.Add(colorCorrection); //Side bars// var sideBar1 = new CuiElement { Name = CuiHelper.GetGuid(), Parent = mainPanel, Components = { new CuiImageComponent { Color = "0.1 0.1 0.1 0.98" }, new CuiRectTransformComponent { AnchorMin = "0 1", AnchorMax = $"0.03 0" } } }; elements.Add(sideBar1); var sideBar2 = new CuiElement { Name = CuiHelper.GetGuid(), Parent = mainPanel, Components = { new CuiImageComponent { Color = "0.1 0.1 0.1 0.98" }, new CuiRectTransformComponent { AnchorMin = "0.97 1", AnchorMax = $"1 0" } } }; elements.Add(sideBar2); //Top-Bottom bar// var topBar1 = new CuiElement { Name = CuiHelper.GetGuid(), Parent = mainPanel, Components = { new CuiImageComponent { Color = "0.1 0.1 0.1 0.98" }, new CuiRectTransformComponent { AnchorMin = "0 0.03", AnchorMax = $"1 0" } } }; elements.Add(topBar1); var topBar2 = new CuiElement { Name = CuiHelper.GetGuid(), Parent = mainPanel, Components = { new CuiImageComponent { Color = "0.1 0.1 0.1 0.98" }, new CuiRectTransformComponent { AnchorMin = "0 1", AnchorMax = $"1 0.97" } } }; elements.Add(topBar2); //Text// var humanityText = new CuiElement { Name = CuiHelper.GetGuid(), Parent = colorCorrection.Name, Components = { new CuiTextComponent { Text = "Humanity Status:", FontSize = 18, Align = TextAnchor.MiddleLeft, Color = "0 0 0" }, new CuiRectTransformComponent { AnchorMin = "0.17 0.73", AnchorMax = $"1 0.95" } } }; elements.Add(humanityText); var humanityTText = new CuiElement { Name = CuiHelper.GetGuid(), Parent = colorCorrection.Name, Components = { new CuiTextComponent { Text = $"Humanity: {humanity}", FontSize = 15, Align = TextAnchor.MiddleLeft, Color = "0 0 0" }, new CuiRectTransformComponent { AnchorMin = "0.05 0.57", AnchorMax = $"1 0.74" } } }; elements.Add(humanityTText); var humanityRank = new CuiElement { Name = CuiHelper.GetGuid(), Parent = colorCorrection.Name, Components = { new CuiTextComponent { Text = $"Rank: {rank}", FontSize = 15, Align = TextAnchor.MiddleLeft, Color = "0 0 0" }, new CuiRectTransformComponent { AnchorMin = "0.05 0.49", AnchorMax = $"1 0.68" } } }; elements.Add(humanityRank); var humanityKills = new CuiElement { Name = CuiHelper.GetGuid(), Parent = colorCorrection.Name, Components = { new CuiTextComponent { Text = $"Kills: {kills}", FontSize = 15, Align = TextAnchor.MiddleLeft, Color = "0 0 0" }, new CuiRectTransformComponent { AnchorMin = "0.05 0.41", AnchorMax = $"1 0.61" } } }; elements.Add(humanityKills); var humanityDeaths = new CuiElement { Name = CuiHelper.GetGuid(), Parent = colorCorrection.Name, Components = { new CuiTextComponent { Text = $"Deaths: {deaths}", FontSize = 15, Align = TextAnchor.MiddleLeft, Color = "0 0 0" }, new CuiRectTransformComponent { AnchorMin = "0.05 0.31", AnchorMax = $"1 0.56" } } }; elements.Add(humanityDeaths); }
private void RenderUI(BasePlayer player) { Dictionary <ItemCategory, string> skillColors = new Dictionary <ItemCategory, string>(); skillColors.Add(ItemCategory.Ammunition, "0.8 0.4 0 1"); skillColors.Add(ItemCategory.Attire, "0.8 0.4 0 1"); skillColors.Add(ItemCategory.Construction, "0.8 0.4 0 1"); skillColors.Add(ItemCategory.Tool, "0.8 0.4 0 1"); skillColors.Add(ItemCategory.Traps, "0.8 0.4 0 1"); skillColors.Add(ItemCategory.Weapon, "0.8 0.4 0 1"); skillColors.Add(ItemCategory.Medical, "0.8 0.4 0 1"); skillColors.Add(ItemCategory.Items, "0.8 0.4 0 1"); CuiHelper.DestroyUi(player, "RewardingCraftUI"); var elements = new CuiElementContainer(); var mainPanel = elements.Add(new CuiPanel { Image = { Color = "0.1 0.1 0.1 0.7" }, RectTransform = { //AnchorMin = "0.67 0.04525", AnchorMin = "0.67 0.06525", AnchorMax = "0.819 0.1625" } }, "HUD/Overlay", "RewardingCraftUI"); //Add Elements here is the first sub container var MainUIElementContainer = new CuiElement { Name = CuiHelper.GetGuid(), Parent = mainPanel, Components = { new CuiImageComponent { Color = "0.4 0.4 0.4 1" }, new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = $"1 0.3" } } }; elements.Add(MainUIElementContainer); var TitleTextUIElement = new CuiElement { Name = CuiHelper.GetGuid(), Parent = MainUIElementContainer.Name, Components = { new CuiTextComponent { Color = "0.9 0.9 0.9 1", Text = "My Text", FontSize = 8, Align = TextAnchor.UpperLeft }, new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = $"0.5 1" } } }; elements.Add(TitleTextUIElement); var ProgressBarUIElementContainer = new CuiElement { Name = CuiHelper.GetGuid(), Parent = MainUIElementContainer.Name, Components = { new CuiImageComponent { Color = "0.0 0.9 0.0 1" }, new CuiRectTransformComponent { AnchorMin = "0 0", AnchorMax = $"1 0.5" } } }; elements.Add(ProgressBarUIElementContainer); CuiHelper.AddUi(player, elements); }
private void CommandChatEdit(BasePlayer player, string command, string[] args) { var id = player.UserIDString; if (!permission.UserHasPermission("uieditor.use", id)) { player.ChatMessage(GetMsg("No Permission", id)); return; } if (args.Length == 0) { player.ChatMessage(GetMsg("Help", id)); return; } switch (args[0]) { #region Load case "load": { if (args.Length < 2) { player.ChatMessage(GetMsg("Help: Load", id)); return; } var collection = UICollection.FindCollection(args[1]); if (collection == null) { player.ChatMessage(GetMsg("Collection Not Found", id)); return; } collection.Draw(player); break; } #endregion #region Save case "save": { UICollection collection; if (!_active.TryGetValue(player, out collection)) { player.ChatMessage(GetMsg("Collection Not Found", id)); return; } // TODO break; } #endregion #region New case "new": { _active.TryAdd(player, new UICollection()); break; } #endregion #region Add case "add": { UICollection collection; if (!_active.TryGetValue(player, out collection)) { player.ChatMessage(GetMsg("Collection Not Found", id)); return; } if (args.Length < 3) { player.ChatMessage(GetMsg("Help: Add", id)); return; } if (args.Length == 3) { var element = new CuiElement(); element.Name = args[1]; element.Parent = args[2]; var element2 = new UIElement { Element = element }; element2.Draw(player); collection.Elements.Add(element2); } if (args.Length > 3) { var element = collection.FindElement(args[1]); if (element == null) { player.ChatMessage(GetMsg("Element Not Found", id)); return; } for (var i = 2; i < args.Length; i++) { switch (args[i]) { case "transform": { element.Element.Components.Add(new CuiRectTransformComponent()); break; } case "button": { element.Element.Components.Add(new CuiButtonComponent()); break; } case "image": { element.Element.Components.Add(new CuiImageComponent()); break; } case "raw": { element.Element.Components.Add(new CuiRawImageComponent()); break; } case "text": { element.Element.Components.Add(new CuiTextComponent()); break; } case "input": { element.Element.Components.Add(new CuiInputFieldComponent()); break; } case "outline": { element.Element.Components.Add(new CuiOutlineComponent()); break; } case "cursor": { element.Element.Components.Add(new CuiNeedsCursorComponent()); break; } } } } break; } #endregion #region Remove case "remove": { UICollection collection; if (!_active.TryGetValue(player, out collection)) { player.ChatMessage(GetMsg("Collection Not Found", id)); return; } if (args.Length < 2) { player.ChatMessage(GetMsg("Help: Remove", id)); return; } var element = collection.FindElement(args[1]); if (element == null) { player.ChatMessage(GetMsg("Element Not Found", id)); return; } if (args.Length == 2) { element.Destroy(player); collection.Elements.Remove(element); } if (args.Length > 2) { for (var i = 2; i < args.Length; i++) { switch (args[i]) { case "transform": { element.Element.Components.Remove(new CuiRectTransformComponent()); break; } case "button": { element.Element.Components.Remove(new CuiButtonComponent()); break; } case "image": { element.Element.Components.Remove(new CuiImageComponent()); break; } case "raw": { element.Element.Components.Remove(new CuiRawImageComponent()); break; } case "text": { element.Element.Components.Remove(new CuiTextComponent()); break; } case "input": { element.Element.Components.Remove(new CuiInputFieldComponent()); break; } case "outline": { element.Element.Components.Remove(new CuiOutlineComponent()); break; } case "cursor": { element.Element.Components.Remove(new CuiNeedsCursorComponent()); break; } } } element.Draw(player); } break; } #endregion case "set": { UICollection collection; if (!_active.TryGetValue(player, out collection)) { player.ChatMessage(GetMsg("Collection Not Found", id)); return; } if (args.Length < 5) { player.ChatMessage(GetMsg("Help: Set", id)); return; } var element = collection.FindElement(args[1]); if (element == null) { player.ChatMessage(GetMsg("Element Not Found", id)); return; } element.ChangeValue(args); break; } } }
private void UseUI(BasePlayer player, string dmg, string dst, string name, string bpart, float xmin, float xmax, float ymin, float ymax) { CuiHelper.DestroyUi(player, "DamageDisplay"); float dtime = DisplayTime; float xmin_1 = xmin + 0.08f; float xmax_1 = xmax + 0.08f; float xmin_2 = xmin + 0.30f; float xmax_2 = xmax + 0.30f; var elements = new CuiElementContainer(); CuiElement damage = new CuiElement { Name = "DamageDisplay", //Parent = "HUD/Overlay", //FadeOut = dtime, Components = { new CuiTextComponent { Text = $"<color=#ff5400>Урон:</color> <color=#fee3b4>{dmg}</color>", FontSize = 16, Align = TextAnchor.MiddleLeft, //FadeIn = dtime }, new CuiOutlineComponent { Distance = "1.0 1.0", Color = "0.0 0.0 0.0 1.0" }, new CuiRectTransformComponent { AnchorMin = xmin + " " + ymin, AnchorMax = xmax + " " + ymax } } }; elements.Add(damage); CuiElement nameof = new CuiElement { Name = "DamageDisplay", //Parent = "HUD/Overlay", Components = { new CuiTextComponent { Text = "<color=#ff5400>Игрок:</color> <color=#fee3b4>" + name + $"</color> <color=#ff5400>{bpart}</color>", FontSize = 16, Align = TextAnchor.MiddleLeft, //FadeIn = dtime }, new CuiOutlineComponent { Distance = "1.0 1.0", Color = "0.0 0.0 0.0 1.0" }, new CuiRectTransformComponent { AnchorMin = xmin_1 + " " + ymin, AnchorMax = xmax_1 + " " + ymax } } }; elements.Add(nameof); CuiElement range = new CuiElement { Name = "DamageDisplay", //Parent = "HUD/Overlay", //FadeOut = dtime, Components = { new CuiTextComponent { Text = $"<color=#ff5400>Дист:</color> <color=#fee3b4>{dst}</color>", FontSize = 16, Align = TextAnchor.MiddleLeft, //FadeIn = dtime }, new CuiOutlineComponent { Distance = "1.0 1.0", Color = "0.0 0.0 0.0 1.0" }, new CuiRectTransformComponent { AnchorMin = xmin_2 + " " + ymin, AnchorMax = xmax_2 + " " + ymax } } }; elements.Add(range); CuiHelper.AddUi(player, elements); }
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); }