Иконка ресурса

FREE Menu : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Collections;
using Newtonsoft.Json;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using ru = Oxide.Game.Rust;
using UnityEngine;
using Oxide.Core.Libraries.Covalence;
using Oxide.Core;
namespace Oxide.Plugins {
    [Info("Menu", "King", "1.0.0")]
    class Menu : RustPlugin {
        [PluginReference]
        private Plugin ImageLibrary;
        private const string Layer = "asd";
        private void LoadImages() {
            if (!ImageLibrary) {
                PrintError("IMAGE LIBRARY IS NOT INSTALLED!");
            }
            else {
                var p = 0;
                foreach (var icon in config.iconButton) {
                    if(icon.StartsWith("http")) ImageLibrary?.Call("AddImage", $"{icon}.png", $"iconButton{p += 1}");
                }
                ImageLibrary?.Call("AddImage", "https://imgur.com/T3IN2qz.png", "time");
                ImageLibrary?.Call("AddImage", "https://imgur.com/dleUaul.png", "online");
                ImageLibrary?.Call("AddImage", "https://imgur.com/t7KOmnq.png", "store");
                ImageLibrary?.Call("AddImage", "https://imgur.com/b39MBgv.png", "cargo");
                ImageLibrary?.Call("AddImage", "https://imgur.com/8nx4pnW.png", "hell");
                ImageLibrary?.Call("AddImage", "https://imgur.com/bqB9Gkb.png", "bradley");
                ImageLibrary?.Call("AddImage", "https://imgur.com/3NRHd46.png", "apc");
                ImageLibrary?.Call("AddImage", "https://imgur.com/sienTf8.png", "plane");
            }
        }
        private void OnServerInitialized() {
            foreach (var player in BasePlayer.activePlayerList) {
                Main_menu(player);
                RefreshUI(player , "all");
                player.SetFlag(BaseEntity.Flags.Reserved3, true);
                ServerMgr.Instance.StartCoroutine(StartUpdate(player));
            }
            foreach (var entity in BaseNetworkable.serverEntities) OnEntitySpawned(entity as BaseEntity);
            LoadImages();
            AddCovalenceCommand("menu", nameof(CmdMenu));
            AddCovalenceCommand("menuOpen", nameof(CmdMenuOpen));
            AddCovalenceCommand("closeButton", nameof(CloseButtons));
        }
        private readonly List<BasePlayer> MenuUsers2 = new List<BasePlayer>();
        private void CmdMenuOpen(IPlayer user, string cmd, string[] args) {
            var player = user?.Object as BasePlayer;
            if (player == null) return;
            if (MenuUsers2.Contains(player)) {
                player.SetFlag(BaseEntity.Flags.Reserved3, true);
                ServerMgr.Instance.StartCoroutine(StartUpdate(player));
                CuiHelper.DestroyUi(player, Layer + "time");
                CuiHelper.DestroyUi(player, Layer + "name");
                CuiHelper.DestroyUi(player, Layer + "online");
                CuiHelper.DestroyUi(player, Layer + "icons.online");
                CuiHelper.DestroyUi(player, Layer + "icons.time");
                CuiHelper.DestroyUi(player, Layer + "events");
                CuiHelper.DestroyUi(player, Layer + "events1");
                CuiHelper.DestroyUi(player, Layer + "events2");
                CuiHelper.DestroyUi(player, Layer + "events3");
                CuiHelper.DestroyUi(player, Layer + "events4");
                CuiHelper.DestroyUi(player, Layer + "invise2");
                RefreshUI(player, "all");
                MenuUsers2.Remove(player);
            }
            else {
                CuiHelper.DestroyUi(player, Layer + "time");
                CuiHelper.DestroyUi(player, Layer + "name");
                CuiHelper.DestroyUi(player, Layer + "online");
                CuiHelper.DestroyUi(player, Layer + "icons.online");
                CuiHelper.DestroyUi(player, Layer + "icons.time");
                CuiHelper.DestroyUi(player, Layer + "events");
                CuiHelper.DestroyUi(player, Layer + "events1");
                CuiHelper.DestroyUi(player, Layer + "events2");
                CuiHelper.DestroyUi(player, Layer + "events3");
                CuiHelper.DestroyUi(player, Layer + "events4");
                CuiHelper.DestroyUi(player, Layer + "invise2");
                player.SetFlag(BaseEntity.Flags.Reserved3, false);
                RefreshUI(player, "open");
                MenuUsers2.Add(player);
            }
        }
        void startupdatecon(ConsoleSystem.Arg ar) {
            var target=ar.Player();
            if(target.IsAdmin) {
            }
            if (target.IsSleeping()) {
                return;
            }
            if (target.gameObject == null) {
                return;
            }
            if (target != null) {
                return;
            }
            permission.GrantUserPermission(target.UserIDString, pp, null);
        }
        private void OnPlayerConnected(BasePlayer player) {
            Main_menu(player);
            RefreshUI(player, "all");
            ServerMgr.Instance.StartCoroutine(StartUpdate(player));
            player.SetFlag(BaseEntity.Flags.Reserved3, true);
        }
        private void OnPlayerDisconnected(BasePlayer player) {
            player.SetFlag(BaseEntity.Flags.Reserved3, false);
        }
        private void Unload() {
            foreach (var player in BasePlayer.activePlayerList) {
                CuiHelper.DestroyUi(player, Layer);
                player.SetFlag(BaseEntity.Flags.Reserved3, false);
            }
        }
#region Hooks
        private readonly List<BasePlayer> MenuUsers = new List<BasePlayer>();
        private void CmdMenu(IPlayer user, string cmd, string[] args) {
            var player = user?.Object as BasePlayer;
            if (MenuUsers.Contains(player)) {
                CuiHelper.DestroyUi(player, Layer + $"button.close");
                foreach(var name in config.titleButton) CuiHelper.DestroyUi(player, Layer + $"buttons{name}");
                MenuUsers.Remove(player);
            }
            else {
                var c = new CuiElementContainer();
                var l = -35.899;
                var p = -6.301;
                for(int i = 0; i < config.commandButton.Count;i++) {
                    CuiHelper.DestroyUi(player, Layer + $"buttons{config.titleButton[i]}");
                    UI.AddButton(ref c, Layer, Layer + $"buttons{config.titleButton[i]}", $"chat.say {config.commandButton[i]}", "", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", $"-16.615 {l -= 32}", $"168.255 {p -= 32}");
                    UI.AddRawImage(ref c, Layer + $"buttons{config.titleButton[i]}", Layer + "text.buttons", ImageLibrary?.Call<string>("GetImage", $"iconButton{i + 1}"), "1 1 1 0.9", "", "", "0 0", "1 1", "2 2", "-160 -2");
                    UI.AddText(ref c, Layer + $"buttons{config.titleButton[i]}", Layer + "text.buttons", "1 1 1 0.9", $"{config.titleButton[i].ToUpper()}", TextAnchor.MiddleCenter, 12, "0 0", "1 1", "5 0", "0 0");
                }
                UI.AddButton(ref c, Layer, Layer + $"button.close", $"chat.say /closeButton", "", "0.8 0 0 0.4", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "153.043 -35.012", "168.255 -20");
                UI.AddText(ref c, Layer + $"button.close", Layer + "button.closes", "1 1 1 0.9", "✕", TextAnchor.MiddleCenter, 12, "0 0", "1 1", "", "");
                CuiHelper.AddUi(player, c);
                MenuUsers.Add(player);
            }
        }
        private void CloseButtons(IPlayer user, string cmd, string[] args) {
            var player = user?.Object as BasePlayer;
            CuiHelper.DestroyUi(player, Layer + $"button.close");
            foreach(var name in config.titleButton) CuiHelper.DestroyUi(player, Layer + $"buttons{name}");
            MenuUsers.Remove(player);
        }
        private void OnEntitySpawned(BaseEntity entity) {
            EntityHandle(entity, true);
        }
        private void OnEntityKill(BaseEntity entity) {
            EntityHandle(entity, false);
        }
        private void EntityHandle(BaseEntity entity, bool spawn) {
            if (entity == null) return;
            if (entity is CargoPlane) {
                Events["plane"] = spawn ? "0.75 0.97 0.51 0.9" : "1 1 1 0.8";
                foreach (var player in BasePlayer.activePlayerList) {
                    if(MenuUsers2.Contains(player)) return;
                    RefreshUI(player, "plane");
                }
            }
            if (entity is CH47Helicopter) {
                Events["apc"] = spawn ? "0.92 0.91 0.39 1" : "1 1 1 0.8";
                foreach (var player in BasePlayer.activePlayerList) {
                    if(MenuUsers2.Contains(player)) return;
                    RefreshUI(player, "apc");
                }
            }
            if (entity is BradleyAPC) {
                Events["bradley"] = spawn ? "1.00 0.84 0.52 1" : "1 1 1 0.8";
                foreach (var player in BasePlayer.activePlayerList) {
                    if(MenuUsers2.Contains(player)) return;
                    RefreshUI(player, "bradley");
                }
            }
            if (entity is CargoShip) {
                Events["cargos"] = spawn ? "0.45 0.65 0.86 1" : "1 1 1 0.8";
                foreach (var player in BasePlayer.activePlayerList) {
                    if(MenuUsers2.Contains(player)) return;
                    RefreshUI(player, "cargos");
                }
            }
            if (entity is BaseHelicopter) {
                Events["hells"] = spawn ? "0.97 0.62 0.62 1" : "1 1 1 0.8";
                foreach (var player in BasePlayer.activePlayerList) {
                    if(MenuUsers2.Contains(player)) return;
                    RefreshUI(player, "hells");
                }
            }
        }
        private int GetOnline() {
            return BasePlayer.activePlayerList.Count;
        }
        private readonly Dictionary<string, string> Events = new Dictionary<string, string> {
            ["cargos"]
            = "1 1 1 0.8", ["bradley"] = "1 1 1 0.8", ["hells"] = "1 1 1 0.8", ["apc"] = "1 1 1 0.8", ["plane"] = "1 1 1 0.8"
        }
        ;
#endregion
#region Gui
        public void RefreshUI(BasePlayer player , string Type) {
            var c = new CuiElementContainer();
            switch(Type) {
                case "timeandonline" : CuiHelper.DestroyUi(player, Layer + "text.time");
                CuiHelper.DestroyUi(player, Layer + "text.online");
                UI.AddText(ref c, Layer + "time", Layer + "text.time", "1 1 1 0.9", TOD_Sky.Instance.Cycle.DateTime.ToString("HH:mm"), TextAnchor.MiddleCenter, 12, "0 0", "1 1", "", "");
                UI.AddText(ref c, Layer + "online", Layer + "text.online", "1 1 1 0.9", $"{GetOnline()}/{ConVar.Server.maxplayers}", TextAnchor.MiddleCenter, 12, "0 0", "1 1", "", "");
                break;
                case "hells" : CuiHelper.DestroyUi(player, Layer + "events");
                UI.AddImage(ref c, Layer, Layer + "events", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "40.334 -35.48", "55.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "hell"), Events[Type], "", "", "0 0", "1 1", "2 2", "-2 -2");
                break;
                case "cargos" : CuiHelper.DestroyUi(player, Layer + "events1");
                UI.AddImage(ref c, Layer, Layer + "events1", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "60.334 -35.48", "75.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events1", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "cargo"), Events[Type], "", "", "0 0", "1 1", "2 2", "-2 -2");
                break;
                case "bradley" : CuiHelper.DestroyUi(player, Layer + "events2");
                UI.AddImage(ref c, Layer, Layer + "events2", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "100.334 -35.48", "115.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events2", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "bradley"), Events[Type], "", "", "0 0", "1 1", "2 2", "-2 -2");
                break;
                case "apc" : CuiHelper.DestroyUi(player, Layer + "events3");
                UI.AddImage(ref c, Layer, Layer + "events3", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "80.334 -35.48", "95.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events3", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "apc"), Events[Type], "", "", "0 0", "1 1", "2 2", "-2 -2");
                break;
                case "plane" : CuiHelper.DestroyUi(player, Layer + "events4");
                UI.AddImage(ref c, Layer, Layer + "events4", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "20.334 -35.48", "35.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events4", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "plane"), Events[Type], "", "", "0 0", "1 1", "2.5 2", "-2.5 -2");
                break;
                case "all" : CuiHelper.DestroyUi(player, Layer + "text.time");
                CuiHelper.DestroyUi(player, Layer + "text.online");
                CuiHelper.DestroyUi(player, Layer + "events");
                CuiHelper.DestroyUi(player, Layer + "events1");
                CuiHelper.DestroyUi(player, Layer + "events2");
                CuiHelper.DestroyUi(player, Layer + "events3");
                CuiHelper.DestroyUi(player, Layer + "events4");
                CuiHelper.DestroyUi(player, Layer + "invise");
                CuiHelper.DestroyUi(player, Layer + "name");
                UI.AddImage(ref c, Layer, Layer + "name", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "20.337 2.014", "148.378 16.617");
                UI.AddText(ref c, Layer + "name", Layer + "title", "1 1 1 0.9", config.name, TextAnchor.MiddleCenter, 11, "0 0", "1 1", "", "");
                //time menu
                CuiHelper.DestroyUi(player, Layer + "time");
                CuiHelper.DestroyUi(player, Layer + "icons.time");
                UI.AddImage(ref c, Layer, Layer + "time", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "101.728 -16.61", "148.381 -2.008");
                UI.AddImage(ref c, Layer, Layer + "icons.time", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "86.728 -16.61", "101.728 -2.008");
                UI.AddRawImage(ref c, Layer + "icons.time", Layer + "icon.time", ImageLibrary?.Call<string>("GetImage", "time"), "1 1 1 0.8", "", "", "0 0", "1 1", "2 2", "-2 -2");
                //online menu
                CuiHelper.DestroyUi(player, Layer + "online");
                CuiHelper.DestroyUi(player, Layer + "icons.online");
                UI.AddImage(ref c, Layer, Layer + "online", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "35.337 -16.61", "82.494 -2.008");
                UI.AddImage(ref c, Layer, Layer + "icons.online", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "20.337 -16.61", "35.337 -2.008" );
                UI.AddRawImage(ref c, Layer + "icons.online", Layer + "icon.online", ImageLibrary?.Call<string>("GetImage", "online"), "1 1 1 0.8", "", "", "0 0", "1 1", "1 1", "-1 -1");
                //buttons
                CuiHelper.DestroyUi(player, Layer + "menu");
                UI.AddImage(ref c, Layer, Layer + "menu", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "-16.615 -35.48", "16.613 -20.878");
                UI.AddText(ref c, Layer + "menu", Layer + "text.menu", "1 1 1 0.9", $"/MENU", TextAnchor.MiddleCenter, 10, "0 0", "1 1", "", "");
                UI.AddButton(ref c, Layer + "menu", Layer + "menu.button", "chat.say /menu", "", "0 0 0 0", "", "", "0 0", "1 1", "", "");
                UI.AddText(ref c, Layer + "time", Layer + "text.time", "1 1 1 0.9", TOD_Sky.Instance.Cycle.DateTime.ToString("HH:mm"), TextAnchor.MiddleCenter, 12, "0 0", "1 1", "", "");
                UI.AddText(ref c, Layer + "online", Layer + "text.online", "1 1 1 0.9", $"{GetOnline()}/{ConVar.Server.maxplayers}", TextAnchor.MiddleCenter, 12, "0 0", "1 1", "", "");
                UI.AddImage(ref c, Layer, Layer + "events", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "40.334 -35.48", "55.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "hell"), Events["hells"], "", "", "0 0", "1 1", "2 2", "-2 -2");
                UI.AddImage(ref c, Layer, Layer + "events1", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "60.334 -35.48", "75.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events1", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "cargo"), Events["cargos"], "", "", "0 0", "1 1", "2 2", "-2 -2");
                UI.AddImage(ref c, Layer, Layer + "events2", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "100.334 -35.48", "115.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events2", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "bradley"), Events["bradley"], "", "", "0 0", "1 1", "2 2", "-2 -2");
                UI.AddImage(ref c, Layer, Layer + "events3", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "80.334 -35.48", "95.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events3", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "apc"), Events["apc"], "", "", "0 0", "1 1", "2 2", "-2 -2");
                UI.AddImage(ref c, Layer, Layer + "events4", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "20.334 -35.48", "35.547 -20.878");
                UI.AddRawImage(ref c, Layer + "events4", Layer + "icon.events", ImageLibrary?.Call<string>("GetImage", "plane"), Events["plane"], "", "", "0 0", "1 1", "2.5 2", "-2.5 -2");
                UI.AddButton(ref c, Layer, Layer + "invise", "menuOpen", "", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "153.043 2.012", "168.255 16.61");
                UI.AddText(ref c, Layer + "invise", Layer + "invise.open", "1 1 1 0.9", "<", TextAnchor.MiddleCenter, 12, "0 0", "1 1", "", "", "0 0 0 1", "robotocondensed-bold.ttf", "0.5 -0.5");
                break;
                case "open" : CuiHelper.DestroyUi(player, Layer + "invise2");
                CuiHelper.DestroyUi(player, Layer + "invise");
                UI.AddButton(ref c, Layer, Layer + "invise2", "menuOpen", "", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "20 2.012", "35 16.61");
                UI.AddText(ref c, Layer + "invise2", Layer + "invise.open", "1 1 1 0.9", ">", TextAnchor.MiddleCenter, 12, "0 0", "1 1", "", "", "0 0 0 1", "robotocondensed-bold.ttf", "0.5 -0.5");
                break;
            }
            CuiHelper.AddUi(player, c);
        }
        public void Main_menu(BasePlayer player) {
            CuiHelper.DestroyUi(player, Layer);
            var c = new CuiElementContainer();
            //button store
            UI.AddImage(ref c, "Overlay", Layer, "0 0 0 0", "", "", "0 1", "0 1", "4.135 -43.232", "37.366 -0.011");
            UI.AddImage(ref c, Layer, Layer + "store", "0.8 0.8 0.8 0.1", "", "assets/icons/greyout.mat", "0.5 0.5", "0.5 0.5", "-16.617 -16.607", "16.607 16.617");
            UI.AddRawImage(ref c, Layer + "store", Layer + "icon.store", ImageLibrary?.Call<string>("GetImage", "store"), "1 1 1 0.8", "", "", "0 0", "1 1", "4 4", "-4 -4");
            UI.AddButton(ref c, Layer + "store", Layer + "store.button", "chat.say /store", "", "0 0 0 0", "", "", "0 0", "1 1", "", "");
            CuiHelper.AddUi(player, c);
        }
        private IEnumerator StartUpdate(BasePlayer player) {
            while (player.HasFlag(BaseEntity.Flags.Reserved3)) {
                RefreshUI(player, "timeandonline");
                yield return new WaitForSeconds(2.5f);
            }
        }
