1

NLua を使用して Lua からジェネリック C# 関数を呼び出すための正しい構文を理解するのに苦労しています。

Lua から次の C# XNA 関数を呼び出そうとしています。

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

しかし、ジェネリック<T>部分の構文に問題があります。LuaScriptException を取得しているため、現在の lua 呼び出しは次のようになっていますが、これは明らかに正しくありません。

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 に答える