예제 #1
0
        private void ShowGui(BasePlayer player)
        {
            Puts(player.displayName + " has connected");

            var elements = new CuiElementContainer();
            var panel    = new CuiPanel
            {
                Image         = { Color = "1.0 0.0 0.0 0.5" },
                CursorEnabled = true,
                RectTransform = { AnchorMin = "0 0", AnchorMax = "1 1" }
            };

            var panelName = elements.Add(panel);

            var button = new CuiButton
            {
                Button        = { Close = panelName, Color = "0 0.5 0 1" },
                RectTransform = { AnchorMin = "0.4 0.4", AnchorMax = "0.6 0.6" },
                Text          = { Text = "Close", FontSize = 22, Align = TextAnchor.MiddleCenter }
            };

            elements.Add(button, panelName);

            CuiHelper.AddUi(player, elements);
        }
예제 #2
0
        private static string AddMainPanel(CuiElementContainer container)
        {
            Color backgroundColor;

            ColorExtensions.TryParseHexString(_settings.BackgroundColor, out backgroundColor);
            var mainPanel = new CuiPanel
            {
                Image =
                {
                    Color = ColorExtensions.ToRustFormatString(backgroundColor)
                },
                CursorEnabled = true,
                RectTransform =
                {
                    AnchorMin = _settings.Position.GetRectTransformAnchorMin(),
                    AnchorMax = _settings.Position.GetRectTransformAnchorMax()
                }
            };

            var tabContentPanelName = container.Add(mainPanel);

            if (!_settings.BackgroundImage.Enabled)
            {
                return(tabContentPanelName);
            }

            var backgroundImage = CreateImage(tabContentPanelName, _settings.BackgroundImage);

            container.Add(backgroundImage);

            return(tabContentPanelName);
        }
예제 #3
0
 static CuiPanel GetPanel()
 {
     if (_myPanel == null)
     {
         _myPanel = new CuiPanel
         {
             Image         = { Color = "0.1 0.1 0.1 0.8" },
             RectTransform = { AnchorMin = "0.1 0.2", AnchorMax = "0.9 0.8" },
             CursorEnabled = true
         };
     }
     return(_myPanel);
 }
예제 #4
0
        public override void CreateUI()
        {
            var root = new CuiPanel
            {
                RectTransform =
                {
                    AnchorMin = "0.425 0",
                    AnchorMax = "0.575 0.021"
                },
                Image =
                {
                    Color  = "0 0 0 0",
                    FadeIn = 0.2f
                },
                FadeOut = 0.2f
            };

            var background = new CuiPanel
            {
                RectTransform =
                {
                    AnchorMin = "0 0",
                    AnchorMax = "1 1"
                },
                Image =
                {
                    Color = "0 0 0 0.8"
                }
            };

            var label = new CuiLabel
            {
                RectTransform =
                {
                    AnchorMin = "0 0",
                    AnchorMax = "1 1"
                },
                Text =
                {
                    Text     = Lang.Translate(null, "crafter-inrange"),
                    Color    = "0.9 0.9 0.9 1",
                    FontSize =                  12,
                    Align    = TextAnchor.MiddleCenter
                }
            };

            string rootKey = Elements.Add(root, "Overlay");

            Elements.Add(background, rootKey);
            Elements.Add(label, rootKey);
        }
예제 #5
0
 void InitCUI()
 {
     alertPanel = new CuiPanel
     {
         CursorEnabled = false,
         RectTransform =
         {
             AnchorMin = $"0.4 0.77",
             AnchorMax = $"0.6 0.81"
         },
         Image =
         { Color = "0 0 0 0.8" }
     };
 }
예제 #6
0
            static public CuiElementContainer CreateContainer(string panelName, string color = null, string aMin = null, string aMax = null, bool cursor = false)
            {
                CuiElementContainer Element = new CuiElementContainer();

                if (String.IsNullOrEmpty(color))
                {
                    return(Element);
                }
                CuiPanel Container = new CuiPanel
                {
                    Image         = { Color = color, Material = material },
                    RectTransform = { AnchorMin = aMin, AnchorMax = aMax },
                    CursorEnabled = cursor
                };

                Element.Add(Container, "Hud", panelName);

                addItem(panelName);

                return(Element);
            }
