BridgeCallback.cs 908 B

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using UnityEngine;
  3. using System.Threading;
  4. using TapSDK.Core.Internal.Utils;
  5. namespace TapSDK.Core
  6. {
  7. public class BridgeCallback : AndroidJavaProxy
  8. {
  9. Action<Result> callback;
  10. public BridgeCallback(Action<Result> action) :
  11. base(new AndroidJavaClass("com.taptap.sdk.kit.internal.enginebridge.EngineBridgeCallback"))
  12. {
  13. this.callback = action;
  14. }
  15. public override AndroidJavaObject Invoke(string method, object[] args)
  16. {
  17. if (method.Equals("onResult"))
  18. {
  19. if (args[0] is string)
  20. {
  21. string result = (string)(args[0]);
  22. TapLoom.QueueOnMainThread(() =>
  23. {
  24. callback(new Result(result));
  25. });
  26. }
  27. }
  28. return null;
  29. }
  30. }
  31. }