فهرست منبع

推塔金币奖励

WGL 2 ماه پیش
والد
کامیت
7c947c188a

+ 140 - 3
ActionTowerDefense/Assets/Resources/Prefab/GameUI/Game_UI.prefab

@@ -933,6 +933,142 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5480026869625960933
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8848502296537658217}
+  - component: {fileID: 4055079881058379478}
+  - component: {fileID: 6704070321681253635}
+  m_Layer: 5
+  m_Name: Money
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8848502296537658217
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5480026869625960933}
+  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: 8077449060321285310}
+  m_RootOrder: 1
+  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: 17.399902, y: -67.089905}
+  m_SizeDelta: {x: 202.6166, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4055079881058379478
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5480026869625960933}
+  m_CullTransparentMesh: 1
+--- !u!114 &6704070321681253635
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5480026869625960933}
+  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: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 0
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 57663398defea1c4799bb92057f1f02f, type: 2}
+  m_sharedMaterial: {fileID: -5165435918990189265, guid: 57663398defea1c4799bb92057f1f02f, type: 2}
+  m_fontSharedMaterials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  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: 50
+  m_fontSizeBase: 50
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 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 &6486017610544318955
 GameObject:
   m_ObjectHideFlags: 0
@@ -2729,7 +2865,7 @@ MonoBehaviour:
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-  m_text: "\u4E0B\u4E00\u5173"
+  m_text: "\u5546\u5E97"
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 39a7404a24ab897418249c0d649949a8, type: 2}
   m_sharedMaterial: {fileID: -1504297583073342176, guid: 39a7404a24ab897418249c0d649949a8, type: 2}
@@ -3140,7 +3276,7 @@ GameObject:
   - component: {fileID: 8077449060321285304}
   - component: {fileID: 8077449060321285305}
   m_Layer: 5
-  m_Name: NextLevelButton
+  m_Name: ShopButton
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -3159,12 +3295,13 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 8077449059633635738}
+  - {fileID: 8848502296537658217}
   m_Father: {fileID: 4641053790322432091}
   m_RootOrder: 12
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 1, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: -142, y: -78}
+  m_AnchoredPosition: {x: -266, y: -75}
   m_SizeDelta: {x: 187.39001, y: 69.099976}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &8077449060321285307

+ 224 - 0
ActionTowerDefense/Assets/Resources/Prefab/RougueUI/Shop_UI.prefab

@@ -0,0 +1,224 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &999819182979701724
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2924262753429702587}
+  - component: {fileID: 1543010006570145958}
+  - component: {fileID: 9106930299316009011}
+  - component: {fileID: 1671359374977847191}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2924262753429702587
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999819182979701724}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 8314520159487695748}
+  m_Father: {fileID: 2082904518845860207}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!223 &1543010006570145958
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999819182979701724}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!114 &9106930299316009011
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999819182979701724}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 1920, y: 1080}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!114 &1671359374977847191
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 999819182979701724}
+  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: 16777215
+--- !u!1 &5874578430425637498
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2082904518845860207}
+  - component: {fileID: 6660043312470952259}
+  m_Layer: 0
+  m_Name: Shop_UI
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2082904518845860207
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5874578430425637498}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 60.402832, y: 42.000595, z: -2.147348}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 2924262753429702587}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &6660043312470952259
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5874578430425637498}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a1204ca02b35cf44bdfdc36549dc15d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &7033112397563356950
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8314520159487695748}
+  - component: {fileID: 6677446138726334774}
+  - component: {fileID: 1945150763532087856}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8314520159487695748
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7033112397563356950}
+  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: 2924262753429702587}
+  m_RootOrder: 0
+  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: 1920, y: 1080}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6677446138726334774
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7033112397563356950}
+  m_CullTransparentMesh: 1
+--- !u!114 &1945150763532087856
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7033112397563356950}
+  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: 0.5137255, g: 0.5137255, b: 0.5137255, 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: 0}
+  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

+ 7 - 0
ActionTowerDefense/Assets/Resources/Prefab/RougueUI/Shop_UI.prefab.meta

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

