Generación Automática de Componentes
Last updated
Last updated
Cuando trabajas en Unity o Blender, notarás que al crear un nuevo componente de Needle Engine en Typescript o Javascript, se generará automáticamente un componente C# stub de Unity O un panel de Blender para ti.
Esto es gracias a la magia del que se ejecuta en segundo plano en un entorno de editor y observa los cambios en tus archivos de script. Cuando nota que has creado un nuevo componente de Needle Engine, generará el componente de Unity o el panel de Blender correctos, incluyendo variables o propiedades públicas que luego podrás configurar o enlazar desde dentro del Editor.
Puedes usar los siguientes comentarios en tu código typescript para controlar el comportamiento de generación de código C#:
// @generate-component
Forzar la generación de la siguiente clase
// @dont-generate-component
Deshabilitar la generación de la siguiente clase, útil en casos donde ya tienes un script C# existente en tu proyecto
// @serializeField
Decorar el campo generado con [SerializeField]
// @type UnityEngine.Camera
Especificar el tipo del campo C# generado
// @nonSerialized
Omitir la generación del siguiente campo o método
Ejemplos
Fuerza al compilador de componentes a generar un campo C# AudioClip llamado myAudioClip
Fuerza al compilador de componentes a derivar de una subclase específica
Si quieres añadir scripts dentro de la carpeta src/scripts
en tu proyecto, necesitas tener un Component Generator
en el GameObject con tu componente ExportInfo
.
Ahora, al añadir nuevos componentes en your/threejs/project/src/scripts
, generará automáticamente scripts de Unity en Assets/Needle/Components.codegen
.
Si quieres añadir scripts a cualquier archivo NpmDef, simplemente puedes crearlos - cada NpmDef observa automáticamente los cambios de script y maneja la generación de componentes, por lo que no necesitas ningún componente adicional en tu escena.
Para que los campos C# se generen correctamente, actualmente es importante que declares explícitamente un tipo Typescript. Por ejemplo myField : number = 5
Puedes cambiar entre la entrada Typescript y los componentes C# stub generados usando las pestañas de abajo :::: code-group ::: code-group-item Typescript
::: ::: code-group-item C# generado
::: ::: code-group-item Extensión del C# generado
::: ::::
:::tip Uso de mayúsculas en miembros
Los miembros exportados comenzarán con una letra minúscula. Por ejemplo, si tu miembro C# se llama MyString
, se asignará a myString
.
:::
Página traducida automáticamente usando IA
Las clases C# de componentes se generan con el flag para facilitar su extensión con funcionalidad. Esto es útil para dibujar gizmos, añadir menús contextuales o añadir campos o métodos adicionales que no forman parte de un componente built-in.