Advertisement
Guest User

Untitled

a guest
Apr 28th, 2014
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.60 KB | None | 0 0
  1. // (c) Copyright HutongGames, LLC 2010-2013. All rights reserved.
  2.  
  3. using UnityEngine;
  4. using System.Collections.Generic;
  5. using Prime31;
  6.  
  7. namespace HutongGames.PlayMaker.Actions
  8. {
  9.     [ActionCategory("StoreKit")]
  10.     [Tooltip("Consumes a purchased product so that it may be bought again. Android Only.")]
  11.     public class ConsumeProduct : FsmStateAction
  12.     {  
  13.         [RequiredField]
  14.         [Tooltip("product ID from iTunesConnect. MUST match exactly what you have there!")]
  15.         public FsmString productIdentifier;
  16.  
  17.         [RequiredField]
  18.         public FsmEvent consumeFinished;
  19.         public FsmEvent consumeFailed;
  20.  
  21.         [Tooltip("If a error occurs where should it be stored")]
  22.         public FsmString errorString;
  23.  
  24.         public override void OnEnter()
  25.         {
  26.             #if UNITY_ANDROID && !UNITY_EDITOR
  27.             GoogleIABManager.consumePurchaseSucceededEvent += consumePurchaseSucceededEvent;
  28.             GoogleIABManager.consumePurchaseFailedEvent += consumePurchaseFailedEvent;
  29.             GoogleIAB.consumeProduct( productIdentifier.Value );
  30.             #else
  31.             Finish();
  32.             #endif
  33.            
  34.         }
  35.  
  36.         public override void OnExit() {
  37.             GoogleIABManager.consumePurchaseSucceededEvent -= consumePurchaseSucceededEvent;
  38.             GoogleIABManager.consumePurchaseFailedEvent -= consumePurchaseFailedEvent;
  39.         }
  40.  
  41.         void consumePurchaseSucceededEvent( GooglePurchase purchase )
  42.         {
  43.             Debug.Log( "consumePurchaseSucceededEvent: " + purchase );
  44.             Fsm.Event(consumeFinished);
  45.             Finish();
  46.         }
  47.        
  48.        
  49.         void consumePurchaseFailedEvent( string error )
  50.         {
  51.             Debug.Log( "consumePurchaseFailedEvent: " + error );
  52.             errorString.Value = error;
  53.             Fsm.Event(consumeFailed);
  54.             Finish();
  55.         }
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement