Add Shop system with ShopManager, ShopUI, and ShopSlotUI; implement item purchasing and shop UI functionality

This commit is contained in:
2025-07-12 02:07:43 +02:00
parent 8f3a913b7e
commit ad02e07a87
15 changed files with 753 additions and 3 deletions

View File

@@ -514,6 +514,55 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &749274448
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 749274450}
- component: {fileID: 749274449}
m_Layer: 0
m_Name: GameManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &749274449
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 749274448}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 41ea29e7d7d04eb5be628e56520e9bbd, type: 3}
m_Name:
m_EditorClassIdentifier:
currentRound: 1
coins: 0
roundTime: 10
maxRounds: 20
player: {fileID: 1261447603}
--- !u!4 &749274450
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 749274448}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &869793958
GameObject:
m_ObjectHideFlags: 0
@@ -601,6 +650,85 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1020220798
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1020220801}
- component: {fileID: 1020220800}
- component: {fileID: 1020220799}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1020220799
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1020220798}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_MoveRepeatDelay: 0.5
m_MoveRepeatRate: 0.1
m_XRTrackingOrigin: {fileID: 0}
m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0
m_CursorLockBehavior: 0
m_ScrollDeltaPerTick: 6
--- !u!114 &1020220800
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1020220798}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &1020220801
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1020220798}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1261447599
GameObject:
m_ObjectHideFlags: 0
@@ -726,6 +854,7 @@ MonoBehaviour:
armor: 0
level: 1
experience: 0
baseExperienceToLevelUp: 100
damage: 1
rangedDamage: 1
meleeDamage: 1
@@ -1056,6 +1185,7 @@ MonoBehaviour:
armor: 0
level: 1
experience: 0
baseExperienceToLevelUp: 100
damage: 1
rangedDamage: 1
meleeDamage: 1
@@ -1163,6 +1293,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 73900af7351645fdb19d016d621feb35, type: 3}
m_Name:
m_EditorClassIdentifier:
expReward: 5
coinReward: 1
--- !u!114 &2062887722
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1192,6 +1324,231 @@ MonoBehaviour:
m_EditorClassIdentifier:
character: {fileID: 2062887717}
initialHealth: 100
--- !u!1001 &9153788689307318134
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1231569574627435091, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1501730282976965803, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: itemsPerShop
value: 4
objectReference: {fileID: 0}
- target: {fileID: 1501730282976965803, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: inventoryManager
value:
objectReference: {fileID: 1261447609}
- target: {fileID: 1501730282976965803, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: possibleItems.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1501730282976965803, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: possibleWeapons.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1501730282976965803, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: 'possibleItems.Array.data[0]'
value:
objectReference: {fileID: 11400000, guid: 08c8a414828d19951b3a413f631a6d70, type: 2}
- target: {fileID: 1501730282976965803, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: 'possibleWeapons.Array.data[0]'
value:
objectReference: {fileID: 11400000, guid: 53811578f5e9423a584055fe920fa137, type: 2}
- target: {fileID: 4567329713039532410, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4567329713039532410, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4567329713039532410, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4567329713039532410, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4567329713039532410, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4985729667885723412, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_Name
value: Shop UI
objectReference: {fileID: 0}
- target: {fileID: 5200376552900448965, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5200376552900448965, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5200376552900448965, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5200376552900448965, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5200376552900448965, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5207083978762949642, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5207083978762949642, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5207083978762949642, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5207083978762949642, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5207083978762949642, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5210823007245714808, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5210823007245714808, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5210823007245714808, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5210823007245714808, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5210823007245714808, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6312224718360856168, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_BlockingMask.m_Bits
value: 247
objectReference: {fileID: 0}
- target: {fileID: 8381921428845315272, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8381921428845315272, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8381921428845315272, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8381921428845315272, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8381921428845315272, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4d1c30f952fa59fb9b0cc1a987f40ad8, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@@ -1201,3 +1558,6 @@ SceneRoots:
- {fileID: 1261447604}
- {fileID: 541374775}
- {fileID: 2062887720}
- {fileID: 9153788689307318134}
- {fileID: 1020220801}
- {fileID: 749274450}