AYUDA .NET

NativeUI C# (Cómo funciona para desarrolladores)

Actualizado 3 de abril, 2024
Compartir:

NativeUI es un marco de trabajo esencial para los desarrolladores de C# en Grand Theft Auto (GTA) comunidad modding. Simplifica la creación de un sencillo sistema de menús anidados y banners personalizados, lo que lo convierte en uno de los favoritos de los modders de GTA por su facilidad de uso y resoluciones de pantalla. Native UI MOD se ha diseñado para crear menús rápidos al estilo Rockstar, que imitan el estilo y la capacidad de respuesta de los menús anidados de Grand Theft Auto. (GTA) juegos. En este tutorial, vamos a entender lo que es NativeUI y cómo podemos integrar IronPDF con él.

Conceptos básicos de NativeUI

NativeUI sobresale en la creación de menús anidados fácilmente, una bendición para los modders que desean construir interfaces sofisticadas sin tener un código complejo para las devoluciones de llamada basadas en eventos y descripciones de elementos. También se adapta a varias resoluciones de pantalla, lo que garantiza que los menús sean visualmente atractivos en diferentes pantallas y muchas versiones antiguas. Uno de los puntos fuertes de NativeUI es su sencillo sistema de menús anidados, que permite a los desarrolladores crear complejas estructuras de menús con botones de instrucciones personalizados sin esfuerzo. Para los principiantes, la documentación de NativeUI en su wiki es un recurso valioso, proporcionando una guía paso a paso en la creación de menús y versiones flotantes.

Configuración de NativeUI en Visual Studio

La configuración inicial en Visual Studio implica descargar la librería NativeUI e incorporar el archivo .dll a tu proyecto mod. La biblioteca NativeUI es un paquete publicado disponible a través de los repositorios populares de C#, por lo que es fácilmente accesible para la integración en su proyecto. La instalación es sencilla. Cuando configures NativeUI, asegúrate de que tienes versiones compatibles flotando entre tu entorno de desarrollo y la librería NativeUI para un rendimiento óptimo.

NativeUI C# (Cómo funciona para desarrolladores): Figura 1 - NativeUI

Crear su primer menú

Crear tu primer menú con NativeUI es un paso emocionante. El diseño de la biblioteca es fácil de usar, lo que le permite añadir descripciones de elementos, botones simples, e incluso banners personalizados sin mucha molestia. Para los principiantes, es aconsejable empezar con un script básico e ir añadiendo funciones más complejas a medida que se vayan sintiendo más cómodos con el framework. He aquí un ejemplo sencillo de creación de un menú básico con sus propias texturas:

using NativeUI;
public class YourFirstMenu : Script
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public YourFirstMenu()
    {
        _menuPool = new MenuPool();
        var mainMenu = new UIMenu("NativeUI", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddMenuItems(mainMenu);
        _menuPool.RefreshIndex();
//controles del ratón
        Tick += OnTick;
        KeyDown += OnKeyDown;
    }
    private void AddMenuItems(UIMenu menu)
    {
        var item1 = new UIMenuItem("Item 1", "Description for Item 1");
        menu.AddItem(item1);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == item1)
            {
                //  Hacer algo cuando se selecciona el elemento 1
            }
        };
    }
    private void OnTick(object sender, EventArgs e)
    {
        _menuPool.ProcessMenus();
    }
    private void OnKeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.F5 && !_menuPool.IsAnyMenuOpen()) //  Nuestro menú de encendido/apagado
            mainMenu.Visible = !mainMenu.Visible;
    }
}
using NativeUI;
public class YourFirstMenu : Script
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public YourFirstMenu()
    {
        _menuPool = new MenuPool();
        var mainMenu = new UIMenu("NativeUI", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddMenuItems(mainMenu);
        _menuPool.RefreshIndex();
//controles del ratón
        Tick += OnTick;
        KeyDown += OnKeyDown;
    }
    private void AddMenuItems(UIMenu menu)
    {
        var item1 = new UIMenuItem("Item 1", "Description for Item 1");
        menu.AddItem(item1);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == item1)
            {
                //  Hacer algo cuando se selecciona el elemento 1
            }
        };
    }
    private void OnTick(object sender, EventArgs e)
    {
        _menuPool.ProcessMenus();
    }
    private void OnKeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.F5 && !_menuPool.IsAnyMenuOpen()) //  Nuestro menú de encendido/apagado
            mainMenu.Visible = !mainMenu.Visible;
    }
}
Imports NativeUI
Public Class YourFirstMenu
	Inherits Script

	Private _menuPool As MenuPool
	Private mainMenu As UIMenu
	Public Sub New()
		_menuPool = New MenuPool()
		Dim mainMenu = New UIMenu("NativeUI", "SELECT AN OPTION")
		_menuPool.Add(mainMenu)
		AddMenuItems(mainMenu)
		_menuPool.RefreshIndex()
