No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ScriptingUnityCallback.cs 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using Uniject;
  3. namespace UnityEngine.Purchasing
  4. {
  5. /// <summary>
  6. /// Wraps an IUnityCallback executing methods on
  7. /// the scripting thread.
  8. /// </summary>
  9. internal class ScriptingUnityCallback : IUnityCallback
  10. {
  11. private readonly IUnityCallback forwardTo;
  12. private readonly IUtil util;
  13. public ScriptingUnityCallback(IUnityCallback forwardTo, IUtil util)
  14. {
  15. this.forwardTo = forwardTo;
  16. this.util = util;
  17. }
  18. public void OnSetupFailed(string json)
  19. {
  20. util.RunOnMainThread(() => forwardTo.OnSetupFailed(json));
  21. }
  22. public void OnProductsRetrieved(string json)
  23. {
  24. util.RunOnMainThread(() => forwardTo.OnProductsRetrieved(json));
  25. }
  26. public void OnPurchaseSucceeded(string id, string receipt, string transactionID)
  27. {
  28. util.RunOnMainThread(() => forwardTo.OnPurchaseSucceeded(id, receipt, transactionID));
  29. }
  30. public void OnPurchaseFailed(string json)
  31. {
  32. util.RunOnMainThread(() => forwardTo.OnPurchaseFailed(json));
  33. }
  34. }
  35. }