+ 108 - 13
ActionTowerDefense/Assets/Scenes/Game.unity

@@ -4979,7 +4979,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 8136386918643143279, guid: 475f6b5e9a49ede44b229db115606737, type: 3}
       propertyPath: m_RootOrder
-      value: 11
+      value: 12
       objectReference: {fileID: 0}
     - target: {fileID: 8136386918643143279, guid: 475f6b5e9a49ede44b229db115606737, type: 3}
       propertyPath: m_LocalPosition.x
@@ -10107,7 +10107,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 7247696002149726, guid: 956ff4379e83d3c49a9c10310dbf7cc7, type: 3}
       propertyPath: m_RootOrder
-      value: 14
+      value: 15
       objectReference: {fileID: 0}
     - target: {fileID: 7247696002149726, guid: 956ff4379e83d3c49a9c10310dbf7cc7, type: 3}
       propertyPath: m_LocalPosition.x
@@ -10398,7 +10398,7 @@ Transform:
   m_Children:
   - {fileID: 606949107}
   m_Father: {fileID: 0}
-  m_RootOrder: 9
+  m_RootOrder: 10
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &490846386
 MonoBehaviour:
@@ -15934,7 +15934,7 @@ Transform:
   - {fileID: 25912257}
   - {fileID: 918154793}
   m_Father: {fileID: 0}
-  m_RootOrder: 12
+  m_RootOrder: 13
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &970449923
 GameObject:
@@ -16981,7 +16981,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 13
+  m_RootOrder: 14
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1394733510
 GameObject:
@@ -22431,8 +22431,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: a63e480014f84f04c8f1bb1145122988, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  gameTime: 0
-  totalGameTime: 0
   p1uiHP: {fileID: 2035765039221954013}
   p1uiMP: {fileID: 7582378586151668411}
   p1uiRush: {fileID: 490464920}
@@ -22442,13 +22440,23 @@ MonoBehaviour:
   - {fileID: 1934719935}
   text: {fileID: 1634269188}
   chapterBG: {fileID: 7247696832750846}
+  shopButton: {fileID: 2041973834}
+  shopUI: {fileID: 3785827473146606027}
+  moneyText: {fileID: 6486017610891705020}
+  rewardTime: 90
+  totalMoney: 600
+  extraMoney: 100
+  deductMoneyTime: 2
+  deductMoney: 1
   leveType: 0
-  nextLevelButton: {fileID: 2041973834}
-  isGaming: 0
   ratioIncrease:
   - 0.4
   - 1.6
   - -0.8
+  money: 0
+  gameTime: 0
+  totalGameTime: 0
+  gameType: 0
   levelRatio: 1
 --- !u!4 &1714821086
 Transform:
@@ -22506,7 +22514,7 @@ MonoBehaviour:
   levelIdA_debug: 8
   levelIdB_debug: 2
   curLevel: {fileID: 741372831}
-  curLevelID: 5
+  curLevelID: 0
   levels:
   - "0:9\u54081\u5173\u5361\u5C1D\u8BD5"
   - "1:\u6C34\u9762\u5173\u53612"
@@ -23386,7 +23394,7 @@ PrefabInstance:
     m_Modifications:
     - target: {fileID: 973089825946997993, guid: 8e99578d43abbeb4d95b0ae7f30a436a, type: 3}
       propertyPath: m_RootOrder
-      value: 10
+      value: 11
       objectReference: {fileID: 0}
     - target: {fileID: 973089825946997993, guid: 8e99578d43abbeb4d95b0ae7f30a436a, type: 3}
       propertyPath: m_LocalPosition.x
@@ -23500,6 +23508,78 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+--- !u!1001 &3785827473146606026
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_RootOrder
+      value: 8
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2082904518845860207, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5874578430425637498, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_Name
+      value: Shop_UI
+      objectReference: {fileID: 0}
+    - target: {fileID: 5874578430425637498, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+      propertyPath: m_IsActive
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+--- !u!114 &3785827473146606027 stripped
+MonoBehaviour:
+  m_CorrespondingSourceObject: {fileID: 6660043312470952259, guid: e2e2891c94894ba4fa5abd1af58101c6, type: 3}
+  m_PrefabInstance: {fileID: 3785827473146606026}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a1204ca02b35cf44bdfdc36549dc15d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!114 &4095479677397202718
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -23610,7 +23690,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 5446471053527330207, guid: e5c00bfb08ae78849af0c262fa477a7a, type: 3}
       propertyPath: m_RootOrder