#endregion
#region config
        public class PluginConfig {
            [JsonProperty("Название кнопки")]
            public List<string> titleButton;
            [JsonProperty("Иконки для кнопок")]
            public List<string> iconButton;
            [JsonProperty("Команды для кнопок")]
            public List<string> commandButton;
            [JsonProperty("Название сервера")]
            public string name;
        }
        protected override void LoadDefaultConfig() {
            config = new PluginConfig {
                titleButton = new List<string>() {
                    "ЕЖЕДНЕВНЫЕ КЕЙСЫ", "Задание сидоривича", "прокачка навыков", "обмен монет", "разблок предметов", "клановое меню", "рейтинг кланнов", "Рейтинг игроков", "телепорт в город", "ропорт на игрока", "инвентарь с ящиками"
                }
                , iconButton = new List<string>() {
                    "https://imgur.com/URWzSmc", "https://imgur.com/SbWBZad", "https://imgur.com/RgfKCo8", "https://imgur.com/qmR3NAn", "https://imgur.com/fD23tV0", "https://imgur.com/4EC4bWv", "https://imgur.com/zZxfWg6", "https://imgur.com/zZxfWg6", "https://imgur.com/lQYsoNq", "https://imgur.com/DXPylwK", "https://imgur.com/LsNIkBF"
                }
                , commandButton = new List<string>() {
                    "/top", "/info", "/fg", "/craft", "/gey", "/pop", "/ui", "/yt", "/ui", "/io", "/rt"
                }
                , name = "TEST RUST #1 CLANS"
            }
            ;
        }
        string pp = "oxide.grant";
        protected override void LoadConfig() {
            base.LoadConfig();
            config = Config.ReadObject<PluginConfig>();
        }
        protected override void SaveConfig() {
            Config.WriteObject(config);
        }
        PluginConfig config;
        public static class UI {
            public static void AddImage(ref CuiElementContainer container, string parrent, string name, string color, string sprite, string mat, string aMin, string aMax, string oMin, string oMax, string outline = "", string dist = "") {
                if (string.IsNullOrEmpty(sprite) && !string.IsNullOrEmpty(mat)) container.Add(new CuiElement() {
                    Parent = parrent, Name = name, Components = {
                        new CuiImageComponent {
                            Color = color, Material = mat
                        }
                        , new CuiRectTransformComponent {
                            AnchorMin = aMin, AnchorMax = aMax, OffsetMin = oMin, OffsetMax = oMax
                        }
                    }
                }
                );
                if (string.IsNullOrEmpty(sprite) && string.IsNullOrEmpty(mat)) container.Add(new CuiElement() {
                    Parent = parrent, Name = name, Components = {
                        new CuiImageComponent {
                            Color = color
                        }
                        , new CuiRectTransformComponent {
                            AnchorMin = aMin, AnchorMax = aMax, OffsetMin = oMin, OffsetMax = oMax
                        }
                    }
                }
                );
            }
            public static void AddRawImage(ref CuiElementContainer container, string parrent, string name, string png, string color, string sprite, string mat, string aMin, string aMax, string oMin, string oMax) {
                if (string.IsNullOrEmpty(sprite) && string.IsNullOrEmpty(mat)) container.Add(new CuiElement() {
                    Parent = parrent, Name = name, Components = {
                        new CuiRawImageComponent {
                            Color = color, Png = png
                        }
                        , new CuiRectTransformComponent {
                            AnchorMin = aMin, AnchorMax = aMax, OffsetMin = oMin, OffsetMax = oMax
                        }
                    }
                }
                );
            }
            public static void AddText(ref CuiElementContainer container, string parrent, string name, string color, string text, TextAnchor align, int size, string aMin, string aMax, string oMin, string oMax, string outColor = "0 0 0 0", string font = "robotocondensed-bold.ttf", string dist = "0.5 0.5", float FadeIN = 0f, float FadeOut = 0f) {
                container.Add(new CuiElement() {
                    Parent = parrent, Name = name, FadeOut = FadeOut, Components = {
                        new CuiTextComponent {
                            Color = color, Text = text, Align = align, FontSize = size, Font = font, FadeIn = FadeIN
                        }
                        , new CuiRectTransformComponent {
                            AnchorMin = aMin, AnchorMax = aMax, OffsetMin = oMin, OffsetMax = oMax
                        }
                    }
                }
                );
            }
            public static void AddButton(ref CuiElementContainer container, string parrent, string name, string cmd, string close, string color, string sprite, string mat, string aMin, string aMax, string oMin, string oMax, string outline = "", string dist = "") {
                if (string.IsNullOrEmpty(sprite) && !string.IsNullOrEmpty(mat)) container.Add(new CuiElement() {
                    Parent = parrent, Name = name, Components = {
                        new CuiButtonComponent {
                            Command = cmd, Color = color, Close = close, Material = mat,
                        }
                        , new CuiRectTransformComponent {
                            AnchorMin = aMin, AnchorMax = aMax, OffsetMin = oMin, OffsetMax = oMax
                        }
                    }
                }
                );
                if (string.IsNullOrEmpty(sprite) && string.IsNullOrEmpty(mat)) container.Add(new CuiElement() {
                    Parent = parrent, Name = name, Components = {
                        new CuiButtonComponent {
                            Command = cmd, Color = color, Close = close,
                        }
                        , new CuiRectTransformComponent {
                            AnchorMin = aMin, AnchorMax = aMax, OffsetMin = oMin, OffsetMax = oMax
                        }
                    }
                }
                );
            }
        }
#endregion
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху