У меня есть небольшая игра, написанная на C#. Он использует базу данных как фоновый. Это a trading card game, и я хотел реализовать функцию карт как скрипт.Добавление функций сценариев в приложения .NET
Я имею в виду, что у меня есть интерфейс, ICard
, который класс карты реализует (public class Card056 : ICard
) и который содержит функцию, вызываемую игрой.
Теперь, чтобы сделать вещи поддерживаемыми/модными, я хотел бы иметь класс для каждой карты в качестве исходного кода в базе данных и по существу скомпилировать ее при первом использовании. Поэтому, когда мне нужно добавить/изменить карту, я просто добавлю ее в базу данных и скажу, что мое приложение обновляется без необходимости развертывания сборки (тем более, что мы будем говорить о 1 сборке на карту, что означает сотни сборок) ,
Возможно ли это? Зарегистрировать класс из исходного файла, а затем создать его экземпляр и т.д.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
Язык C#, но дополнительный бонус, если это возможно, чтобы написать сценарий на любом языке .NET.
Это смешно, я и друг думали писать карточную игру в C# некоторое время назад, не думаю, что у вас все еще есть источник для этого? Интересуетесь тем, как вы к этому подошли. – mattytommo 2012-05-04 09:34:41
@mattytommo Нет, ничего не осталось, это было на самом раннем этапе и, по сути, просто работало, как описано выше. В настоящее время я хотел бы изучить Roslyn для компиляции C#: http://blogs.msdn.com/b/csharpfaq/archive/2011/10/19/introducing-the-microsoft-roslyn-ctp.aspx - альтернативно, использование JavaScript Jint - http://jint.codeplex.com/ – 2012-05-04 14:32:41
ах спасибо, но я больше искал реализацию самой торговой карточной игры и структуры, которую вы использовали, в отличие от механизма сценариев. Спасибо в любом случае :) – mattytommo 2012-05-04 14:44:15