'controles del ratón
		AddHandler Me.Tick, AddressOf OnTick
		AddHandler Me.KeyDown, AddressOf OnKeyDown
	End Sub
	Private Sub AddMenuItems(ByVal menu As UIMenu)
		Dim item1 = New UIMenuItem("Item 1", "Description for Item 1")
		menu.AddItem(item1)
		AddHandler menu.OnItemSelect, Sub(sender, item, index)
			If item = item1 Then
				'  Hacer algo cuando se selecciona el elemento 1
			End If
		End Sub
	End Sub
	Private Sub OnTick(ByVal sender As Object, ByVal e As EventArgs)
		_menuPool.ProcessMenus()
	End Sub
	Private Sub OnKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
		If e.KeyCode = Keys.F5 AndAlso Not _menuPool.IsAnyMenuOpen() Then '  Nuestro menú de encendido/apagado
			mainMenu.Visible = Not mainMenu.Visible
		End If
	End Sub
End Class
VB   C#

Este script configura un menú básico con un elemento y maneja su selección. NativeUI utiliza callbacks basados en eventos, lo que significa que las acciones en tus menús activarán eventos específicos, haciendo que tu interfaz de usuario sea interactiva y sensible.

Mejorar la interacción con el usuario

Un aspecto clave de NativeUI es su capacidad para crear menús que son a la vez funcionales y fáciles de usar. La biblioteca admite controles de ratón. Además de los controles de ratón, NativeUI cuenta con un completo soporte para mandos, asegurando que los menús sean fácilmente navegables con mandos de juego. Puede mejorar aún más la interacción con el usuario añadiendo botones de instrucciones personalizados, que guían a los usuarios a través de las opciones del menú y la compatibilidad con el controlador.

Personalización de menús

NativeUI permite un alto grado de personalización. Puede decorar sus menús con sus propias texturas y rótulos personalizados, dándoles un aspecto único que destaque. Añadir estos toques personales no sólo hace que sus menús sean más atractivos visualmente, sino que también crea una experiencia más envolvente para los usuarios.

private void CustomizeMenu(UIMenu menu)
{
    menu.SetBannerType("texture.png"); //  Textura de pancarta personalizada
    menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)); //  Color rojo para el artículo 1
}
private void CustomizeMenu(UIMenu menu)
{
    menu.SetBannerType("texture.png"); //  Textura de pancarta personalizada
    menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)); //  Color rojo para el artículo 1
}
Private Sub CustomizeMenu(ByVal menu As UIMenu)
	menu.SetBannerType("texture.png") '  Textura de pancarta personalizada
	menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)) '  Color rojo para el artículo 1
End Sub
VB   C#

IronPDF: C# Biblioteca PDF

NativeUI C# (Cómo funciona para desarrolladores): Figura 2 - IronPDF

IronPDF es una completa biblioteca en .NET para trabajar con archivos PDF. Permite a los desarrolladores crear nuevos PDF, editar los existentes y convertir HTML a PDF lo que la convierte en una biblioteca necesaria para cualquier aplicación C# que necesite manejar documentos PDF.

Implementación de IronPDF en una aplicación NativeUI

