1 2extends Control 3 4onready var alert = get_node("alert") 5 6func _ready(): 7 iap.set_auto_consume(false) 8 iap.connect("purchase_success", self, "on_purchase_success") 9 iap.connect("purchase_fail", self, "on_purchase_fail") 10 iap.connect("purchase_cancel", self, "on_purchase_cancel") 11 iap.connect("purchase_owned", self, "on_purchase_owned") 12 iap.connect("has_purchased", self, "on_has_purchased") 13 iap.connect("consume_success", self, "on_consume_success") 14 iap.connect("consume_fail", self, "on_consume_fail") 15 iap.connect("sku_details_complete", self, "on_sku_details_complete") 16 17 get_node("purchase").connect("pressed", self, "button_purchase") 18 get_node("consume").connect("pressed", self, "button_consume") 19 get_node("request").connect("pressed", self, "button_request") 20 get_node("query").connect("pressed", self, "button_query") 21 22 23func on_purchase_success(item_name): 24 alert.set_text("Purchase success : "+item_name) 25 alert.popup() 26 27func on_purchase_fail(): 28 alert.set_text("Purchase fail") 29 alert.popup() 30 31func on_purchase_cancel(): 32 alert.set_text("Purchase cancel") 33 alert.popup() 34 35func on_purchase_owned(item_name): 36 alert.set_text("Purchase owned : "+item_name) 37 alert.popup() 38 39func on_has_purchased(item_name): 40 if item_name == null: 41 alert.set_text("Don't have purchased item") 42 else: 43 alert.set_text("Has purchased : "+item_name) 44 alert.popup() 45 46func on_consume_success(item_name): 47 alert.set_text("Consume success : "+item_name) 48 alert.popup() 49 50func on_consume_fail(): 51 alert.set_text("Try to request purchased first") 52 alert.popup() 53 54func on_sku_details_complete(): 55 alert.set_text("Got detail info : "+iap.sku_details["item_test_a"].to_json()) 56 alert.popup() 57 58 59func button_purchase(): 60 iap.purchase("item_tess") 61 62func button_consume(): 63 iap.consume("item_tess") 64 65func button_request(): 66 iap.request_purchased() 67 68func button_query(): 69 iap.sku_details_query(["item_test_a", "item_test_b"]) 70 71