Merge branch 'dev-ali'

main
Hazim Bin Ijaz 3 weeks ago
commit bbf1beea33

@ -44,6 +44,7 @@ MonoBehaviour:
- MoreMountains.Feedbacks.TextMeshPro - MoreMountains.Feedbacks.TextMeshPro
- AV.Inspector - AV.Inspector
- NaughtyAttributes.Editor - NaughtyAttributes.Editor
- IAPResolver
- Sirenix.OdinInspector.CompatibilityLayer.Editor - Sirenix.OdinInspector.CompatibilityLayer.Editor
- UniTask.Linq - UniTask.Linq
- MPUIKit.Editor - MPUIKit.Editor
@ -74,6 +75,7 @@ MonoBehaviour:
- NavMeshComponents - NavMeshComponents
- Animancer.FSM - Animancer.FSM
- MoreMountains.Feedbacks.NiceVibrations - MoreMountains.Feedbacks.NiceVibrations
- Purchasing.Common
- UniTask.TextMeshPro - UniTask.TextMeshPro
- MoreMountains.Feedbacks.Authorizations - MoreMountains.Feedbacks.Authorizations
- UniTask.DOTween - UniTask.DOTween

@ -28,9 +28,9 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 2482728081838297372} m_Father: {fileID: 2482728081838297372}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5}
@ -60,6 +60,7 @@ MonoBehaviour:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
@ -67,8 +68,7 @@ MonoBehaviour:
m_text: Text...99% m_text: Text...99%
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 50c12c23294124aa48490c44ac65a9e4, type: 2} m_fontAsset: {fileID: 11400000, guid: 50c12c23294124aa48490c44ac65a9e4, type: 2}
m_sharedMaterial: {fileID: 7746803525459343344, guid: 50c12c23294124aa48490c44ac65a9e4, m_sharedMaterial: {fileID: 7746803525459343344, guid: 50c12c23294124aa48490c44ac65a9e4, type: 2}
type: 2}
m_fontSharedMaterials: [] m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0} m_fontMaterial: {fileID: 0}
m_fontMaterials: [] m_fontMaterials: []
@ -86,13 +86,12 @@ MonoBehaviour:
m_fontColorGradientPreset: {fileID: 0} m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0} m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0 m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0 m_overrideHtmlColors: 0
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 40 m_fontSize: 40
m_fontSizeBase: 40 m_fontSizeBase: 40
m_fontWeight: 400 m_fontWeight: 400
@ -100,7 +99,9 @@ MonoBehaviour:
m_fontSizeMin: 18 m_fontSizeMin: 18
m_fontSizeMax: 72 m_fontSizeMax: 72
m_fontStyle: 0 m_fontStyle: 0
m_textAlignment: 514 m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0 m_characterSpacing: 0
m_wordSpacing: 0 m_wordSpacing: 0
m_lineSpacing: 0 m_lineSpacing: 0
@ -110,10 +111,8 @@ MonoBehaviour:
m_enableWordWrapping: 1 m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4 m_wordWrappingRatios: 0.4
m_overflowMode: 0 m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0} m_linkedTextComponent: {fileID: 0}
m_isLinkedTextComponent: 0 parentLinkedComponent: {fileID: 0}
m_isTextTruncated: 0
m_enableKerning: 1 m_enableKerning: 1
m_enableExtraPadding: 0 m_enableExtraPadding: 0
checkPaddingRequired: 0 checkPaddingRequired: 0
@ -121,40 +120,18 @@ MonoBehaviour:
m_parseCtrlCharacters: 1 m_parseCtrlCharacters: 1
m_isOrthographic: 1 m_isOrthographic: 1
m_isCullingEnabled: 0 m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_horizontalMapping: 0 m_horizontalMapping: 0
m_verticalMapping: 0 m_verticalMapping: 0
m_uvLineOffset: 0 m_uvLineOffset: 0
m_geometrySortingOrder: 0 m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 1 m_VertexBufferAutoSizeReduction: 1
m_firstVisibleCharacter: 0
m_useMaxVisibleDescender: 1 m_useMaxVisibleDescender: 1
m_pageToDisplay: 1 m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0} m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 2482728080564616998}
characterCount: 10
spriteCount: 0
spaceCount: 0
wordCount: 2
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_isUsingLegacyAnimationComponent: 0 m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0 m_isVolumetricText: 0
m_spriteAnimator: {fileID: 0}
m_hasFontAssetChanged: 0 m_hasFontAssetChanged: 0
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0} m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2482728081313853794 --- !u!1 &2482728081313853794
@ -185,9 +162,9 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 2482728081838297372} m_Father: {fileID: 2482728081838297372}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
@ -217,6 +194,7 @@ MonoBehaviour:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
@ -260,11 +238,11 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 2482728081313853795} - {fileID: 2482728081313853795}
- {fileID: 2482728080564617017} - {fileID: 2482728080564617017}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5}
@ -294,12 +272,13 @@ MonoBehaviour:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: f9e47d48ae68e48eab6bcdcc8fcac328, type: 3} m_Sprite: {fileID: 21300000, guid: cc49fd84e1887474dad5380ad522d253, type: 3}
m_Type: 1 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
m_FillMethod: 4 m_FillMethod: 4
@ -322,6 +301,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Navigation: m_Navigation:
m_Mode: 3 m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0} m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0} m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}

