Tôi có một trò chơi nhỏ được viết bằng C #. Nó sử dụng một cơ sở dữ liệu làm back-end. Đó là một trò chơi thẻ giao dịch và tôi muốn triển khai chức năng của các thẻ như một kịch bản.
Ý tôi là về cơ bản, tôi có một giao diện, ICard
mà một lớp thẻ thực hiện ( public class Card056: ICard
) và chứa một hàm được trò chơi gọi.
Bây giờ, để làm cho thứ có thể bảo trì / sửa đổi được, tôi muốn có lớp cho mỗi thẻ làm mã nguồn trong cơ sở dữ liệu và về cơ bản biên dịch nó trong lần sử dụng đầu tiên. Vì vậy, khi tôi phải thêm / thay đổi một thẻ, tôi sẽ chỉ thêm nó vào cơ sở dữ liệu và yêu cầu ứng dụng của tôi làm mới, mà không cần bất kỳ triển khai lắp ráp nào (đặc biệt là vì chúng ta sẽ nói về 1 cụm trên mỗi thẻ có nghĩa là hàng trăm cụm) .
Điều đó có thể không? Đăng ký một lớp từ một tệp nguồn và sau đó khởi tạo nó, v.v.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
Ngôn ngữ là C # nhưng có thêm phần thưởng nếu có thể viết script bằng bất kỳ ngôn ngữ .NET nào.