예제 #7
0
        void CommandLb(BasePlayer player, string command, string[] args)
        {
            var elements = new CuiElementContainer();

            var panel = new CuiPanel
            {
                Image         = { Color = "0.0 0.0 0.0 0.75" },
                CursorEnabled = true,
                RectTransform = { AnchorMin = "0.3 0.3", AnchorMax = "0.75 0.75" }
            };
            var panelName = elements.Add(panel);

            var button = new CuiButton
            {
                Button        = { Close = panelName, Color = "0 0.5 0 1" },
                RectTransform = { AnchorMin = "0.9 0.9", AnchorMax = "0.99 0.97" },
                Text          = { Text = "Close", FontSize = 14, Align = TextAnchor.MiddleCenter }
            };

            elements.Add(button, panelName);

            elements.Add(CreateLabel("Name", 18, TextAnchor.UpperCenter, 0.01f, 0.9f, 0.3f, 0.1f), panelName);

            var yPos = 0.87f;

            for (var i = 0; i < 10; i++)
            {
                var info = _storedData.Players[i];

                if (info == null)
                {
                    break;
                }

                elements.Add(CreateLabel(info.Name, 12, TextAnchor.MiddleCenter, 0.01f, yPos, 0.3f, 0.04f), panelName);
                yPos -= 0.1f;
            }

            CuiHelper.AddUi(player, elements);
        }
예제 #8
0
        void DisplayBannerToAll(string reason)
        {
            // Clear all the previous banner
            DestroyAllBanner();
            bannerlist.Clear();

            // Run it for all player
            foreach (var player in BasePlayer.activePlayerList.ToList())
            {
                // Check if user has the permission
                bool hasPermission = permission.UserHasPermission(player.UserIDString, MapMyAirdropBanner);

                if (!hasPermission && !displayGuiForAll)
                {
                    continue;
                }

                // Here, user have permission so just create the banner
                List <string> bannerforplayers = new List <string>();

                // Generate the message
                string message = string.Empty;
                switch (reason)
                {
                case "spawn":
                {
                    message = lang.GetMessage("SpawnMsg", this, player.UserIDString);
                    break;
                }

                case "dropped":
                {
                    message = lang.GetMessage("DroppedMsg", this, player.UserIDString);
                    break;
                }

                case "looted":
                {
                    message = lang.GetMessage("LootedMsg", this, player.UserIDString);
                    break;
                }

                case "killed":
                {
                    message = lang.GetMessage("KilledMsg", this, player.UserIDString);
                    break;
                }
                }

                // Create the banner element
                CuiElementContainer CuiElement  = new CuiElementContainer();
                CuiPanel            bannerPanel = new CuiPanel
                {
                    Image =
                    {
                        Color = "0.5 0.5 0.5 0.30",
                    },
                    RectTransform =
                    {
                        AnchorMin = bannerAnchorMin,
                        AnchorMax = bannerAnchorMax,
                        OffsetMin = bannerOffsetMin,
                        OffsetMax = bannerOffsetMax,
                    },
                    CursorEnabled = false,
                };

                string CargoBanner = CuiElement.Add(bannerPanel);
                var    closeButton = new CuiButton {
                    Button =
                    {
                        Close = CargoBanner,
                        Color = "0.0 0.0 0.0 0.6",
                    },
                    RectTransform =
                    {
                        AnchorMin = "0.90 0.01",
                        AnchorMax = "0.99 0.99",
                    },
                    Text =
                    {
                        Text     = "X",
                        FontSize =  12,
                        Align    = TextAnchor.MiddleCenter
                    },
                };

                // CuiElement.Add(closeButton, CargoBanner);

                CuiElement.Add(new CuiLabel {
                    Text =
                    {
                        Text     = message,
                        FontSize =                      14,
                        FadeIn   =                    1.0f,
                        Align    = TextAnchor.MiddleCenter,
                        Color    = "1.0 1.0 1.0 1"
                    },
                    RectTransform =
                    {
                        AnchorMin = "0.10 0.10",
                        AnchorMax = "0.90 0.90",
                    },
                },
                               CargoBanner);

                CuiHelper.AddUi(player, CuiElement);
                timer.Once(6, () =>
                {
                    CuiHelper.DestroyUi(player, CargoBanner);
                });

                bannerforplayers.Add(CargoBanner);
                bannerlist.Remove(player);
                bannerlist.Add(player, bannerforplayers);
            }
        }