
- Поддерживаемые плагины
- Требуемые плагины
О CUI TOOL от 0xF
CUI TOOL от 0xF — это инструмент, позволяющий создавать пользовательские интерфейсы для плагинов Rust за считанные минуты, загружая игровые ресурсы непосредственно в Unity и в экспортируемом, простом для понимания формате.
Этот инструмент подходит для Unity 2021, рекомендуется версия 2021.3.29f. Скачать здесь .
Функции:
- Работа с игровыми ассетами установленной игры. Вам всегда будут доступны все спрайты, материалы, шрифты.
- Простой для понимания экспортируемый код пользовательского интерфейса с использованием расширенной библиотеки CUI от 0xF.
- Многофункциональный интерфейс, позволяющий писать собственные переменные с кодом с возможностью использования в большинстве полей компонентов, а также в операторах If и частях кода до и после объекта.
- Система тегов, позволяющая автоматически вставлять необходимые части в зависимости от объекта, такие как имя объекта или его дочерний индекс.
Инструкция по установке:
- Инструкция по установке:
- Создайте 2D-проект.
- После загрузки проекта перенесите файл CUI Tool.unitypackage 0xF в окно обозревателя проектов, затем нажмите кнопку импорта.
- После завершения импорта откройте сцену с именем UI.
- Перейдите на вкладку «Игра», нажмите «Свободный формат» и создайте новый с разрешением 1280x720.
- Наслаждаться.
Краткое руководство по началу работы с инструментом:
- Для начала установите инструмент по инструкции, не пропуская ни одного шага (особенно последний). Если что-то непонятно, вы можете задать вопрос в разделе обсуждения или написать автору в личные сообщения с вопросом.
- Посмотрите на иерархию сцены слева, вы можете увидеть объекты, которые соответствуют слоям в игре (Overall, OverlayNonScaled, Overlay, Hud.Menu, Hud, Under, UnderNonScaled). Они сортируются по приоритету в игре и каждый отображается на своем дисплее во вкладке Game (номер дисплея для слоя указывается в компоненте Canvas).
- Откройте окно инструментов, выбрав 0xF -> CUI Tool (рядом с Файл, Правка, ..., Окно, Справка).
- Прикрепите окно к удобной части интерфейса Unity.
- Выберите соответствующий слой в иерархии объектов, а затем выберите нужный элемент для создания в окне инструментов. Я думаю, что Panel подойдет вам для начала.
- При необходимости ознакомьтесь с тем, как создавать пользовательские интерфейсы в Unity, посмотрев обучающие материалы на YouTube или в других источниках.
- Попробуйте каждый из представленных вариантов объектов в окне инструментов.
- Закончив создание пользовательского интерфейса, нажмите «Экспорт», чтобы экспортировать пользовательский интерфейс в код.
Как использовать экспортированный код?
- В вашем плагине измените спецификатор доступа вашего класса плагина на частичный
- Перейдите на GitHub и скопируйте код библиотеки.
- Вставьте его в конец файла вашего плагина, измените текст YourPartialPluginClassName на имя класса вашего плагина, переместите using в начало файла.
- Вставьте экспортированный код в нужное вам место в плагине и вызовите его удобным способом. Спецификатор доступа, а также аргументы в экспортированном методе можно изменить в компоненте ExportProperties .
private void SuperCoolUI(Connection connection)
{
CUI.Root root = new CUI.Root("Overlay");
{
CUI.Element WouXBz = root.AddPanel(
color: "0.2156863 0.2156863 0.2156863 1",
imageType: UnityEngine.UI.Image.Type.Simple,
cursorEnabled: true,
keyboardEnabled: true,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-405.5 -228",
offsetMax: "405.5 228",
name: "SuperCoolUI").AddDestroySelfAttribute();
{
CUI.Element ileROs = WouXBz.AddPanel(
color: "0.3333333 0.3333333 0.3333333 1",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "0 1",
anchorMax: "1 1",
offsetMin: "0 -56",
offsetMax: "0 0"
/* name: "Header" */);
ileROs.AddText(
text: "MY SUPER COOL UI FOR 1 MIN",
color: "0.7294118 0.7294118 0.7294118 1",
font: CUI.Font.RobotoCondensedBold,
fontSize: 25,
align: TextAnchor.MiddleLeft,
overflow: VerticalWrapMode.Overflow,
anchorMin: "0 0",
anchorMax: "1 1",
offsetMin: "20 0",
offsetMax: "-20 0"
/* name: "Title" */);
{
CUI.Element GGpkiJ = ileROs.AddButton(
command: null,
close: "SuperCoolUI",
color: "0.5294118 0.1882353 0.1882353 1",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "1 0",
anchorMax: "1 1",
offsetMin: "-56 0",
offsetMax: "0 0"
/* name: "Close Button" */);
GGpkiJ.AddPanel(
sprite: "assets/icons/close.png",
material: "assets/icons/iconmaterial.mat",
color: "0.8509804 0.8509804 0.8509804 1",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "0 0",
anchorMax: "1 1",
offsetMin: "10 10",
offsetMax: "-10 -10"
/* name: "Icon" */);
}
}
{
CUI.Element uIaXVK = WouXBz.AddContainer(
anchorMin: "0 0",
anchorMax: "1 1",
offsetMin: "0 0",
offsetMax: "0 -56"
/* name: "Body" */);
uIaXVK.AddText(
text: "0XF CUI TOOL",
font: CUI.Font.RobotoCondensedBold,
fontSize: 48,
align: TextAnchor.MiddleCenter,
overflow: VerticalWrapMode.Overflow,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-250 92",
offsetMax: "250 142"
/* name: "Text" */);
uIaXVK.AddText(
text: "Do UI faster than thought",
color: "1 0.3882353 0.3882353 1",
font: CUI.Font.RobotoCondensedBold,
fontSize: 48,
align: TextAnchor.MiddleCenter,
overflow: VerticalWrapMode.Overflow,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-250 15",
offsetMax: "250 65"
/* name: "Text (1)" */);
uIaXVK.AddPanel(
sprite: "assets/icons/tools.png",
material: "assets/icons/iconmaterial.mat",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-75 -156",
offsetMax: "75 -6"
/* name: "Tools Icon" */);
}
}
root.Render(connection);
}
{
CUI.Root root = new CUI.Root("Overlay");
{
CUI.Element WouXBz = root.AddPanel(
color: "0.2156863 0.2156863 0.2156863 1",
imageType: UnityEngine.UI.Image.Type.Simple,
cursorEnabled: true,
keyboardEnabled: true,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-405.5 -228",
offsetMax: "405.5 228",
name: "SuperCoolUI").AddDestroySelfAttribute();
{
CUI.Element ileROs = WouXBz.AddPanel(
color: "0.3333333 0.3333333 0.3333333 1",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "0 1",
anchorMax: "1 1",
offsetMin: "0 -56",
offsetMax: "0 0"
/* name: "Header" */);
ileROs.AddText(
text: "MY SUPER COOL UI FOR 1 MIN",
color: "0.7294118 0.7294118 0.7294118 1",
font: CUI.Font.RobotoCondensedBold,
fontSize: 25,
align: TextAnchor.MiddleLeft,
overflow: VerticalWrapMode.Overflow,
anchorMin: "0 0",
anchorMax: "1 1",
offsetMin: "20 0",
offsetMax: "-20 0"
/* name: "Title" */);
{
CUI.Element GGpkiJ = ileROs.AddButton(
command: null,
close: "SuperCoolUI",
color: "0.5294118 0.1882353 0.1882353 1",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "1 0",
anchorMax: "1 1",
offsetMin: "-56 0",
offsetMax: "0 0"
/* name: "Close Button" */);
GGpkiJ.AddPanel(
sprite: "assets/icons/close.png",
material: "assets/icons/iconmaterial.mat",
color: "0.8509804 0.8509804 0.8509804 1",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "0 0",
anchorMax: "1 1",
offsetMin: "10 10",
offsetMax: "-10 -10"
/* name: "Icon" */);
}
}
{
CUI.Element uIaXVK = WouXBz.AddContainer(
anchorMin: "0 0",
anchorMax: "1 1",
offsetMin: "0 0",
offsetMax: "0 -56"
/* name: "Body" */);
uIaXVK.AddText(
text: "0XF CUI TOOL",
font: CUI.Font.RobotoCondensedBold,
fontSize: 48,
align: TextAnchor.MiddleCenter,
overflow: VerticalWrapMode.Overflow,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-250 92",
offsetMax: "250 142"
/* name: "Text" */);
uIaXVK.AddText(
text: "Do UI faster than thought",
color: "1 0.3882353 0.3882353 1",
font: CUI.Font.RobotoCondensedBold,
fontSize: 48,
align: TextAnchor.MiddleCenter,
overflow: VerticalWrapMode.Overflow,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-250 15",
offsetMax: "250 65"
/* name: "Text (1)" */);
uIaXVK.AddPanel(
sprite: "assets/icons/tools.png",
material: "assets/icons/iconmaterial.mat",
imageType: UnityEngine.UI.Image.Type.Simple,
anchorMin: "0.5 0.5",
anchorMax: "0.5 0.5",
offsetMin: "-75 -156",
offsetMax: "75 -6"
/* name: "Tools Icon" */);
}
}
root.Render(connection);
}