logo
Funciones avanzadas

Runtime Code

Compilación y ejecución dinámica de C# dentro del runtime para modding y extensiones.

Runtime Code

Eco incluye una carpeta RuntimeCode para compilar y cargar código C# durante la ejecución. Es una capacidad especializada y debe tratarse como una superficie de extensibilidad, no como una forma habitual de implementar gameplay.

Arquitectura

Código fuente

CodeCompiler

Compilación

Assembly dinámico

RuntimeBehaviour / driver

Juego

La solución incluye infraestructura para compilación, carga de assemblies y reporte de errores.

Cuándo utilizarlo

Casos razonables:

  • modding;
  • herramientas internas;
  • contenido definido por usuarios;
  • scripts dinámicos que no pueden compilarse con el proyecto principal.

No es una buena opción para sustituir el código normal de un sistema que conoces de antemano.

Seguridad

Ejecutar C# generado o recibido externamente equivale a ejecutar código con los permisos del proceso. Nunca trates código de mods desconocidos como contenido de datos inocente.

Flujo recomendado

Validar origen

Comprueba que el código procede de una fuente de confianza.

Compilar

Utiliza CodeCompiler y registra los errores de compilación.

Cargar

Añade el assembly al runtime mediante el sistema de carga correspondiente.

Crear comportamiento

Utiliza RuntimeBehaviour o el driver dinámico para asociar el código a un objeto.

Fuente

RuntimeCode

Implementación de la infraestructura de código dinámico.

On this page