Tengo un pequeño juego escrito en C #. Utiliza una base de datos como back-end. Es un juego de cartas coleccionables y quería implementar la función de las cartas como un script.
Lo que quiero decir es que esencialmente tengo una interfaz, ICard
que implementa una clase de tarjeta ( public class Card056: ICard
) y que contiene una función que es llamada por el juego.
Ahora, para que la cosa sea mantenible / modificable, me gustaría tener la clase para cada tarjeta como código fuente en la base de datos y esencialmente compilarla en el primer uso. Entonces, cuando tenga que agregar / cambiar una tarjeta, simplemente la agregaré a la base de datos y le diré a mi aplicación que se actualice, sin necesidad de implementar ningún ensamblaje (especialmente porque estaríamos hablando de 1 ensamblaje por tarjeta, lo que significa cientos de ensamblajes) .
¿Es eso posible? Registre una clase desde un archivo fuente y luego cree una instancia, etc.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
El lenguaje es C # pero es una ventaja adicional si es posible escribir el script en cualquier lenguaje .NET.