@ -0,0 +1,148 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3967412330329717953
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2062263522730748915}
- component: {fileID: 3350659821264205536}
m_Layer: 0
m_Name: ShopManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2062263522730748915
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3967412330329717953}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.6210089, y: -1.0801344, z: 90}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3350659821264205536
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3967412330329717953}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a5467920342753f45af6cb2b5de436de, type: 3}
m_Name:
m_EditorClassIdentifier:
cItem:
- Name: PiPuzzle Coin Pack 1
Id: pipuzzle.coin_pack_1
desc:
price: 1.99
- Name: PiPuzzle Coin Pack 2
Id: pipuzzle.coin_pack_2
desc:
price: 3.49
- Name: PiPuzzle Coin Pack 3
Id: pipuzzle.coin_pack_3
desc:
price: 4.99
- Name: PiPuzzle Coin Pack 4
Id: pipuzzle.coin_pack_4
desc:
price: 7.99
- Name: PiPuzzle Coin Pack 5
Id: pipuzzle.coin_pack_5
desc:
price: 14.99
pItem:
- Name: PiPuzzle Pipe variation 0
Id: pipuzzle.pipes_0
desc:
price: 4.99
- Name: PiPuzzle Pipe variation 1
Id: pipuzzle.pipes_1
desc:
price: 4.99
- Name: PiPuzzle pipe variation 2
Id: pipuzzle.pipes_2
desc:
price: 4.99
- Name: PiPuzzle pipe variation 3
Id: pipuzzle.pipes_3
desc:
price: 4.99
- Name: PiPuzzle pipe variation 4
Id: pipuzzle.pipes_4
desc:
price: 4.99
coinsRewards: 320000006400000096000000fa000000f4010000
inp: {fileID: 0}
data:
Payload:
Store:
TransactionID:
payload:
json:
signature:
skuDetails: []
payloadData:
orderId:
packageName:
productId:
purchaseTime: 0
purchaseState: 0
purchaseToken:
quantity: 0
acknowledged: 0
payloadData:
orderId:
packageName:
productId:
purchaseTime: 0
purchaseState: 0
purchaseToken:
quantity: 0
acknowledged: 0
PipeButtons:
- isPurchased: 0
isEquipped: 0
PurchaseButton: {fileID: 0}
EquipButton: {fileID: 0}
equipButtonText: {fileID: 0}
- isPurchased: 0
isEquipped: 0
PurchaseButton: {fileID: 0}
EquipButton: {fileID: 0}
equipButtonText: {fileID: 0}
- isPurchased: 0
isEquipped: 0
PurchaseButton: {fileID: 0}
EquipButton: {fileID: 0}
equipButtonText: {fileID: 0}
- isPurchased: 0
isEquipped: 0
PurchaseButton: {fileID: 0}
EquipButton: {fileID: 0}
equipButtonText: {fileID: 0}
- isPurchased: 0
isEquipped: 0
PurchaseButton: {fileID: 0}
EquipButton: {fileID: 0}
equipButtonText: {fileID: 0}
currentPurchaseType: 0
coinTxt: {fileID: 0}
AdsPurchasedWindow: {fileID: 0}
adsBanner: {fileID: 0}
subActivatedWindow: {fileID: 0}
premiumBanner: {fileID: 0}

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4dfd2d4eff9989c4db41b8946355349b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -197,211 +197,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 38584164} m_GameObject: {fileID: 38584164}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1001 &104955743
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1285621382}
m_Modifications:
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_text
value: Fight, Survive, and Rise as a Hero of the Labyrinth!
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_fontSize
value: 30
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 11400000, guid: d052530be2da14133b3b3f5f9e4babf8, type: 2}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_fontSizeBase
value: 30
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_textAlignment
value: 65535
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_sharedMaterial
value:
objectReference: {fileID: 7970192556030056548, guid: d052530be2da14133b3b3f5f9e4babf8, type: 2}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_enableAutoSizing
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_TextStyleHashCode
value: -1183493901
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_VerticalAlignment
value: 512
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_HorizontalAlignment
value: 2
objectReference: {fileID: 0}
- target: {fileID: 2482728080564616998, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_hasFontAssetChanged
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617016, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617017, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617017, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617017, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617017, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_SizeDelta.x
value: 781.4438
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617017, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_SizeDelta.y
value: 65
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617017, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728080564617017, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchoredPosition.y
value: -110
objectReference: {fileID: 0}
- target: {fileID: 2482728081313853795, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081313853795, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081313853795, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_SizeDelta.x
value: 0.5793
objectReference: {fileID: 0}
- target: {fileID: 2482728081313853795, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 3.2896118
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_SizeDelta.x
value: 889.334
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_SizeDelta.y
value: 50.81781
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_AnchoredPosition.y
value: 220
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297373, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_Value
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297373, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_MaxValue
value: 100
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297375, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_Name
value: Slider_LoadingBar
objectReference: {fileID: 0}
- target: {fileID: 2482728081838297375, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
--- !u!224 &119874042 stripped --- !u!224 &119874042 stripped
RectTransform: RectTransform:
m_CorrespondingSourceObject: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3} m_CorrespondingSourceObject: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
@ -511,6 +306,81 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0} m_Pivot: {x: 0, y: 0}
--- !u!1 &448233534
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 448233535}
- component: {fileID: 448233537}
- component: {fileID: 448233536}
m_Layer: 5
m_Name: LoadingBarFill
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &448233535
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 448233534}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1845972578}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 923, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &448233536
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 448233534}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 7d0a967d4d6b16845adec2dd0991fd5b, type: 3}
m_Type: 3
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 0
m_FillAmount: 0
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &448233537
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 448233534}
m_CullTransparentMesh: 1
--- !u!1 &564785406 --- !u!1 &564785406
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -579,22 +449,6 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!224 &591558630 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2482728081838297372, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
m_PrefabInstance: {fileID: 104955743}
m_PrefabAsset: {fileID: 0}
--- !u!114 &591558631 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2482728081838297373, guid: 1655ad8223f244d34a1dc63ee78eac3f, type: 3}
m_PrefabInstance: {fileID: 104955743}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &654387948 --- !u!1 &654387948
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1424,8 +1278,8 @@ RectTransform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 38584165} - {fileID: 38584165}
- {fileID: 591558630}
- {fileID: 794248334} - {fileID: 794248334}
- {fileID: 1845972578}
m_Father: {fileID: 183355944} m_Father: {fileID: 183355944}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
@ -1899,7 +1753,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f98315eaed90eac48829d8d8dda4a446, type: 3} m_Script: {fileID: 11500000, guid: f98315eaed90eac48829d8d8dda4a446, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
loadingSlider: {fileID: 591558631} loadingSlider: {fileID: 448233536}
--- !u!4 &1696995257 --- !u!4 &1696995257
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1915,6 +1769,82 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1845972577
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1845972578}
- component: {fileID: 1845972580}
- component: {fileID: 1845972579}
m_Layer: 5
m_Name: LoadingBarBG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1845972578
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1845972577}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 448233535}
m_Father: {fileID: 1285621382}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 140}
m_SizeDelta: {x: 960, y: 81}
m_Pivot: {x: 0.5, y: 0}
--- !u!114 &1845972579
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1845972577}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: cc49fd84e1887474dad5380ad522d253, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1845972580
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1845972577}
m_CullTransparentMesh: 1
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

