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

FREE MyMiniUI : 0.0.2 0.0.2

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using Newtonsoft.Json;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;

namespace Oxide.Plugins
{
    [Info("MyMiniUI", "MaltrzD", "0.0.2")]
    public class MyMiniUI : RustPlugin
    {
        [PluginReference] Plugin ImageLibrary;
        private ConfigData configuration;

        public string GetImage(string shortname, ulong skin = 0) => (string)ImageLibrary.Call("GetImage", shortname, skin);
        public bool AddImage(string url, string shortname, ulong skin = 0) => (bool)ImageLibrary?.Call("AddImage", url, shortname, skin);


        #region OXIDE HOOKS
        private void Loaded() => ReadConfig();
        private void OnPlayerConnected(BasePlayer player)
        {
            CuiHelper.AddUi(player, AddMyMiniUI());
        }
        private void OnServerInitialized()
        {
            AddImage(configuration.imageUrl, "MyMiniBtn");

            ListHashSet<BasePlayer> players = BasePlayer.activePlayerList;
            foreach (var player in players)
            {
                CuiHelper.DestroyUi(player, "SwitchMyMiniImage");

                CuiHelper.AddUi(player, AddMyMiniUI());
            }
        }
        #endregion

        [ConsoleCommand("switchmini")]
        private void SwitchMini(ConsoleSystem.Arg args)
        {
            BasePlayer player = args?.Player() ?? null;

            if (player != null)
            {
                player.SendConsoleCommand("chat.say /switchmini");
            }
        }

        #region METHODS
        private CuiElementContainer AddMyMiniUI()
        {
            CuiElementContainer container = new CuiElementContainer();

            container.Add(new CuiElement
            {
                Components = {
                    new CuiRawImageComponent
                    {
                        Png = GetImage("MyMiniBtn"),
                    },
                    new CuiRectTransformComponent
                    {
                        AnchorMin = configuration.anchorMin,
                        AnchorMax = configuration.anchorMax
                    }
                },
                Parent = "Overlay",
                Name = "SwitchMyMiniImage"
            });
            container.Add(new CuiButton
            {
                Button =
                {
                    Color = "1 1 1 0",
                    Command = "switchmini"
                },
                RectTransform =
                {
                    AnchorMin = "0 0",
                    AnchorMax = "1 1"
                }
            }, "SwitchMyMiniImage", "SwitchMyMiniBtn");

            return container;
        }
        #endregion

        #region CONFIGURATION
        class ConfigData
        {
            public string anchorMin = "0.2937501 0.025";
            public string anchorMax = "0.340625 0.1083333";
            [JsonProperty("Ссылка на картинку кнопки")] public string imageUrl = "https://i.imgur.com/LHSEZ5k.png";
        }
        protected override void LoadDefaultConfig()
        {
            var config = new ConfigData();
            SaveConfig(config);
        }
        void SaveConfig(object config)
        {
            Config.WriteObject(config, true);
        }
        void ReadConfig()
        {
            base.Config.Settings.ObjectCreationHandling = ObjectCreationHandling.Replace;
            configuration = Config.ReadObject<ConfigData>();
            SaveConfig(configuration);
        }
        #endregion
    }
}

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