Пример #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
                });
            }
Пример #2
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
                });
            }
Пример #3
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
                });
            }
Пример #4
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));
                }
            }
Пример #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);
                }
            }
Пример #6
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);
                }
            }
Пример #7
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);
                }
            }