From 46ba3cf3d0e485c50058f69b669a0cd8885798a3 Mon Sep 17 00:00:00 2001 From: Ino Date: Mon, 8 Sep 2025 06:21:01 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9B=94=2070=EB=A7=8C=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Easy Save 3/Types/ES3UserType_SaveData.cs | 8 + Assets/GoogleMobileAds/link.xml.meta | 2 +- Assets/Memo.txt | 5 +- Assets/Plugins/Android/AndroidManifest.xml | 4 +- .../Prefabs/Popups/CashOverPopup.prefab | 922 ++++++++++++++++++ .../Prefabs/Popups/CashOverPopup.prefab.meta | 7 + Assets/Scenes/Title.unity | 137 --- .../SingletonManagers/Managers/DBManager.cs | 47 +- .../SingletonManagers/Managers/IAPManager.cs | 25 +- .../SingletonManagers/Managers/UIManager.cs | 4 + Assets/Scripts/UI/Popup/CloudSavePopup.cs | 2 +- Assets/Scripts/UI/ProductSlot.cs | 34 +- Assets/Scripts/UI/TitleScene/TitleCanvas.cs | 6 + 13 files changed, 1049 insertions(+), 154 deletions(-) create mode 100644 Assets/Resources/Prefabs/Popups/CashOverPopup.prefab create mode 100644 Assets/Resources/Prefabs/Popups/CashOverPopup.prefab.meta diff --git a/Assets/Easy Save 3/Types/ES3UserType_SaveData.cs b/Assets/Easy Save 3/Types/ES3UserType_SaveData.cs index 4084136..eafd584 100644 --- a/Assets/Easy Save 3/Types/ES3UserType_SaveData.cs +++ b/Assets/Easy Save 3/Types/ES3UserType_SaveData.cs @@ -36,6 +36,8 @@ namespace ES3Types writer.WriteProperty("NormalGame_GetGold", instance.NormalGame_GetGold, ES3Type_long.Instance); writer.WriteProperty("BuyShopAccumulatedMoney", instance.BuyShopAccumulatedMoney, ES3Type_long.Instance); writer.WriteProperty("MissionAddRate", instance.MissionAddRate, ES3Type_float.Instance); + writer.WriteProperty("Month", instance.Month, ES3Type_int.Instance); + writer.WriteProperty("TotalCashPerMonth", instance.TotalCashPerMonth, ES3Type_int.Instance); } protected override void ReadObject(ES3Reader reader, object obj) @@ -106,6 +108,12 @@ namespace ES3Types case "MissionAddRate": instance.MissionAddRate = reader.Read(ES3Type_float.Instance); break; + case "Month": + instance.Month = reader.Read(ES3Type_int.Instance); + break; + case "TotalCashPerMonth": + instance.TotalCashPerMonth = reader.Read(ES3Type_int.Instance); + break; default: reader.Skip(); diff --git a/Assets/GoogleMobileAds/link.xml.meta b/Assets/GoogleMobileAds/link.xml.meta index e74a03b..1271708 100644 --- a/Assets/GoogleMobileAds/link.xml.meta +++ b/Assets/GoogleMobileAds/link.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f73007bb22bf455458373bb61c6817cb +guid: ef19cb3736f6b9c49ae7f653cc4bc4be labels: - gvh - gvh_version-9.5.0 diff --git a/Assets/Memo.txt b/Assets/Memo.txt index fb72cf1..0f0ca2f 100644 --- a/Assets/Memo.txt +++ b/Assets/Memo.txt @@ -28,5 +28,6 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// -원스토어 검수 빌드 후 원스토어 결제 추가 -한달에 70만원 초과 구매 체크 \ No newline at end of file +월 70만원 한도제한 +신규 이펙트 적용 +구글 및 원스토어 이미지 분기 처리 \ No newline at end of file diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml index 0b33991..b9a9056 100644 --- a/Assets/Plugins/Android/AndroidManifest.xml +++ b/Assets/Plugins/Android/AndroidManifest.xml @@ -35,8 +35,8 @@ - - + + diff --git a/Assets/Resources/Prefabs/Popups/CashOverPopup.prefab b/Assets/Resources/Prefabs/Popups/CashOverPopup.prefab new file mode 100644 index 0000000..fe8d709 --- /dev/null +++ b/Assets/Resources/Prefabs/Popups/CashOverPopup.prefab @@ -0,0 +1,922 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &212260293622572457 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8554029635834363512} + - component: {fileID: 6971263672455323788} + - component: {fileID: 3899379678235818093} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8554029635834363512 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 212260293622572457} + 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: 2972071857479265003} + 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: 50} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6971263672455323788 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 212260293622572457} + m_CullTransparentMesh: 1 +--- !u!114 &3899379678235818093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 212260293622572457} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\uC6D4 70\uB9CC\uC6D0\uC774\uC0C1 \uAD6C\uB9E4\uD558\uC2E4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: cf1ae75e65a967946b23286a5ffbb812, type: 2} + m_sharedMaterial: {fileID: -6508382273668546854, guid: cf1ae75e65a967946b23286a5ffbb812, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 50 + m_fontSizeBase: 50 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 0 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 0 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 0 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &379525061367585326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8079070365888302883} + - component: {fileID: 5587804363172479171} + - component: {fileID: 8728534414219862685} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8079070365888302883 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 379525061367585326} + 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: 2693240141335752341} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 32, y: 0} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5587804363172479171 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 379525061367585326} + m_CullTransparentMesh: 1 +--- !u!114 &8728534414219862685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 379525061367585326} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 69a68706eacc7334b9a770b896fbc76b, 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!1 &577594376120699872 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4917115587423923741} + - component: {fileID: 820888038364665045} + - component: {fileID: 8922392990277876935} + - component: {fileID: 8301321700061805525} + - component: {fileID: 8428792621243271399} + m_Layer: 5 + m_Name: CashOverPopup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4917115587423923741 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 577594376120699872} + 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: 2972071857479265003} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &820888038364665045 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 577594376120699872} + m_CullTransparentMesh: 1 +--- !u!223 &8922392990277876935 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 577594376120699872} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &8301321700061805525 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 577594376120699872} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &8428792621243271399 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 577594376120699872} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c4ddf2e49606d74c8ac073053cc1203, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &3497469520178475531 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5289060337557918628} + - component: {fileID: 5423946753220208540} + - component: {fileID: 5758944866394749426} + m_Layer: 5 + m_Name: New Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5289060337557918628 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3497469520178475531} + 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: 2972071857479265003} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -109, y: 141} + m_SizeDelta: {x: 256, y: 256} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5423946753220208540 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3497469520178475531} + m_CullTransparentMesh: 1 +--- !u!114 &5758944866394749426 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3497469520178475531} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 26c271bb3b7a45f478e3cd30098969a4, 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!1 &4770418863810457139 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8734682593836767803} + - component: {fileID: 3636181599621689517} + - component: {fileID: 1094112667264679472} + m_Layer: 5 + m_Name: New TMP + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8734682593836767803 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4770418863810457139} + 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: 2693240141335752341} + 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: 12, y: 0} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3636181599621689517 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4770418863810457139} + m_CullTransparentMesh: 1 +--- !u!114 &1094112667264679472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4770418863810457139} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\uC54C\uB9BC" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: cf1ae75e65a967946b23286a5ffbb812, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: 1cd9f54883d04fa4a8273aaf06ef64e9, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 45 + m_fontSizeBase: 45 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4795464570027589059 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2935791033764306702} + - component: {fileID: 2533703876679052995} + - component: {fileID: 4010886950578361786} + - component: {fileID: 4363286632947362167} + m_Layer: 5 + m_Name: CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2935791033764306702 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4795464570027589059} + 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: 187524729587329930} + m_Father: {fileID: 2972071857479265003} + 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: -170} + m_SizeDelta: {x: 350, y: 120} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2533703876679052995 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4795464570027589059} + m_CullTransparentMesh: 1 +--- !u!114 &4010886950578361786 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4795464570027589059} + 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: 1c01f2ab08fa29249b1abe0a7243c0c0, 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: 2 +--- !u!114 &4363286632947362167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4795464570027589059} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 14a02640485dabf4d8eeab6b8d0e1f37, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 8428792621243271399} + m_TargetAssemblyTypeName: ClosePopup, Assembly-CSharp + m_MethodName: ClickClose + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &5303197059658524140 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 187524729587329930} + - component: {fileID: 8169156043084500769} + - component: {fileID: 5567860392869808798} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &187524729587329930 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5303197059658524140} + 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: 2935791033764306702} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 5} + m_SizeDelta: {x: 0, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8169156043084500769 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5303197059658524140} + m_CullTransparentMesh: 1 +--- !u!114 &5567860392869808798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5303197059658524140} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\uB2EB\uAE30\n" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: cf1ae75e65a967946b23286a5ffbb812, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: 1cd9f54883d04fa4a8273aaf06ef64e9, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 45 + m_fontSizeBase: 45 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 0 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 0 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 0 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7022577596305627911 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2693240141335752341} + - component: {fileID: 6284489269949146547} + - component: {fileID: 7325376398615374435} + m_Layer: 5 + m_Name: Alim + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2693240141335752341 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7022577596305627911} + 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: 8079070365888302883} + - {fileID: 8734682593836767803} + m_Father: {fileID: 2972071857479265003} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 131, y: -11} + m_SizeDelta: {x: 300, y: 67} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6284489269949146547 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7022577596305627911} + m_CullTransparentMesh: 1 +--- !u!114 &7325376398615374435 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7022577596305627911} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ebd9e391ef36c374a92e070927298f85, 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!1 &7531587859594768343 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2972071857479265003} + - component: {fileID: 5415367231164208554} + - component: {fileID: 6046370263512667868} + m_Layer: 5 + m_Name: Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2972071857479265003 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7531587859594768343} + 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: 5289060337557918628} + - {fileID: 2693240141335752341} + - {fileID: 8554029635834363512} + - {fileID: 2935791033764306702} + m_Father: {fileID: 4917115587423923741} + 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: 72} + m_SizeDelta: {x: 900, y: 600} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5415367231164208554 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7531587859594768343} + m_CullTransparentMesh: 1 +--- !u!114 &6046370263512667868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7531587859594768343} + 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: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 5f7fd8185eb11854b9a83301264d3454, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Resources/Prefabs/Popups/CashOverPopup.prefab.meta b/Assets/Resources/Prefabs/Popups/CashOverPopup.prefab.meta new file mode 100644 index 0000000..a69775e --- /dev/null +++ b/Assets/Resources/Prefabs/Popups/CashOverPopup.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9b5ec5552a358ad40a1ab2b373689549 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Title.unity b/Assets/Scenes/Title.unity index 85965b2..25577b2 100644 --- a/Assets/Scenes/Title.unity +++ b/Assets/Scenes/Title.unity @@ -355,7 +355,6 @@ RectTransform: - {fileID: 1952734779} - {fileID: 1882166872} - {fileID: 1616148361} - - {fileID: 780554467} - {fileID: 1549735634} - {fileID: 421891249} - {fileID: 2101722613} @@ -5529,142 +5528,6 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel1_3: W ---- !u!1 &780554466 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 780554467} - - component: {fileID: 780554469} - - component: {fileID: 780554468} - m_Layer: 5 - m_Name: Text (TMP) (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &780554467 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 780554466} - 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: 106099445} - 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: -337.84998} - m_SizeDelta: {x: 1340, y: 75} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &780554468 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 780554466} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 0 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 0 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "\uB370\uC774\uD130 \uB85C\uB529\uC911..." - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: cf1ae75e65a967946b23286a5ffbb812, type: 2} - m_sharedMaterial: {fileID: 2100000, guid: 1cd9f54883d04fa4a8273aaf06ef64e9, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 55 - m_fontSizeBase: 55 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 0 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 0 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 0 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &780554469 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 780554466} - m_CullTransparentMesh: 1 --- !u!1 &849724818 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/SingletonManagers/Managers/DBManager.cs b/Assets/Scripts/SingletonManagers/Managers/DBManager.cs index def01b7..62dd100 100644 --- a/Assets/Scripts/SingletonManagers/Managers/DBManager.cs +++ b/Assets/Scripts/SingletonManagers/Managers/DBManager.cs @@ -46,6 +46,9 @@ namespace CodeJay public long BuyShopAccumulatedMoney; public float MissionAddRate; + public int Month; + public int TotalCashPerMonth; + public void Initialize() { this.Gold = 10000; @@ -64,6 +67,8 @@ namespace CodeJay this.NormalGame_GetGold = 0; this.BuyShopAccumulatedMoney = 0; MissionAddRate = 0f; + Month = 0; + TotalCashPerMonth = 0; if (ImageOpenStates_Left == null) ImageOpenStates_Left = new bool[DB_HuntingData.CountEntities >> 1]; if (ImageOpenStates_Right == null) ImageOpenStates_Right = new bool[DB_HuntingData.CountEntities >> 1]; @@ -101,6 +106,8 @@ namespace CodeJay this.NormalGame_GetGold = data.NormalGame_GetGold; this.BuyShopAccumulatedMoney = data.BuyShopAccumulatedMoney; MissionAddRate = data.MissionAddRate; + Month = data.Month; + TotalCashPerMonth = data.TotalCashPerMonth; if (NormalGameLevel <= 0) NormalGameLevel = 1; @@ -246,6 +253,7 @@ public partial class DBManager : MonoBehaviour public bool IsRemoveADS { get => saveData.IsRemoveADS; } public long BuyShopAccumulatedMoney { get => saveData.BuyShopAccumulatedMoney; } public float MissionAddRate { get => saveData.MissionAddRate; } + public int TotalCashPerMonth { get => saveData.TotalCashPerMonth; } public UnityAction OnResetFreeHeartCountEvent, OnResetFreeKeyCountEvent; public UnityAction OnResetADSRewardActionCountEvent; @@ -310,8 +318,9 @@ public partial class DBManager : MonoBehaviour } } - public string Get_SaveData() { return JsonConvert.SerializeObject(saveData); } + public string Get_SaveDataJson() { return JsonConvert.SerializeObject(saveData); } public void Set_SaveData(SaveData saveData) { this.saveData = saveData; SaveDatas(); } + public SaveData Get_SaveData() { return saveData; } private void LoadDatas() { @@ -385,7 +394,7 @@ public partial class DBManager : MonoBehaviour public void Set_Mission(bool add) { - if (add) saveData.MissionAddRate += 0.1f; + if (add) saveData.MissionAddRate += 0.03f; else saveData.MissionAddRate = 0f; SaveDatas(); } @@ -914,6 +923,32 @@ public partial class DBManager : MonoBehaviour } } + public void Set_Month(int month) + { + if (saveData != null) + { + saveData.Month = month; + SaveDatas(); + } + } + public void ResetTotalCashPerMonth() + { + if (saveData != null) + { + saveData.TotalCashPerMonth = 0; + SaveDatas(); + } + } + public void AddTotalCashPerMonth(int cash) + { + if (saveData != null) + { + saveData.TotalCashPerMonth += cash; + Debug.Log("총 구매 가격 : " + saveData.TotalCashPerMonth); // 테스트 + SaveDatas(); + } + } + public void CheckDayReset() { if(DayResetCoroutine != null) @@ -937,6 +972,14 @@ public partial class DBManager : MonoBehaviour ResetADSRewardActionCount(); ResetFreeHeartCount(); + ResetFreeKeyCount(); + + if (GameManager.DB.Get_SaveData().Month != InternetTime.Ins.Time.Month) + { + GameManager.DB.Set_Month(InternetTime.Ins.Time.Month); + GameManager.DB.ResetTotalCashPerMonth(); + } + DayResetCoroutine = null; } } diff --git a/Assets/Scripts/SingletonManagers/Managers/IAPManager.cs b/Assets/Scripts/SingletonManagers/Managers/IAPManager.cs index 7ffec5c..dabeb77 100644 --- a/Assets/Scripts/SingletonManagers/Managers/IAPManager.cs +++ b/Assets/Scripts/SingletonManagers/Managers/IAPManager.cs @@ -1,9 +1,9 @@ using OneStore.Auth; -using OneStore.Common; +using OneStore.Common; // 지우면 안됨 using OneStore.Purchasing; using System; using System.Collections.Generic; -using System.Collections.ObjectModel; +using System.Collections.ObjectModel; // 지우면 안됨 using System.Text; using UnityEngine; using UnityEngine.Events; @@ -26,14 +26,11 @@ public class IAPManager : MonoBehaviour, IDetailedStoreListener private static readonly string TAG = "IAPManager"; string[] all_products = { "com.fgb.cash500", "com.fgb.cash2000", "com.fgb.cash7500", "com.fgb.heart20", "com.fgb.heart150", "com.fgb.heart500" }; - //private List productDetails = new List(); - //private Dictionary purchaseMap = new Dictionary(); private Dictionary signatureMap = new Dictionary(); string onstore_publickey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCkywe50yx7BpLXxrkothbVVY5hyHNq/L4u0ExhMxIY7lj6yX4TZjQtWGr+gPakI28RNO8QEVMBtDxtWb1/JyMPIcqzwLqqwYhFdtUxNSkIOpZHDx8+spXotwcKG6zm5w7c8iXcHg8hnlrUArLYdNcRh/cMu+bHIAsx1BKS5rDSwIDAQAB"; PurchaseClientImpl m_PurchaseClientImpl; OneStoreIapCallBack m_OneStoreIapCallBack = new OneStoreIapCallBack(); - void Start() { Init_IAP(); @@ -195,6 +192,18 @@ public class IAPManager : MonoBehaviour, IDetailedStoreListener } } + int Get_Price(string id) + { +#if UNITY_EDITOR + return (int)storeController.products.WithID(id).metadata.localizedPrice; +#else + if (StoreEnvironment.GetStoreType() == StoreType.ONESTORE) + return int.Parse(m_OneStoreIapCallBack.Get_Price(id)); + else + return (int)storeController.products.WithID(id).metadata.localizedPrice; +#endif + } + public void AddProductItem(string id) { switch (id) @@ -208,22 +217,28 @@ public class IAPManager : MonoBehaviour, IDetailedStoreListener case "com.fgb.heart20": GameManager.DB.AddHeart(20, this.name); + GameManager.DB.AddTotalCashPerMonth(Get_Price(id)); break; case "com.fgb.heart150": GameManager.DB.AddHeart(150, this.name); + GameManager.DB.AddTotalCashPerMonth(Get_Price(id)); break; case "com.fgb.heart500": GameManager.DB.AddHeart(500, this.name); + GameManager.DB.AddTotalCashPerMonth(Get_Price(id)); break; case "com.fgb.cash500": GameManager.DB.AddKey(500, this.name); + GameManager.DB.AddTotalCashPerMonth(Get_Price(id)); break; case "com.fgb.cash2000": GameManager.DB.AddKey(2000, this.name); + GameManager.DB.AddTotalCashPerMonth(Get_Price(id)); break; case "com.fgb.cash7500": GameManager.DB.AddKey(7500, this.name); + GameManager.DB.AddTotalCashPerMonth(Get_Price(id)); break; } } diff --git a/Assets/Scripts/SingletonManagers/Managers/UIManager.cs b/Assets/Scripts/SingletonManagers/Managers/UIManager.cs index 9883886..fdefc69 100644 --- a/Assets/Scripts/SingletonManagers/Managers/UIManager.cs +++ b/Assets/Scripts/SingletonManagers/Managers/UIManager.cs @@ -52,6 +52,7 @@ public enum EPopupType CloudLoadCompletePopup, CloudLoadFailPopup, CloudLoadNoDataPopup, + CashOverPopup, } public enum EGraphicRaycasterType @@ -422,6 +423,9 @@ public class UIManager : MonoBehaviour case EPopupType.CloudLoadNoDataPopup: return Instantiate(Resources.Load(path + "CloudLoadNoDataPopup"), PopupCanvasTransform); + case EPopupType.CashOverPopup: + return Instantiate(Resources.Load(path + "CashOverPopup"), PopupCanvasTransform); + default: return null; } diff --git a/Assets/Scripts/UI/Popup/CloudSavePopup.cs b/Assets/Scripts/UI/Popup/CloudSavePopup.cs index 6d3f98e..99d812f 100644 --- a/Assets/Scripts/UI/Popup/CloudSavePopup.cs +++ b/Assets/Scripts/UI/Popup/CloudSavePopup.cs @@ -3,7 +3,7 @@ public class CloudSavePopup : PopupBase public void OnClick_OK() { GameManager.DB.SaveDatas(); - GPGSInfo.Ins.SaveGame(GameManager.DB.Get_SaveData(), status => + GPGSInfo.Ins.SaveGame(GameManager.DB.Get_SaveDataJson(), status => { OnClick_Cancel(); if (status == 0) diff --git a/Assets/Scripts/UI/ProductSlot.cs b/Assets/Scripts/UI/ProductSlot.cs index 4eb14ef..b5444d5 100644 --- a/Assets/Scripts/UI/ProductSlot.cs +++ b/Assets/Scripts/UI/ProductSlot.cs @@ -50,24 +50,34 @@ public class ProductSlot : CardBase GameManager.Timer.DeactivateTimer(name); //buyButton.onClick.AddListener(OnBuyButtonClicked); } + if (GameManager.DB.Get_SaveData().Month != InternetTime.Ins.Time.Month) + { + GameManager.DB.Set_Month(InternetTime.Ins.Time.Month); + GameManager.DB.ResetTotalCashPerMonth(); + } } } #else private void OnApplicationPause(bool pauseStatus) { - if(pauseStatus == false) + if (pauseStatus == false) { DateTime loadTime = GameManager.Timer.LoadTime(); - if (loadTime.Day != DateTime.Now.Day) + if (loadTime.Day != InternetTime.Ins.Time.Day) { - GameManager.DB.ResetADSRewardActionCount(); + GameManager.DB.ResetADSRewardActionCount(); GameManager.DB.ResetFreeHeartCount(); GameManager.DB.ResetFreeKeyCount(); - + GameManager.Timer.DeactivateTimer(name); //buyButton.onClick.AddListener(OnBuyButtonClicked); } + if (GameManager.DB.Get_SaveData().Month != InternetTime.Ins.Time.Month) + { + GameManager.DB.Set_Month(InternetTime.Ins.Time.Month); + GameManager.DB.ResetTotalCashPerMonth(); + } } } #endif @@ -293,6 +303,12 @@ public class ProductSlot : CardBase } //GameManager.Timer.ActivateLoadSimpleTimer(name, Constants.ADS_TIMER_COUNT, OnStartTimer, OnPauseTimer, OnStopTimer, OnPassedTime); } + + if (GameManager.DB.Get_SaveData().Month != InternetTime.Ins.Time.Month) + { + GameManager.DB.Set_Month(InternetTime.Ins.Time.Month); + GameManager.DB.ResetTotalCashPerMonth(); + } } IEnumerator Co_Time() @@ -409,11 +425,21 @@ public class ProductSlot : CardBase else if (_data.productID == "com.fgb.adsremove") { if (GameManager.DB.IsRemoveADS == true) return; + if (GameManager.DB.TotalCashPerMonth + _data.price > 700000) + { + GameManager.UI.ShowNStackPopup(EPopupType.CashOverPopup); + return; + } GameManager.IAP.OnProcessPurchase += OnProcessPurchase; GameManager.IAP.Purchase(_data.productID); } else { + if (GameManager.DB.TotalCashPerMonth + _data.price > 700000) + { + GameManager.UI.ShowNStackPopup(EPopupType.CashOverPopup); + return; + } GameManager.IAP.OnProcessPurchase += OnProcessPurchase; GameManager.IAP.Purchase(_data.productID); } diff --git a/Assets/Scripts/UI/TitleScene/TitleCanvas.cs b/Assets/Scripts/UI/TitleScene/TitleCanvas.cs index b443cc5..7261924 100644 --- a/Assets/Scripts/UI/TitleScene/TitleCanvas.cs +++ b/Assets/Scripts/UI/TitleScene/TitleCanvas.cs @@ -1,4 +1,5 @@ using DG.Tweening; +using OneStore.Common; // 지우면 안됨 using System; using System.Collections; using TMPro; @@ -107,6 +108,11 @@ public class TitleCanvas : MonoBehaviour GameManager.DB.ResetFreeHeartCount(); GameManager.DB.ResetFreeKeyCount(); } + if (GameManager.DB.Get_SaveData().Month != InternetTime.Ins.Time.Month) + { + GameManager.DB.Set_Month(InternetTime.Ins.Time.Month); + GameManager.DB.ResetTotalCashPerMonth(); + } state = TitleCanvasState.CheckInternet; StartCurrentState();