Files
virtualclassroomdhbw/Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs
T
2024-10-29 17:16:17 +01:00

37 lines
996 B
C#

#if UNITY_EDITOR || UNITY_ANDROID
using UnityEngine;
namespace SimpleFileBrowser
{
public class FBDirectoryReceiveCallbackAndroid : AndroidJavaProxy
{
private readonly FileBrowser.AndroidSAFDirectoryPickCallback callback;
private readonly FBCallbackHelper callbackHelper;
public FBDirectoryReceiveCallbackAndroid( FileBrowser.AndroidSAFDirectoryPickCallback callback ) : base( "com.yasirkula.unity.FileBrowserDirectoryReceiver" )
{
this.callback = callback;
callbackHelper = new GameObject( "FBCallbackHelper" ).AddComponent<FBCallbackHelper>();
}
[UnityEngine.Scripting.Preserve]
public void OnDirectoryPicked( string rawUri, string name )
{
callbackHelper.CallOnMainThread( () => DirectoryPickedCallback( rawUri, name ) );
}
private void DirectoryPickedCallback( string rawUri, string name )
{
try
{
if( callback != null )
callback( rawUri, name );
}
finally
{
Object.Destroy( callbackHelper.gameObject );
}
}
}
}
#endif