@ -7,11 +7,11 @@ using UnityEngine.UI;
public class Bootstrapper : MonoBehaviour public class Bootstrapper : MonoBehaviour
{ {
[SerializeField] private Slider loadingSlider; [SerializeField] private Image loadingSlider;
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
{ {
loadingSlider.DOValue(100f, 2.5f).OnComplete(() => loadingSlider.DOFillAmount(1f, 2.5f).OnComplete(() =>
{ {
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
}); });

@ -0,0 +1,565 @@
using System.Collections;
using UnityEngine;
using TMPro;
using System;
using UnityEngine.Purchasing;
using System.Collections.Generic;
using static UnityEngine.Networking.UnityWebRequest;
using UnityEngine.Purchasing.Extension;
using UnityEngine.UI;
//using UnityEngine.WSA;
using DG.Tweening;
[Serializable]
public class ConsumableItem
{
public string Name;
public string Id;
public string desc;
public float price;
}
[Serializable]
public class NonConsumableItem
{
public string Name;
public string Id;
public string desc;
public float price;
}
[Serializable]
public class SubscriptionItem
{
public string Name;
public string Id;
public string desc;
public float price;
public int timeDuration;// in Days
}
public class ShopManager : MonoBehaviour, IDetailedStoreListener
{
IStoreController m_StoreController;
public List<ConsumableItem> cItem;
public List<ConsumableItem> pItem;
public List<int> coinsRewards;
//public NonConsumableItem ncItem;
//public SubscriptionItem sItem;
public TMP_InputField inp;
public Data data;
public Payload payload;
public PayloadData payloadData;
public List<ButtonState> PipeButtons;
//public List<Button> PurchaseButtons;
[Serializable]
public class ButtonState
{
public bool isPurchased;
public bool isEquipped;
public Button PurchaseButton;
public Button EquipButton;
public TextMeshProUGUI equipButtonText;
}
private void Start()
{
int coins = PlayerPrefs.GetInt("Coin");
coinTxt.text = coins.ToString();
SetupBuilder();
CheckIfProductPurchased();
PipePrefGetter();
}
public bool IsProductPurchased(string productId)
{
Product product = m_StoreController.products.WithID(productId);
bool itemBought = false;
if (product != null && product.hasReceipt)
{
// Owned Non Consumables and Subscriptions should always have receipts.
// So here the Non Consumable product has already been bought.
itemBought = true;
}
//var product = m_StoreController?.catalog.allProducts.FirstOrDefault(p => p.definition.id == productId);
//if (product != null)
//{
// return m_StoreController.playerReceipt.ContainsProduct(product);
//}
Debug.Log("IsProductPurchased Called for: " + productId);
return itemBought;
}
// Call this function when you want to check if a product is purchased
public void CheckIfProductPurchased()
{
for (int i = 1; i < pItem.Count; i++)
{
if (IsProductPurchased(pItem[i].Id))
{
//PlayerPrefs.SetInt("PipeButtonIsEquipped" + 0, 1);
PlayerPrefs.SetInt("PipeButtonIsPurchased" + i, 1);
Debug.Log("Pipe " + i + " is purchased already!");
// Product is purchased, grant access to features
}
//else
//{
// // Product is not purchased, handle accordingly
//}
}
}
void PipePrefGetter()
{
if (!PlayerPrefs.HasKey("PipeButtonIsEquipped" + 0))
{
PlayerPrefs.SetInt("PipeButtonIsEquipped" + 0, 1);
PlayerPrefs.SetInt("PipeButtonIsPurchased" + 0, 1);
}
for (int i = 0; i < PipeButtons.Count; i++)
{
PipeButtons[i].isEquipped = PlayerPrefs.GetInt("PipeButtonIsEquipped" + i) == 1 ? true : false;
PipeButtons[i].isPurchased = PlayerPrefs.GetInt("PipeButtonIsPurchased" + i) == 1 ? true : false;
if (PipeButtons[i].isPurchased == false)
{
PipeButtons[i].PurchaseButton.gameObject.SetActive(true);
PipeButtons[i].EquipButton.gameObject.SetActive(false);
}
else
{
PipeButtons[i].EquipButton.gameObject.SetActive(true);
PipeButtons[i].PurchaseButton.gameObject.SetActive(false);
if (PipeButtons[i].isEquipped == true)
{
PipeButtons[i].equipButtonText.text = "Equipped";
}
else
{
PipeButtons[i].equipButtonText.text = "Equip";
}
}
}
}
#region setup and initialize
void SetupBuilder()
{
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
for (int i = 0; i < cItem.Count; i++)
{
builder.AddProduct(cItem[i].Id, ProductType.Consumable);
}
for (int i = 1; i < pItem.Count; i++)//Starting from 1 because 1 set of pipe is already bought by default.
{
builder.AddProduct(pItem[i].Id, ProductType.NonConsumable);
}
//builder.AddProduct(ncItem.Id, ProductType.NonConsumable);
//builder.AddProduct(sItem.Id, ProductType.Subscription);
UnityPurchasing.Initialize(this, builder);
}
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
print("Success");
m_StoreController = controller;
//CheckNonConsumable(ncItem.Id);
//CheckSubscription(sItem.Id);
}
#endregion
#region button clicks
public void Consumable_Btn_Pressed(int index)
{
//AddCoins(50);
currentPurchaseType = PurchaseType.Coins;
m_StoreController.InitiatePurchase(cItem[index].Id);
}
public void Consumable_Btn_Pressed_Pipes(int index)
{
//AddCoins(50);
currentPurchaseType = PurchaseType.Pipes;
Debug.Log("Purchasing pipes1... : " + pItem[index].Id);
m_StoreController.InitiatePurchase(pItem[index].Id);
//Debug.Log("Purchasing pipes2... : "+ pItem[index].Id);
}
//public void NonConsumable_Btn_Pressed()
//{
// //RemoveAds();
// m_StoreContoller.InitiatePurchase(ncItem.Id);
//}
//public void Subscription_Btn_Pressed()
//{
// //ActivateElitePass();
// m_StoreContoller.InitiatePurchase(sItem.Id);
//}
#endregion
public PurchaseType currentPurchaseType;
public enum PurchaseType
{
Coins, Pipes,
}
#region main
//processing purchase
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs purchaseEvent)
{
//Retrive the purchased product
Debug.Log("Process Purchase");
var product = purchaseEvent.purchasedProduct;
print("Purchase Complete" + product.definition.id + " Purchase Type: " + currentPurchaseType.ToString());
if (currentPurchaseType == PurchaseType.Coins)
{
for (int h = 0; h < cItem.Count; h++)
{
if (product.definition.id == cItem[h].Id)//consumable item is pressed
{
//string receipt = product.receipt;
//data = JsonUtility.FromJson<Data>(receipt);
//payload = JsonUtility.FromJson<Payload>(data.Payload);
//payloadData = JsonUtility.FromJson<PayloadData>(payload.json);
//int quantity = payloadData.quantity;
//for (int i = 0; i < quantity; i++)
//{
AddCoins(h);
//}
}
}
}
else if (currentPurchaseType == PurchaseType.Pipes)
{
for (int h = 0; h < pItem.Count; h++)
{
Debug.Log("product.definition.id : " + product.definition.id);
Debug.Log("pItem[h].Id : " + pItem[h].Id);
if (product.definition.id == pItem[h].Id)//consumable item is pressed
{
//string receipt = product.receipt;
//data = JsonUtility.FromJson<Data>(receipt);
//payload = JsonUtility.FromJson<Payload>(data.Payload);
//payloadData = JsonUtility.FromJson<PayloadData>(payload.json);
//int quantity = payloadData.quantity;
//for (int i = 0; i < quantity; i++)
//{
//AddPipes(h);
//}
}
}
}
//else if (product.definition.id == ncItem.Id)//non consumable
//{
// RemoveAds();
//}
//else if (product.definition.id == sItem.Id)//subscribed
//{
// ActivateElitePass();
//}
return PurchaseProcessingResult.Complete;
}
#endregion
void CheckNonConsumable(string id)
{
if (m_StoreController != null)
{
var product = m_StoreController.products.WithID(id);
if (product != null)
{
if (product.hasReceipt)//purchased
{
RemoveAds();
}
else
{
ShowAds();
}
}
}
}
void CheckSubscription(string id)
{
var subProduct = m_StoreController.products.WithID(id);
if (subProduct != null)
{
try
{
if (subProduct.hasReceipt)
{
var subManager = new SubscriptionManager(subProduct, null);
var info = subManager.getSubscriptionInfo();
/*print(info.getCancelDate());
print(info.getExpireDate());
print(info.getFreeTrialPeriod());
print(info.getIntroductoryPrice());
print(info.getProductId());
print(info.getPurchaseDate());
print(info.getRemainingTime());
print(info.getSkuDetails());
print(info.getSubscriptionPeriod());
print(info.isAutoRenewing());
print(info.isCancelled());
print(info.isExpired());
print(info.isFreeTrial());
print(info.isSubscribed());*/
if (info.isSubscribed() == UnityEngine.Purchasing.Result.True)
{
print("We are subscribed");
ActivateElitePass();
}
else
{
print("Un subscribed");
DeActivateElitePass();
}
}
else
{
print("receipt not found !!");
}
}
catch (Exception)
{
print("It only work for Google store, app store, amazon store, you are using fake store!!");
}
}
else
{
print("product not found !!");
}
}
#region error handeling
public void OnInitializeFailed(InitializationFailureReason error)
{
print("failed" + error);
}
public void OnInitializeFailed(InitializationFailureReason error, string message)
{
print("initialize failed" + error + message);
}
public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
{
print("purchase failed" + failureReason);
}
public void OnPurchaseFailed(Product product, PurchaseFailureDescription failureDescription)
{
print("purchase failed" + failureDescription);
}
#endregion
#region extra
[Header("Consumable")]
public Text coinTxt;
void AddCoins(int index)
{
int toAdd = coinsRewards[index];
int coins = PlayerPrefs.GetInt("Coin");
Debug.Log(toAdd + " Coins purchased");
coins += toAdd;
PlayerPrefs.SetInt("Coin", coins);
StartCoroutine(startCoinShakeEffect(coins - toAdd, coins, .5f));
}
//public void EquipUnEquipPipe(int buttonIndex)
//{
// if (PipeButtons[buttonIndex].isEquipped)
// {
// PlayerPrefs.SetInt("PipeButtonIsEquipped" + buttonIndex, 0);
// PlayerPrefs.SetInt("PipeButtonIsEquipped" + 0, 1);
// PipeIndexSetter(0);
// }
// else
// {
// for (int i = 0; i < PipeButtons.Count; i++)
// {
// if (i != buttonIndex)
// {
// PipeButtons[i].isEquipped = false;
// PlayerPrefs.SetInt("PipeButtonIsEquipped" + i, 0);
// PipeButtons[i].equipButtonText.text = "Equip";
// }
// else
// {
// PipeButtons[i].isEquipped = true;
// PlayerPrefs.SetInt("PipeButtonIsEquipped" + i, 1);
// PipeButtons[i].equipButtonText.text = "Equipped";
// PipeIndexSetter(buttonIndex);
// }
// }
// }
//}
////public void PipeIndexSetter(int index)
//{
// GameManager.PipeIndex = index;
//}
//void AddPipes(int index)
//{
// PlayerPrefs.SetInt("PipeButtonIsPurchased" + index, 1);
// PipeButtons[index].isPurchased = true;
// PipeButtons[index].EquipButton.gameObject.SetActive(true);
// PipeButtons[index].PurchaseButton.gameObject.SetActive(false);
// Debug.Log("Pipe " + index + " purchased");
//}
float val;
IEnumerator startCoinShakeEffect(int oldValue, int newValue, float animTime)
{
float ct = 0;
float nt;
float tot = animTime;
coinTxt.transform.DOShakePosition(0.5f);
// coinTxt.GetComponent<Animation>().Play("textShake");
while (ct < tot)
{
ct += Time.deltaTime;
nt = ct / tot;
val = Mathf.Lerp(oldValue, newValue, nt);
coinTxt.text = ((int)(val)).ToString();
yield return null;
}
//coinTxt.GetComponent<Animation>().Stop();
}
[Header("Non Consumable")]
public GameObject AdsPurchasedWindow;
public GameObject adsBanner;
void RemoveAds()
{
DisplayAds(false);
}
void ShowAds()
{
DisplayAds(true);
}
void DisplayAds(bool x)
{
if (!x)
{
AdsPurchasedWindow.SetActive(true);
adsBanner.SetActive(false);
}
else
{
AdsPurchasedWindow.SetActive(false);
adsBanner.SetActive(true);
}
}
[Header("Subscription")]
public GameObject subActivatedWindow;
public GameObject premiumBanner;
void ActivateElitePass()
{
setupElitePass(true);
}
void DeActivateElitePass()
{
setupElitePass(false);
}
void setupElitePass(bool x)
{
if (x)// active
{
subActivatedWindow.SetActive(true);
premiumBanner.SetActive(true);
}
else
{
subActivatedWindow.SetActive(false);
premiumBanner.SetActive(false);
}
}
#endregion
}
[Serializable]
public class SkuDetails
{
public string productId;
public string type;
public string title;
public string name;
public string iconUrl;
public string description;
public string price;
public long price_amount_micros;
public string price_currency_code;
public string skuDetailsToken;
}
[Serializable]
public class PayloadData
{
public string orderId;
public string packageName;
public string productId;
public long purchaseTime;
public int purchaseState;
public string purchaseToken;
public int quantity;
public bool acknowledged;
}
[Serializable]
public class Payload
{
public string json;
public string signature;
public List<SkuDetails> skuDetails;
public PayloadData payloadData;
}
[Serializable]
public class Data
{
public string Payload;
public string Store;
public string TransactionID;
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a5467920342753f45af6cb2b5de436de
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 4ac13d0720b76814ba104e4abba1825d guid: 7d0a967d4d6b16845adec2dd0991fd5b
TextureImporter: TextureImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}

@ -8,6 +8,7 @@
"com.unity.ide.visualstudio": "2.0.22", "com.unity.ide.visualstudio": "2.0.22",
"com.unity.ide.vscode": "1.2.5", "com.unity.ide.vscode": "1.2.5",
"com.unity.mobile.android-logcat": "1.4.3", "com.unity.mobile.android-logcat": "1.4.3",
"com.unity.purchasing": "4.12.2",
"com.unity.recorder": "4.0.3", "com.unity.recorder": "4.0.3",
"com.unity.test-framework": "1.3.8", "com.unity.test-framework": "1.3.8",
"com.unity.textmeshpro": "3.0.7", "com.unity.textmeshpro": "3.0.7",

@ -70,6 +70,26 @@
"dependencies": {}, "dependencies": {},
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.nuget.newtonsoft-json": {
"version": "3.2.1",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.purchasing": {
"version": "4.12.2",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0",
"com.unity.services.core": "1.12.5",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.recorder": { "com.unity.recorder": {
"version": "4.0.3", "version": "4.0.3",
"depth": 0, "depth": 0,
@ -79,6 +99,17 @@
}, },
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.services.core": {
"version": "1.12.5",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.modules.androidjni": "1.0.0",
"com.unity.nuget.newtonsoft-json": "3.2.1",
"com.unity.modules.unitywebrequest": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": { "com.unity.test-framework": {
"version": "1.3.8", "version": "1.3.8",
"depth": 0, "depth": 0,

