SORU
1 AĞUSTOS 2008, Cuma


Ekleme için komut dosyası özelliği .NET uygulamaları

Küçük bir oyun C yazdım#. Arka uç olarak bir veritabanı kullanır. Bu ** 4, ve bir komut dosyası olarak kartların işlevi uygulamak istedim.

Ne demek istediğimi ben aslında kartı bir sınıf uygulayan bir arayüzü, ICard, (public class Card056 : ICard) ve oyun tarafından çağrılan işlev içerir.

Şimdi, şey bakımı/moddable yapmak, veritabanında kaynak kod olarak her kart için sınıf var ve aslında ilk kullanımda derlemek istiyorum. Çok mecbur kaldığımda Ekle/değiştir bir kart, ben sadece eklemek için veritabanı ve söyle başvurum için yenileme ihtiyacı olmadan herhangi bir montaj dağıtım (özellikle bu yana oluruz anlatıyor 1 montaj kart başına yani yüzlerce derlemeler).

Bu mümkün mü? Bir kaynak dosyası oluşturmak ve daha sonra bir sınıf, vb kaydetmek.

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

Dili C#, ama ekstra bonus mümkünse herhangi bir komut dosyası yazmak için .NET dili.

CEVAP
2 AĞUSTOS 2008, CUMARTESİ


Oleg Shilo's C# Script solution (at The Code Project) gerçekten uygulamanızda betik yetenekleri sağlayan büyük bir giriş.

Farklı bir yaklaşım, özellikle betik, IronRuby, IronPython Lua gibi yerleşik bir dil düşünülebilir.

IronPython ve IronRuby her ikisi de bugün mevcut değildir.

Gömme IronPython için bir Kılavuzu okumak için How to embed IronPython script support in your existing app in 10 easy steps.

Lua betik dili genellikle oyunlarda kullanılır. Lua bir derleyici var ., -- http://www.codeplex.com/Nua Diğer mevcut NET

Bu kod temeli eğer bir derleyici yapı hakkında bilgi edinmek istiyorsanız, harika bir okuma .NET.

Farklı bir açıdan tamamen PowerShell çalışmaktır. Burada konuyla ilgili kapsamlı bir projenin bir uygulamaya PowerShell gömme sayısız örnek vardır: Powershell Tunnel

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • footiecyclo

    footiecyclo

    26 EYLÜL 2009
  • MndsgnVEVO

    MndsgnVEVO

    26 Kasım 2013
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006