Exemple #1
0
            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
                });
            }
Exemple #2
0
            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));
                }
            }
Exemple #3
0
            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
                });
            }
Exemple #4
0
            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
                });
            }
Exemple #5
0
            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);
                }
            }
Exemple #6
0
            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);
            }
Exemple #10
0
            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);
                }
            }
Exemple #11
0
 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);
 }
Exemple #12
0
        // 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());
 }
Exemple #14
0
            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();
            }
Exemple #15
0
            /// <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);
            }
Exemple #16
0
            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);
        }
Exemple #20
0
 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);
 }
Exemple #21
0
 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);
 }
Exemple #22
0
 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]);
 }
Exemple #23
0
 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);
 }
Exemple #24
0
 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);
 }