/** * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. */ class CloudMenuMicroTrans extends MobileMenuScene; var CloudPC PC; var MicroTransactionBase MicroTrans; var MobileMenuButton ProductButtons[2]; event InitMenuScene(MobilePlayerInput PlayerInput, int ScreenWidth, int ScreenHeight, bool bIsFirstInitialization) { super.InitMenuScene(PlayerInput, ScreenWidth, ScreenHeight, bIsFirstInitialization); PC = CloudPC(InputOwner.Outer); MicroTrans = class'PlatformInterfaceBase'.static.GetMicroTransactionInterface(); MicroTrans.AddDelegate(MTD_PurchaseQueryComplete, OnProductQueryComplete); MicroTrans.AddDelegate(MTD_PurchaseComplete, OnProductPurchaseComplete); ProductButtons[0] = MobileMenuButton(FindMenuObject("Product1")); ProductButtons[1] = MobileMenuButton(FindMenuObject("Product2")); } event OnTouch(MobileMenuObject Sender, ETouchType EventType, float TouchX, float TouchY) { if (Sender.Tag == "Refresh") { MicroTrans.QueryForAvailablePurchases(); } else if (Sender.Tag == "Close") { InputOwner.CloseMenuScene(self); } else if (Sender.Tag == "Product1") { MicroTrans.BeginPurchase(0); } else if (Sender.Tag == "Product2") { MicroTrans.BeginPurchase(1); } } function Closed() { MicroTrans.ClearDelegate(MTD_PurchaseQueryComplete, OnProductQueryComplete); MicroTrans.ClearDelegate(MTD_PurchaseComplete, OnProductPurchaseComplete); Super.Closed(); } function OnProductQueryComplete(const out PlatformInterfaceDelegateResult Result) { local int Index; local PurchaseInfo Info; for (Index = 0; Index < MicroTrans.AvailableProducts.length; Index++) { Info = MicroTrans.AvailableProducts[Index]; if (Index < 2) { ProductButtons[Index].bIsHidden = false; ProductButtons[Index].Caption = Info.DisplayName; } `log("Purchase " $ Index $ ":"); `log(" " $ Info.Identifier $ " - " $ Info.DisplayName $ " / " $ Info.DisplayPrice $ " - " $ Info.DisplayDescription); } } function OnProductPurchaseComplete(const out PlatformInterfaceDelegateResult Result) { `log("Purchase complete:"); `log(" Product = " $ Result.Data.StringValue); `log(" bSuccess = " $ Result.bSuccessful); `log(" Result = " $ Result.Data.IntValue); if (Result.Data.IntValue == MTR_Failed) { `log(" Error: " $ MicroTrans.LastError); `log(" Solution: " $ MicroTrans.LastErrorSolution); } } defaultproperties { Top=0 Left=0 Width=1.0 Height=1.0 bRelativeWidth=true bRelativeHeight=true Begin Object Class=MobileMenuButton Name=Refresh Tag="Refresh" Caption="Refresh Products" CaptionColor=(R=1,G=1,B=1,A=1) Left=0.25 Top=0 Width=0.5 Height=0.15 bRelativeLeft=true bRelativeTop=true bRelativeWidth=true bRelativeHeight=true // Note: These are referencing large button background textures that aren't really required. // Images[0]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' // Images[1]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' ImagesUVs[0]=(bCustomCoords=true,U=0,V=0,UL=512,VL=512) ImagesUVs[1]=(bCustomCoords=true,U=512,V=512,UL=512,VL=512) End Object MenuObjects.Add(Refresh) Begin Object Class=MobileMenuButton Name=Close Tag="Close" Caption="Back" CaptionColor=(R=1,G=1,B=1,A=1) Left=0.25 Top=0.8 Width=0.5 Height=0.15 bRelativeLeft=true bRelativeTop=true bRelativeWidth=true bRelativeHeight=true // Note: These are referencing large button background textures that aren't really required. // Images[0]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' // Images[1]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' ImagesUVs[0]=(bCustomCoords=true,U=0,V=0,UL=512,VL=512) ImagesUVs[1]=(bCustomCoords=true,U=512,V=512,UL=512,VL=512) End Object MenuObjects.Add(Close) Begin Object Class=MobileMenuButton Name=Product1 Tag="Product1" CaptionColor=(R=1,G=1,B=1,A=1) bIsHidden=true Left=0.25 Top=0.2 Width=0.5 Height=0.15 bRelativeLeft=true bRelativeTop=true bRelativeWidth=true bRelativeHeight=true // Note: These are referencing large button background textures that aren't really required. // Images[0]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' // Images[1]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' ImagesUVs[0]=(bCustomCoords=true,U=0,V=0,UL=512,VL=512) ImagesUVs[1]=(bCustomCoords=true,U=512,V=512,UL=512,VL=512) End Object MenuObjects.Add(Product1) Begin Object Class=MobileMenuButton Name=Product2 Tag="Product2" CaptionColor=(R=1,G=1,B=1,A=1) bIsHidden=true Left=0.25 Top=0.4 Width=0.5 Height=0.15 bRelativeLeft=true bRelativeTop=true bRelativeWidth=true bRelativeHeight=true // Note: These are referencing large button background textures that aren't really required. // Images[0]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' // Images[1]=Texture2D'KismetGame_Assets.Effects.T_EarBuzz_01_D' ImagesUVs[0]=(bCustomCoords=true,U=0,V=0,UL=512,VL=512) ImagesUVs[1]=(bCustomCoords=true,U=512,V=512,UL=512,VL=512) End Object MenuObjects.Add(Product2) }