[Unity]iOSでLua(MoonSharp)を使う

1

JUGEMテーマ:ゲーム

 

以前

[Unity]UnityでLuaを使う[MoonSharp]

の記事でMoonSharpの使い方を解説したがどうもそのやり方ではiOSの製品版では動かないようだ。

iOSの開発版、Android、Windows、OSXでは問題ないのだがiOSの製品版でだけ動かなかった。

 

以下が当該部分である。

EventDataクラスをLua内部で使えるようにする為にRegisterAssembly()を呼び出している。

// スクリプト内から呼び出す関数群
[ MoonSharp.Interpreter.MoonSharpUserData ]
class EventData
{
  // 関数群
}
 
// EventDataをスクリプト内で使えるようにする
MoonSharp.Interpreter.UserData.RegisterAssembly();

 

iOSの製品版で動作させる為にはRegisterAssembly()関数を以下のように変更する必要がある。

MoonSharp.Interpreter.UserData.RegisterAssembly( typeof( EventData ).Assembly );

これはアプリ起動時に一回呼べばよくて

しかも他に[ MoonSharp.Interpreter.MoonSharpUserData ]属性のクラスがあってもどれかひとつのクラスをRegisterAssembly()に渡すだけで何故かどのクラスも動作した。

この方法はiOSだけでなくAndroidなどでも有効なのでこっちで統一する事にした。

 


スポンサーサイト

0
    • 2018.11.02 Friday
    • -
    • 01:04
    • -
    • -
    • by スポンサードリンク

    コメント
    コメントする








       
    この記事のトラックバックURL
    トラックバック

    PR

    calendar

    S M T W T F S
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
    << November 2018 >>

    情報

    広告

    広告

    広告

    広告

    [商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

    Nintendo Switch Joy-Con(L) ネオンブルー/(R) ネオンレッド
    価格:32378円(税込、送料無料) (2018/7/29時点)


    selected entries

    categories

    archives

    links

    profile

    search this site.

    others

    mobile

    qrcode

    powered

    無料ブログ作成サービス JUGEM