L'ajout de la fonctionnalité de script pour .NET applications

J'ai un peu de jeu écrit en C#. Il utilise une base de données back-end. C'est
un jeu de cartes à collectionner, et je voulais mettre en œuvre la fonction des cartes qu'un script.

Ce que je veux dire, c'est que j'ai essentiellement une interface, ICard, qui une carte de classe implémente (public class Card056: ICard) et qui contient la fonction qui est appelée par le jeu.

Maintenant, pour rendre la chose facile à gérer/moddable, je voudrais avoir la classe pour chaque carte que le code source dans la base de données, et essentiellement de le compiler à la première utilisation. Alors quand je dois ajouter/modifier une carte, je vais l'ajouter à la base de données et de dire à ma demande de rafraîchissement, sans avoir besoin d'une assemblée de déploiement (surtout depuis que nous parlerions de 1 assemblage par carte, ce qui signifie des centaines d'assemblées).

Est-ce possible? Inscrire une classe à partir d'un fichier source, puis instancier, etc.

ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);

La langue est le C#, mais bonus supplémentaire si il est possible d'écrire le script en toute .NET de la langue.

  • C'est drôle, moi et un ami ont été la pensée de l'écriture d'un jeu de cartes à collectionner en C# d'un moment de retour, ne suppose pas que vous avez encore la source pour ça? Intéressés par la façon dont vous l'avais abordé ce problème.
  • Non, n'ont rien à gauche, c'était vraiment au début et était essentiellement juste de travailler comme je l'ai indiqué ci-dessus. Aujourd'hui, je veux le regarder dans Roslyn faire de compilation C#: blogs.msdn.com/b/csharpfaq/archive/2011/10/19/... - Sinon, JavaScript à l'aide de Jint - jint.codeplex.com
  • ah merci, mais j'ai été à la recherche de plus pour la mise en œuvre du jeu de cartes à collectionner lui-même et la structure que vous auriez utilisé, par opposition au moteur de script. Merci quand même 🙂
InformationsquelleAutor Michael Stum | 2008-08-01