LTech / Extension DLL

Luaから呼び出せる.NET DLLを作る

C#でpublic staticなAnna関数を用意し、LTAnnaのLuaスクリプトから装置固有機能や共通ユーティリティを呼び出します。

Visual Studio.NET Framework 4.6
AnnaクラスSETLUALIST / Dispose
AnnaXXX APILua公開関数
Anny解析補完・クラス参照

LTAnna 機能拡張DLL 作成ガイド

Luaだけでは扱いにくい処理をC#側に切り出し、再利用可能なAPIとして公開します。

必須環境

  • Visual Studio 2017
  • .NET Framework 4.6
  • KeraLua v1.2.14
  • NLua v1.5.9
  • AnyCPU

公開条件

Luaから呼び出せる関数はpublic staticで、関数名がAnnaで始まる必要があります。

public static int AnnaAdd(int a, int b)
{
    return a + b;
}

Anny連携

作成したDLLはAnnyのDLL解析でクラス一覧、Lua公開関数、補完候補として参照できます。

必須クラス

AnnaクラスでLua環境一覧を保持し、DLLからLua関数を呼び出せるようにします。

public class Anna
{
    internal static Dictionary<int, NLua.Lua> LUALIST_ = null;

    public static int SETLUALIST(Dictionary<int, NLua.Lua> l)
    {
        LUALIST_ = l;
        return 0;
    }

    public static void Dispose()
    {
    }
}