-      value: 8
+      value: 9
       objectReference: {fileID: 0}
     - target: {fileID: 5446471053527330207, guid: e5c00bfb08ae78849af0c262fa477a7a, type: 3}
       propertyPath: m_LocalPosition.x
@@ -23765,8 +23845,23 @@ PrefabInstance:
       propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
       value: 
       objectReference: {fileID: 1714821085}
+    - target: {fileID: 8077449060321285305, guid: 8f38420ea6472ad41b71c9ea20aa1683, type: 3}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
+      value: ShowShop
+      objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 8f38420ea6472ad41b71c9ea20aa1683, type: 3}
+--- !u!114 &6486017610891705020 stripped
+MonoBehaviour:
+  m_CorrespondingSourceObject: {fileID: 6704070321681253635, guid: 8f38420ea6472ad41b71c9ea20aa1683, type: 3}
+  m_PrefabInstance: {fileID: 6486017610891705019}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!114 &7582378586151668411 stripped
 MonoBehaviour:
   m_CorrespondingSourceObject: {fileID: 1811247739857277518, guid: 8f38420ea6472ad41b71c9ea20aa1683, type: 3}
@@ -23799,7 +23894,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 16214313399265851, guid: 26eab5e2ec3352742b426b1737c54579, type: 3}
       propertyPath: m_RootOrder
-      value: 15
+      value: 16
       objectReference: {fileID: 0}
     - target: {fileID: 16214313399265851, guid: 26eab5e2ec3352742b426b1737c54579, type: 3}
       propertyPath: m_LocalPosition.x

+ 2 - 3
ActionTowerDefense/Assets/Scripts/Characters/PlayerController.cs

@@ -911,12 +911,11 @@ public class PlayerController : MoveCharacter
 
     public override void OnState()
     {
-        base.OnState();
-        if(state == CharacterState.None)
+        if(GameManager.instance.gameType == GameType.Shop)
         {
             return;
         }
-
+        base.OnState();
         cacheJumpTime -= Time.deltaTime;
         cacheSummonTime -= Time.deltaTime;
         canJumpTime -= Time.deltaTime;

+ 1 - 1
ActionTowerDefense/Assets/Scripts/EnemyCreater.cs

@@ -439,7 +439,7 @@ public class EnemyCreater : MonoBehaviour
                 CreateEnemy(cfgCreateEnemy, pos, true);
             }
             await Task.Delay((int)(TimeInterval * 1000), _cancellationTokenSource.Token);
-            if (this == null || !this.isActiveAndEnabled || !GameManager.instance.isGaming)
+            if (this == null || !this.isActiveAndEnabled || GameManager.instance.gameType != GameType.Gaming)
             {
                 Debug.Log("取消任务");
                 return; // 如果对象已被销毁,直接返回

+ 56 - 18
ActionTowerDefense/Assets/Scripts/GameManager.cs

@@ -15,24 +15,41 @@ public enum SoldierType
     [LabelText("阴灵")] Spirits = 3,
 }
 