@ -162,7 +162,7 @@ PlayerSettings:
androidSupportedAspectRatio: 1 androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1 androidMaxAspectRatio: 2.1
applicationIdentifier: applicationIdentifier:
Android: com.Rizze.HeroesOfLabyrinth Android: com.rizze.heroesoflabyrinth
Standalone: com.D2DGames.D2D Standalone: com.D2DGames.D2D
iPhone: com.gucgames.merge.defence.squad.shoot iPhone: com.gucgames.merge.defence.squad.shoot
buildNumber: buildNumber:
@ -254,7 +254,7 @@ PlayerSettings:
clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
templatePackageId: com.unity.template.3d@5.0.4 templatePackageId: com.unity.template.3d@5.0.4
templateDefaultScene: Assets/Scenes/SampleScene.unity templateDefaultScene: Assets/Scenes/SampleScene.unity
useCustomMainManifest: 0 useCustomMainManifest: 1
useCustomLauncherManifest: 0 useCustomLauncherManifest: 0
useCustomMainGradleTemplate: 1 useCustomMainGradleTemplate: 1
useCustomLauncherGradleManifest: 0 useCustomLauncherGradleManifest: 0
@ -266,8 +266,8 @@ PlayerSettings:
AndroidTargetDevices: 0 AndroidTargetDevices: 0
AndroidSplashScreenScale: 0 AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0} androidSplashScreen: {fileID: 0}
AndroidKeystoreName: '{dedicated}: HOLkey.keystore' AndroidKeystoreName: '{inproject}: Assets/HOL.keystore'
AndroidKeyaliasName: holkey AndroidKeyaliasName: hol
AndroidEnableArmv9SecurityFeatures: 0 AndroidEnableArmv9SecurityFeatures: 0
AndroidBuildApkPerCpuArchitecture: 0 AndroidBuildApkPerCpuArchitecture: 0
AndroidTVCompatibility: 0 AndroidTVCompatibility: 0
@ -956,11 +956,11 @@ PlayerSettings:
apiCompatibilityLevel: 6 apiCompatibilityLevel: 6
activeInputHandler: 0 activeInputHandler: 0
windowsGamepadBackendHint: 0 windowsGamepadBackendHint: 0
cloudProjectId: cloudProjectId: f692c634-56c3-45e3-a92e-6c84712edd18
framebufferDepthMemorylessMode: 0 framebufferDepthMemorylessMode: 0
qualitySettingsNames: [] qualitySettingsNames: []
projectName: projectName: Heroes Of Labyrinth
organizationId: organizationId: rizzestudios
cloudEnabled: 0 cloudEnabled: 0
legacyClampBlendShapeWeights: 0 legacyClampBlendShapeWeights: 0
hmiLoadingImage: {fileID: 0} hmiLoadingImage: {fileID: 0}

Loading…
Cancel
Save