よろしく。
質問があります。Dllbind を使用している場合、UnrealScript でネイティブ DLL からのイベントをリッスンすることは可能ですか?
よろしく。
質問があります。Dllbind を使用している場合、UnrealScript でネイティブ DLL からのイベントをリッスンすることは可能ですか?
いいえ、これは不可能です。DllBindを使用すると、UnrealScriptからDLLへの呼び出しを行うことができますが、その逆はできません。DLLからUnrealScriptを呼び出すメカニズムはありません。
Unreal Engineのライセンスを取得すると、C++でネイティブクラスを作成できます。ネイティブクラスには、UnrealScriptイベントを呼び出す機能があります。ただし、特にネイティブコードが別のスレッドで実行されている場合は、ネイティブクラスでさえスクリプトイベントを自由に呼び出すべきではありません。ネイティブコードからの呼び出しは、エンジンの実行と同期する必要があります。これは通常、Actor'sTickでネイティブコードを実行することによって実現されます。
したがって、解決策は、TickまたはTimer内のUnrealScriptからDLLをクエリすることです。DLLがスレッドで非同期コードを実行している場合、DLLは結果をキューに入れるメカニズムを提供する必要があります。これにより、要求されたときにスクリプトから結果にアクセスできるようになります。