提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
7行目: | 7行目: | ||
*ILuaObjectの実装 | *ILuaObjectの実装 | ||
*Lua側での利用 | *Lua側での利用 | ||
+ | |||
=== ILuaObjectの実装 === | === ILuaObjectの実装 === | ||
ILuaObjectとは、通常Luaでは扱えない独自のオブジェクトをLua側からでも間接的に扱えるようにするためのインターフェイスです。 | ILuaObjectとは、通常Luaでは扱えない独自のオブジェクトをLua側からでも間接的に扱えるようにするためのインターフェイスです。 | ||
− | |||
次の例では、MyObjectというJava側で作成したオブジェクトをILuaObjectを用いてLua側で扱えるようにしています。 | 次の例では、MyObjectというJava側で作成したオブジェクトをILuaObjectを用いてLua側で扱えるようにしています。 | ||
67行目: | 67行目: | ||
=== ILuaObjectの引き渡し === | === ILuaObjectの引き渡し === | ||
− | + | 実装したILuaObjectオブジェクトは、以下のようなメソッドでLua側へ渡すことができます。 | |
*'''IPeripheral.callMethod()'''の戻り値のObject[]の要素 | *'''IPeripheral.callMethod()'''の戻り値のObject[]の要素 | ||
*'''IComputerAccess.queueEvent()'''の引数のObject[]の要素 | *'''IComputerAccess.queueEvent()'''の引数のObject[]の要素 | ||
74行目: | 74行目: | ||
=== Lua側での利用 === | === Lua側での利用 === | ||
− | + | ILuaObjectオブジェクトはテーブルに変換されてLua側へ渡されます。テーブルの要素はキーがメソッド名の文字列、値がそのメソッドを呼ぶための関数です。 | |
ここでは、上の例で実装した周辺機器を元に、ILuaObjectの実装部分に手を加えて解説します。 | ここでは、上の例で実装した周辺機器を元に、ILuaObjectの実装部分に手を加えて解説します。 |