Integrar IronPDF en un proyecto C# con NativeUI requiere añadir el paquete IronPDF a tu proyecto Visual Studio. Esto se puede hacer fácilmente a través de NuGet Package Manager en Visual Studio. Una vez configurado, puedes utilizar las características de IronPDF junto con los elementos de interfaz de usuario creados con NativeUI.

Considera una aplicación donde necesitas generar un informe basado en la entrada del usuario desde una interfaz NativeUI. A continuación se explica cómo conseguirlo con IronPDF:

using IronPdf;
using NativeUI;
public class ReportGenerator
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public ReportGenerator()
    {
        _menuPool = new MenuPool();
        mainMenu = new UIMenu("Report Generator", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddPdfGenerationOption(mainMenu);
        _menuPool.RefreshIndex();
        //  Controladores de eventos para el menú
    }
    private void AddPdfGenerationOption(UIMenu menu)
    {
        var generateReportItem = new UIMenuItem("Generate Report", "Create a PDF report");
        menu.AddItem(generateReportItem);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == generateReportItem)
            {
                CreatePdfReport();
            }
        };
    }
    private void CreatePdfReport()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>");
        pdf.SaveAs("Report.pdf");
        //  Notificar al usuario que se ha generado el informe PDF
    }
}
using IronPdf;
using NativeUI;
public class ReportGenerator
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public ReportGenerator()
    {
        _menuPool = new MenuPool();
        mainMenu = new UIMenu("Report Generator", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddPdfGenerationOption(mainMenu);
        _menuPool.RefreshIndex();
        //  Controladores de eventos para el menú
    }
    private void AddPdfGenerationOption(UIMenu menu)
    {
        var generateReportItem = new UIMenuItem("Generate Report", "Create a PDF report");
        menu.AddItem(generateReportItem);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == generateReportItem)
            {
                CreatePdfReport();
            }
        };
    }
    private void CreatePdfReport()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>");
        pdf.SaveAs("Report.pdf");
        //  Notificar al usuario que se ha generado el informe PDF
    }
}
Imports IronPdf
Imports NativeUI
Public Class ReportGenerator
	Private _menuPool As MenuPool
	Private mainMenu As UIMenu
	Public Sub New()
		_menuPool = New MenuPool()
		mainMenu = New UIMenu("Report Generator", "SELECT AN OPTION")
		_menuPool.Add(mainMenu)
		AddPdfGenerationOption(mainMenu)
		_menuPool.RefreshIndex()
		'  Controladores de eventos para el menú
	End Sub
	Private Sub AddPdfGenerationOption(ByVal menu As UIMenu)
		Dim generateReportItem = New UIMenuItem("Generate Report", "Create a PDF report")
		menu.AddItem(generateReportItem)
		AddHandler menu.OnItemSelect, Sub(sender, item, index)
			If item = generateReportItem Then
				CreatePdfReport()
			End If
		End Sub
	End Sub
	Private Sub CreatePdfReport()
		Dim renderer = New ChromePdfRenderer()
		Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>")
		pdf.SaveAs("Report.pdf")
		'  Notificar al usuario que se ha generado el informe PDF
	End Sub
End Class
VB   C#

Conclusión

NativeUI C# (Cómo funciona para desarrolladores): Figura 3 - Licencia

La integración de IronPDF con NativeUI en aplicaciones C# es una poderosa combinación que puede mejorar significativamente la funcionalidad y la experiencia del usuario. Ya sea para crear informes empresariales, herramientas educativas o completos formularios de datos, esta combinación proporciona una sólida plataforma para que los desarrolladores creen aplicaciones sofisticadas y de alta calidad. Con creatividad y una aplicación meditada, las aplicaciones potenciales de esta integración son amplias y diversas.

Empiece con IronPDF prueba gratuita y explorar todo su potencial. Cuando esté listo para comprometerse, las licencias comienzan en sólo $749 - un pequeño precio para capacidades tan poderosas!

< ANTERIOR
Palabra clave virtual en C# (Cómo funciona para los desarrolladores)
SIGUIENTE >
C# PostgreSQL (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123