+public enum GameType
+{
+    Gaming,
+    GameEnd,
+    Shop,
+}
 public class GameManager : MonoBehaviour
 {
     public static GameManager instance;
+
+    [FoldoutGroup("组件", order: -1)] public UIHP p1uiHP;
+    [FoldoutGroup("组件")] public UIHP p1uiMP;
+    [FoldoutGroup("组件")] public Transform p1uiRush;
+    [FoldoutGroup("组件")] public GameObject[] demonicNum;
+    [FoldoutGroup("组件")] public TextMeshProUGUI text;
+    [FoldoutGroup("组件")] public GameObject chapterBG;    //当前关卡的原始背景(用于和boss背景做替换)
+    [FoldoutGroup("组件")] public GameObject shopButton;
+    [FoldoutGroup("组件")] public ShopUI shopUI;
+    [FoldoutGroup("组件")] public TextMeshProUGUI moneyText;
+
+    [FoldoutGroup("金币结算", order: -1)][LabelText("限制时间")] public int rewardTime;
+    [FoldoutGroup("金币结算")][LabelText("金币奖励")] public int totalMoney;
+    [FoldoutGroup("金币结算")][LabelText("额外金币奖励")] public int extraMoney;
+    [FoldoutGroup("金币结算")][LabelText("惩罚时间间隔")] public int deductMoneyTime;
+    [FoldoutGroup("金币结算")][LabelText("每次惩罚扣除金币数量")] public int deductMoney;
+
+    public LeveType leveType;
+    [LabelText("下一关倍率增幅")] public List<float> ratioIncrease = new List<float> { 0.4f, 1.6f, -0.8f };
+    public int money;
     public float gameTime;
     public float totalGameTime;
     public Tables allCfgData;
-    public UIHP p1uiHP;
-    public UIHP p1uiMP;
-    public Transform p1uiRush;
-    public GameObject[] demonicNum;
-    public TextMeshProUGUI text;
     static public SoldierType[] curSoldiers;   //本局游戏选择的三个士兵
-    public GameObject chapterBG;    //当前关卡的原始背景(用于和boss背景做替换)
     public List<CreateEnemyConfig> createEnemyConfigs;
-    public LeveType leveType;
-    public GameObject nextLevelButton;
-    public bool isGaming;
-    [LabelText("下一关倍率增幅")] public List<float> ratioIncrease = new List<float> { 0.4f,1.6f,-0.8f};
+    [DisplayOnly] public GameType gameType;
     [DisplayOnly] public float levelRatio = 1;
 
     private JSONNode Loader(string fileName)
@@ -81,12 +98,12 @@ public class GameManager : MonoBehaviour
     private void Start()
     {
         gameTime = 0;
-        isGaming = true;
+        gameType = GameType.Gaming;
     }
 
     private void FixedUpdate()
     {
-        if (isGaming)
+        if (gameType == GameType.Gaming)
         {
             gameTime += Time.deltaTime;
             totalGameTime += Time.deltaTime;
@@ -100,8 +117,7 @@ public class GameManager : MonoBehaviour
     //游戏结束
     public void GameEnd()
     {
-
-        isGaming = false;
+        gameType = GameType.GameEnd;
         foreach (List<Enemy> objs in EnemyCreater.instance.enemyDic.Values)
         {
             for (int i = 0; i < objs.Count; i++)
@@ -117,14 +133,30 @@ public class GameManager : MonoBehaviour
         {
             return;
         }
-
-        nextLevelButton.SetActive(true);
+        AddMoney();
+        shopButton.SetActive(true);
+    }
+    
+    public void AddMoney()
+    {
+        int addMoney;
+        if(gameTime < rewardTime)
+        {
+            addMoney = totalMoney + extraMoney;
+        }
+        else
+        {
+            int extraTime = (int)gameTime - rewardTime;
+            addMoney = Mathf.Clamp(totalMoney - (extraTime / deductMoneyTime) * deductMoney, 0, totalMoney);
+        }
+        money += addMoney;
+        moneyText.text = $"{money}";
     }
 
     //下一关
     public void NextLevel()
     {
-        nextLevelButton.SetActive(false);
+        shopButton.SetActive(false);
 
         
         switch (leveType)
@@ -159,6 +191,12 @@ public class GameManager : MonoBehaviour
         EnemyCreater.instance.Init();
         LevelSelect.instance.ChangeText();
         gameTime = 0;
-        isGaming = true;
+        gameType = GameType.Gaming;
+    }
+
+    public void ShowShop()
+    {
+        gameType = GameType.Shop;
+        shopUI.gameObject.SetActive(true);
     }
 }

+ 18 - 0
ActionTowerDefense/Assets/Scripts/UI/ShopUI.cs

@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ShopUI : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}

+ 11 - 0
ActionTowerDefense/Assets/Scripts/UI/ShopUI.cs.meta

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