1

我在找出使用 NLua 从 Lua 调用通用 C# 函数的正确语法时遇到了一些麻烦。

我正在尝试从 Lua 调用以下 C# XNA 函数

GameWorld.Instance.Content.Load<Texture2D>("player");

但是我在通用<T>部分遇到了一些语法问题。我当前的 lua 调用看起来像这样,这显然是不正确的,因为我得到了 LuaScriptException。

GameWorld.Instance.Content:Load<Texture2D>("player")
4

1 回答 1

0

我正在为每种资产类型创建具有一对 Load/Get 方法的类 AssetManager。

class AssetManager
{
    private ContentManager content;
    private Dictionary<string, Texture2D> textures; // fonts, sprites, models and so on

    AssetManager(ContentManager  pContent)
    {
        this.content = pContent;
        this.textures = new Dictionary<string, Texture2D>();
    }

    public void LoadTexture(string pName, string pAssetName)
    {
        this.textures.Add(pName, this.content.Load<Texture2D>(pAssetName);
    }
    public Texture2D GetTexture(stirng pName)
    {
        return this.Textures.ContainsKey(pName) ? this.Textures[pName] : null;
    }
}

C# 和 Lua 的简单用法。

于 2015-03-06T12:31:44.677 回答