装备系统完结,修复并加入很多
This commit is contained in:
@@ -2603,6 +2603,7 @@ MonoBehaviour:
|
||||
editorStoreItemPath: Assets/Resources/so/storeSO
|
||||
runtimeStoreItemPath: so/storeSO
|
||||
coinSprite: {fileID: 21300000, guid: 81c13879952e72d408a0cfa362ebfd02, type: 3}
|
||||
materialSprite: {fileID: 21300000, guid: 27adfaee3f8bee14280e634021049f50, type: 3}
|
||||
cannotBuySprite: {fileID: 21300000, guid: 31a50f150f27159408988fc7f06b2f9e, type: 3}
|
||||
p_itemName: {fileID: 367982752364813130}
|
||||
p_itemImage: {fileID: 8550183957802516248}
|
||||
@@ -2613,6 +2614,8 @@ MonoBehaviour:
|
||||
p_iAmount_input: {fileID: 8736896944012560947}
|
||||
purchaseButton: {fileID: 3776779056132822371}
|
||||
p_detailedDescriptionText: {fileID: 8225140069678777211}
|
||||
ctasPrefab: {fileID: 3429255239314582862, guid: 4094c58a53fbfea47a443249662f8a7f, type: 3}
|
||||
ctasParent: {fileID: 5921857076690932212}
|
||||
--- !u!1 &3890694095796514525
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -5925,7 +5928,7 @@ MonoBehaviour:
|
||||
m_HandleRect: {fileID: 946030816342223727}
|
||||
m_Direction: 0
|
||||
m_Value: 0
|
||||
m_Size: 0.99999994
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 0
|
||||
expBottleName: "<color=#5F9B6B>\u51E1\u54C1\u590D\u6F14\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: f1d975f2a96c80f45b92690b57431550, type: 3}
|
||||
itemRarity: 1
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "<b><color=#5F9B6B>C\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528</color></b>\uFF0C\u63D0\u5347\u517110\u7ECF\u9A8C\u503C\u3002\u4E00\u822C\u9700\u8981500\u7ECF\u9A8C\u53471\u5230D\u7EA7\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 0
|
||||
expApplyMode: 0
|
||||
serviceLevel: 1
|
||||
grantedExp: 10
|
||||
rainAllTargetCount: 0
|
||||
rainAllGrantedExpPerHero: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 1
|
||||
expBottleName: "<color=#4A86B8>\u4E2D\u54C1\u590D\u6F14\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: f9fd35dd32d5a334198a062117a81489, type: 3}
|
||||
itemRarity: 2
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "<b><color=#4A86B8>B\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528</color></b>\uFF0C\u63D0\u5347\u517120\u7ECF\u9A8C\u503C\u3002\u4E00\u822C\u9700\u89811000\u7ECF\u9A8C\u53471\u5230A\u7EA7\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 0
|
||||
expApplyMode: 0
|
||||
serviceLevel: 2
|
||||
grantedExp: 20
|
||||
rainAllTargetCount: 0
|
||||
rainAllGrantedExpPerHero: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 2
|
||||
expBottleName: "<color=#8A6CB0>\u4E0A\u54C1\u590D\u6F14\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: 00a08daafba61f64ea75c35fec0e2df7, type: 3}
|
||||
itemRarity: 3
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "<b><color=#8A6CB0>A\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528</color></b>\uFF0C\u63D0\u5347\u517120\u7ECF\u9A8C\u503C\u3002\u4E00\u822C\u9700\u89812000\u7ECF\u9A8C\u53471\u5230S\u7EA7\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 0
|
||||
expApplyMode: 0
|
||||
serviceLevel: 3
|
||||
grantedExp: 20
|
||||
rainAllTargetCount: 0
|
||||
rainAllGrantedExpPerHero: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 3
|
||||
expBottleName: "<color=#B88645>\u6781\u54C1\u590D\u6F14\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: 0e7ed0e47c2cf774d9c60ef2ed161c63, type: 3}
|
||||
itemRarity: 4
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "<b><color=#B88645>\u51C6S\u9605\u5386\u8D44\u683C\u5076\u50CF\u6548\u7528</color></b>\uFF0C\u4F5C\u4E3A\u7A81\u7834\u8017\u6750\uFF0C\u4E0D\u63D0\u4F9B\u7ECF\u9A8C\u3002\u53EF\u753127\u4E2A\u4E0A\u54C1\u590D\u6F14\u5355\u5143\u5408\u6210\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 0
|
||||
expApplyMode: 1
|
||||
serviceLevel: 4
|
||||
grantedExp: 0
|
||||
rainAllTargetCount: 0
|
||||
rainAllGrantedExpPerHero: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 4
|
||||
expBottleName: "<color=#B84C4C>\u7EDD\u54C1\u590D\u6F14\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: c671f69e3c0b99243bd1022db1bbfcd1, type: 3}
|
||||
itemRarity: 5
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "<b><color=#B84C4C>\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528</color></b>\uFF0C\u7ACB\u523B\u83B7\u5F97\u8DDD\u79BB\u5F53\u524D\u4E0B\u4E00\u7EA7\u7A81\u7834\u6240\u9700\u7684\u5269\u4F59\u7ECF\u9A8C\u503C\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 0
|
||||
expApplyMode: 1
|
||||
serviceLevel: 0
|
||||
grantedExp: 0
|
||||
rainAllTargetCount: 0
|
||||
rainAllGrantedExpPerHero: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 5
|
||||
expBottleName: "<color=#D96C9E>\u4ED9\u54C1\u8D85\u80FD\u590D\u6F14\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: 107d71e23e2319d4e82f82983bac7122, type: 3}
|
||||
itemRarity: 6
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "<b><color=#D96C9E>\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528</color></b>\uFF0C\u7ACB\u523B\u8BA9\u5076\u50CF\u8FBE\u5230\u51C6S\u7A81\u7834\u6C34\u5E73\uFF0C\u5E76\u8865\u9F50\u4E2D\u95F4\u7701\u7565\u7684\u7A81\u7834\u6750\u6599\u53EF\u6210\u529F\u7A81\u7834\u81F3S\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 0
|
||||
expApplyMode: 2
|
||||
serviceLevel: 0
|
||||
grantedExp: 0
|
||||
rainAllTargetCount: 0
|
||||
rainAllGrantedExpPerHero: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 6
|
||||
expBottleName: "<color=#5F9B6B>\u5171\u4EAB\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: 119d6caf259b1564c95cf54f5ccf5d24, type: 3}
|
||||
itemRarity: 3
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "\u4F7F\u7528\u540E\u7ED9\u968F\u673A3\u4E2A\u672A\u5230\u8FBE\u7A81\u7834\u9650\u5236\u7684\u5076\u50CF\u63D0\u4F9B10\u7ECF\u9A8C\u3002\u5982\u679C\u5269\u4F59\u5076\u50CF\u6570\u91CF\u4E0D\u6EE1\u8DB3\uFF0C\u80FD\u53D1\u591A\u5C11\u4EBA\u53D1\u591A\u5C11\uFF0C\u4E0D\u989D\u5916\u591A\u53D1\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 1
|
||||
expApplyMode: 0
|
||||
serviceLevel: 0
|
||||
grantedExp: 0
|
||||
rainAllTargetCount: 3
|
||||
rainAllGrantedExpPerHero: 10
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 7
|
||||
expBottleName: "<color=#4A86B8>\u9AD8\u7EA7\u5171\u4EAB\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: e270aad0cf285c04dac5a6758b069e63, type: 3}
|
||||
itemRarity: 4
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "\u4F7F\u7528\u540E\u7ED9\u968F\u673A4\u4E2A\u672A\u5230\u8FBE\u7A81\u7834\u9650\u5236\u7684\u5076\u50CF\u63D0\u4F9B20\u7ECF\u9A8C\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 1
|
||||
expApplyMode: 0
|
||||
serviceLevel: 0
|
||||
grantedExp: 0
|
||||
rainAllTargetCount: 4
|
||||
rainAllGrantedExpPerHero: 20
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,10 +15,15 @@ MonoBehaviour:
|
||||
bottleKind: 8
|
||||
expBottleName: "<color=#8A6CB0>\u8D85\u7EA7\u5171\u4EAB\u5355\u5143</color>"
|
||||
expBottleSprite: {fileID: 21300000, guid: e74de04611dd13249901884ca82ba46c, type: 3}
|
||||
itemRarity: 5
|
||||
expBottleUsage: "\u89D2\u8272\u57F9\u517B"
|
||||
expBottleDescription: "\u4F7F\u7528\u540E\u7ED9\u968F\u673A5\u4E2A\u672A\u5230\u8FBE\u7A81\u7834\u9650\u5236\u7684\u5076\u50CF\u63D0\u4F9B30\u7ECF\u9A8C\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
bottleType: 1
|
||||
expApplyMode: 0
|
||||
serviceLevel: 0
|
||||
grantedExp: 0
|
||||
rainAllTargetCount: 5
|
||||
rainAllGrantedExpPerHero: 30
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,7 +15,12 @@ MonoBehaviour:
|
||||
materialKind: 0
|
||||
growthMaterialName: "<color=#4A86B8>\u4E09\u7EA7\u5F52\u6863\u5408\u7EA6</color>"
|
||||
growthMaterialSprite: {fileID: 21300000, guid: 26b4d8692c5e74d17bd9dc28bcbe961b, type: 3}
|
||||
itemRarity: 2
|
||||
growthMaterialUsage: "\u89D2\u8272\u7A81\u7834"
|
||||
growthMaterialDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3B\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
materialType: 0
|
||||
serviceLevel: 1
|
||||
breakthroughTargetLevel: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,7 +15,12 @@ MonoBehaviour:
|
||||
materialKind: 1
|
||||
growthMaterialName: "<color=#8A6CB0>\u4E8C\u7EA7\u5F52\u6863\u5408\u7EA6</color>"
|
||||
growthMaterialSprite: {fileID: 21300000, guid: b83080d92786f42589381bbe09110c3c, type: 3}
|
||||
itemRarity: 3
|
||||
growthMaterialUsage: "\u89D2\u8272\u7A81\u7834"
|
||||
growthMaterialDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684B\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3A\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
materialType: 0
|
||||
serviceLevel: 2
|
||||
breakthroughTargetLevel: 1
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,7 +15,12 @@ MonoBehaviour:
|
||||
materialKind: 2
|
||||
growthMaterialName: "<color=#B88645>\u4E00\u7EA7\u5F52\u6863\u5408\u7EA6</color>"
|
||||
growthMaterialSprite: {fileID: 21300000, guid: 6fc31519aded24a839c1af9e163b6c01, type: 3}
|
||||
itemRarity: 4
|
||||
growthMaterialUsage: "\u89D2\u8272\u7A81\u7834"
|
||||
growthMaterialDescription: "\u53EA\u6709\u6EE1\u7ECF\u9A8C\u7684A\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
materialType: 0
|
||||
serviceLevel: 3
|
||||
breakthroughTargetLevel: 2
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,7 +15,12 @@ MonoBehaviour:
|
||||
materialKind: 3
|
||||
growthMaterialName: "<color=#B84C4C>\u901A\u7528\u5F52\u6863\u5408\u7EA6</color>"
|
||||
growthMaterialSprite: {fileID: 21300000, guid: b72023ef6c5c54ebb94ee8c520cfe2e9, type: 3}
|
||||
itemRarity: 5
|
||||
growthMaterialUsage: "\u89D2\u8272\u7A81\u7834"
|
||||
growthMaterialDescription: "\u6EE1\u7ECF\u9A8C\u7684\u4EFB\u610F\u9605\u5386\u8D44\u683C\u5076\u50CF\u53EF\u7528\u3002\u8DB3\u591F\u6570\u91CF\u7684\u5F52\u6863\u5408\u7EA6\u548C\u4E00\u5B9A\u91D1\u5E01\u53EF\u4F7F\u5176\u7A81\u7834\u81F3S\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
materialType: 1
|
||||
serviceLevel: 0
|
||||
breakthroughTargetLevel: 2
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,6 +15,10 @@ MonoBehaviour:
|
||||
consumableKind: 0
|
||||
consumableName: "<color=#6A4C9C>\u7F8E\u5473\u5C0F\u86CB\u7CD5</color>"
|
||||
consumableSprite: {fileID: 21300000, guid: 2cc4c147b6b7649d6ac98a928018c544, type: 3}
|
||||
itemRarity: 2
|
||||
consumableUsage: "\u88C5\u5907\u5347\u9636"
|
||||
consumableDescription: "\u4E00\u5757\u770B\u4E0A\u53BB\u5F88\u597D\u5403\u7684\u6155\u65AF\u5976\u6CB9\u86CB\u7CD5\uFF0C\u53EF\u4EE5\u5E2E\u52A9\u8BB0\u5FC6\u8FFD\u5FC6"
|
||||
runtimeOwnedCount: 0
|
||||
consumableType: 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
@@ -15,6 +15,10 @@ MonoBehaviour:
|
||||
consumableKind: 1
|
||||
consumableName: "<color=#B84C4C>\u5927\u578B\u70ED\u91CF\u70B8\u5F39</color>"
|
||||
consumableSprite: {fileID: 21300000, guid: 5e0181b769b64401bac538a3310aa847, type: 3}
|
||||
itemRarity: 3
|
||||
consumableUsage: "\u88C5\u5907\u5E7B\u5316"
|
||||
consumableDescription: "\u4E00\u4E2A\u5DE8\u5927\u768414\u5BF8\u6C34\u679C\u6155\u65AF\u5976\u6CB9\u86CB\u7CD5\uFF0C\u5B83\u5C06\u4F60\u5E26\u56DE\u4E86\u4F60\u4E0E\u521D\u604B\u7EA6\u4F1A\u7684\u90A3\u4E2A\u751C\u871C\u590F\u5929\u3002\n\n\u4F60\u671B\u7740\u5979\u7684\u80CC\u5F71\uFF0C\u5FC3\u4E2D\u90A3\u53E5\u8BDD\u6700\u7EC8\u8FD8\u662F\u6CA1\u6709\u8BF4\u51FA\u53E3\u3002\u5915\u9633\u4E2D\u4F60\u62D9\u52A3\u5730\u62E8\u5F04\u7740\u5409\u4ED6\u7684\u7434\u5F26\uFF0C\u534A\u751F\u4E0D\u719F\u5730\u5F39\u7740\u901F\u6210\u7684\u7B80\u5355\u8C31\u5B50\u3002\u5979\u8010\u5FC3\u5730\u542C\u5B8C\u4E86\uFF0C\u9752\u6DA9\u7684\u8138\u5E9E\u6CDB\u8D77\u7F9E\u6DA9\u817C\u8146\u7684\u7EA2\u6655\u3002\u5FAE\u98CE\u4E2D\uFF0C\u5979\u7684\u957F\u53D1\u5212\u8FC7\u5634\u89D2\uFF0C\u9732\u51FA\u53EA\u6709\u4F60\u80FD\u8BFB\u61C2\u7684\u5F27\u5EA6\u3002\n\n\u2014\u2014\u591A\u5E74\u8FC7\u53BB\uFF0C\u4F60\u518D\u672A\u5F97\u5230\u5979\u7684\u4EFB\u4F55\u6D88\u606F\u3002\u90A3\u628A\u5409\u4ED6\u627F\u8F7D\u7740\u4F60\u7684\u56DE\u5FC6\uFF0C\u6162\u6162\u5728\u5899\u89D2\u72EC\u81EA\u53D1\u9709\u3002\u60C5\u4E0D\u81EA\u7981\u5728\u8111\u6D77\u4E2D\u56DE\u671B\uFF0C\u4F46\u90A3\u91CC\u5DF2\u7ECF\u6CA1\u6709\u5979\u7684\u8EAB\u5F71\u4E86\u3002\n\n\u6B64\u6D88\u8017\u54C1\u7528\u4E8E<color=#B84C4C>\u8BB0\u5FC6\u5DE1\u6F14</color>\uFF0C\u5C06\u4F60\u77ED\u6682\u5730\u5E26\u56DE\u4F60\u751F\u547D\u4E2D\u6700\u5E78\u798F\u7684\u65F6\u523B\u3002\u53EA\u662F\u7247\u523B\u4E4B\u95F4\u4E5F\u4F1A\u5F88\u5FEB\u5316\u4F5C\u6CE1\u5F71\u5427\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
consumableType: 1
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a1c4cf8e52e6474dbd7c44be4a6a7810, type: 3}
|
||||
m_Name: 78121_equipment_transfer_material
|
||||
m_EditorClassIdentifier:
|
||||
consumableKind: 2
|
||||
consumableName: "\u524D\u5C18\u4F59\u97F5\u6E90\u6676"
|
||||
consumableSprite: {fileID: 21300000, guid: a470194d6b54e8848b0b338c688da9ed, type: 3}
|
||||
itemRarity: 4
|
||||
consumableUsage: "\u88C5\u5907\u6D17\u70BC"
|
||||
consumableDescription: "\u7528\u4E8E\u88C5\u5907\u6D17\u70BC\uFF08\u5C5E\u6027\u8F6C\u79FB\uFF09\u7684\u6D88\u8017\u54C1\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
consumableType: 2
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11164239e74f4101ac94d6f7b80ac547
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,24 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a1c4cf8e52e6474dbd7c44be4a6a7810, type: 3}
|
||||
m_Name: 78131_equipment_final_material
|
||||
m_EditorClassIdentifier:
|
||||
consumableKind: 3
|
||||
consumableName: "\u60CA\u9E3F\u68A6\u9192\u4E4B\u529B"
|
||||
consumableSprite: {fileID: 21300000, guid: b744ed0c702d8994982728691f19e3ed, type: 3}
|
||||
itemRarity: 7
|
||||
consumableUsage:
|
||||
consumableDescription: "\u7528\u4E8E\u88C5\u5907\u767B\u9876\u5F3A\u5316\u7684\u6D88\u8017\u54C1\u3002"
|
||||
runtimeOwnedCount: 0
|
||||
consumableType: 3
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7b38bd4f8a8d45d8bd5bd6de3893b995
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -6,13 +6,17 @@ public class equipmentConsumableSO : ScriptableObject
|
||||
public enum EquipmentConsumableType
|
||||
{
|
||||
UpgradeMaterial,
|
||||
BreakthroughMaterial
|
||||
BreakthroughMaterial,
|
||||
TransferMaterial,
|
||||
FinalDreamMaterial
|
||||
}
|
||||
|
||||
[Header("Identity")]
|
||||
public EquipmentConsumableKind consumableKind = EquipmentConsumableKind.Material78101;
|
||||
public string consumableName;
|
||||
public Sprite consumableSprite;
|
||||
public ItemRarity itemRarity = ItemRarity.Uncommon;
|
||||
public string consumableUsage;
|
||||
[TextArea(3, 3)] public string consumableDescription;
|
||||
|
||||
[Header("Runtime Mirror")]
|
||||
|
||||
@@ -29,6 +29,8 @@ public class expBottlesSO : ScriptableObject
|
||||
public ExpBottleKind bottleKind = ExpBottleKind.Common;
|
||||
public string expBottleName;
|
||||
public Sprite expBottleSprite;
|
||||
public ItemRarity itemRarity = ItemRarity.Common;
|
||||
public string expBottleUsage;
|
||||
|
||||
[TextArea(3, 3)] public string expBottleDescription;
|
||||
[Header("Runtime Mirror")]
|
||||
@@ -45,4 +47,4 @@ public class expBottlesSO : ScriptableObject
|
||||
[Header("Rain All Gameplay")]
|
||||
[Min(0)] public int rainAllTargetCount = 0;
|
||||
[Min(0)] public int rainAllGrantedExpPerHero = 0;
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,8 @@ public class growthMaterialSO : ScriptableObject
|
||||
public DushMaterialKind materialKind = DushMaterialKind.Material78021;
|
||||
public string growthMaterialName;
|
||||
public Sprite growthMaterialSprite;
|
||||
public ItemRarity itemRarity = ItemRarity.Uncommon;
|
||||
public string growthMaterialUsage;
|
||||
[TextArea(3, 3)] public string growthMaterialDescription;
|
||||
|
||||
[Header("Runtime Mirror")]
|
||||
|
||||
@@ -8,6 +8,7 @@ public class storeItemSO : ScriptableObject
|
||||
[Header("Basic Info")]
|
||||
public string itemName;
|
||||
public Sprite itemIcon;
|
||||
public ItemRarity itemRarity = ItemRarity.None;
|
||||
public int itemID; // Unique identifier for the item
|
||||
public int itemSinglePurchaseQty; // 物品单次购买数量
|
||||
public int itemPurchaseQuota; // 物品限购配额,-1为不限购
|
||||
@@ -29,6 +30,8 @@ public class storeItemSO : ScriptableObject
|
||||
public expBottlesSO associatedExpBottle; // Only used by single-target exp bottles such as 78001-78006
|
||||
public growthMaterialSO associatedGrowthMaterial; // Only used by breakthrough materials such as 78021-78024
|
||||
public equipmentConsumableSO associatedEquipmentConsumable; // Only used by equipment upgrade/breakthrough consumables such as 78101/78111
|
||||
public smeltStageRewardSO associatedSelectableEquipmentRewardSource; // Used by shop entries that grant equipment through ctas selection
|
||||
public int associatedSelectableEquipmentRewardIndex = -1;
|
||||
|
||||
[Header("Purchase Cost")]
|
||||
public List<CostRequirement> costRequirements = new List<CostRequirement>();
|
||||
@@ -51,6 +54,7 @@ public class storeItemSO : ScriptableObject
|
||||
public enum CurrencyType
|
||||
{
|
||||
coins,
|
||||
material,
|
||||
}
|
||||
|
||||
public enum StoryPassageGrantMode
|
||||
|
||||
@@ -41,6 +41,7 @@ public class storeSystem : MonoBehaviour
|
||||
|
||||
[Header("sprites")]
|
||||
public Sprite coinSprite;
|
||||
public Sprite materialSprite;
|
||||
public Sprite cannotBuySprite;
|
||||
|
||||
[Header("selecting item purchase")]
|
||||
@@ -54,6 +55,10 @@ public class storeSystem : MonoBehaviour
|
||||
public Button purchaseButton;
|
||||
public Text p_detailedDescriptionText;
|
||||
|
||||
[Header("selectable equipment reward")]
|
||||
public GameObject ctasPrefab;
|
||||
public Transform ctasParent;
|
||||
|
||||
private const int MinPurchaseAmount = 1;
|
||||
private const int MaxPurchaseAmount = 999999;
|
||||
private static readonly Color InsufficientCostColor = new Color(0.45f, 0.08f, 0.08f, 1f);
|
||||
@@ -67,6 +72,7 @@ public class storeSystem : MonoBehaviour
|
||||
private int currentPurchaseAmount = MinPurchaseAmount;
|
||||
private bool suppressAmountInputCallback;
|
||||
private Color defaultSumCostColor = Color.white;
|
||||
private GameObject activeCtasInstance;
|
||||
|
||||
private string LegacySaveFilePath
|
||||
{
|
||||
@@ -102,6 +108,7 @@ public class storeSystem : MonoBehaviour
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
CloseActiveCtas();
|
||||
UnregisterHeaderControlCallbacks();
|
||||
UnregisterToggleCallbacks();
|
||||
UnregisterPurchasePanelCallbacks();
|
||||
@@ -274,6 +281,7 @@ public class storeSystem : MonoBehaviour
|
||||
|
||||
private void OnCloseButtonClicked()
|
||||
{
|
||||
CloseActiveCtas();
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
@@ -624,7 +632,7 @@ public class storeSystem : MonoBehaviour
|
||||
&& itemSO.canbepurchased
|
||||
&& !IsAssociatedContentUnlocked(itemSO)
|
||||
&& !IsSoldOut(itemSO)
|
||||
&& HasCoinRequirement(itemSO);
|
||||
&& HasSupportedRequirement(itemSO);
|
||||
}
|
||||
|
||||
private void SpawnItem(storeItemSO itemSO)
|
||||
@@ -732,7 +740,7 @@ public class storeSystem : MonoBehaviour
|
||||
: itemSO.itemDetailedDescription;
|
||||
}
|
||||
|
||||
if (resetAmount)
|
||||
if (resetAmount || IsSelectableEquipmentRewardItem(itemSO))
|
||||
{
|
||||
SetPurchaseAmount(MinPurchaseAmount, false);
|
||||
}
|
||||
@@ -742,6 +750,7 @@ public class storeSystem : MonoBehaviour
|
||||
RefreshPurchaseSummary();
|
||||
}
|
||||
|
||||
UpdatePurchaseAmountControlsState(itemSO);
|
||||
RefreshPurchaseButtonState();
|
||||
}
|
||||
|
||||
@@ -773,6 +782,7 @@ public class storeSystem : MonoBehaviour
|
||||
|
||||
currentPurchaseAmount = MinPurchaseAmount;
|
||||
UpdatePurchaseAmountInput();
|
||||
UpdatePurchaseAmountControlsState(null);
|
||||
RefreshPurchaseButtonState();
|
||||
}
|
||||
|
||||
@@ -839,6 +849,26 @@ public class storeSystem : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdatePurchaseAmountControlsState(storeItemSO itemSO)
|
||||
{
|
||||
bool forceSinglePurchase = IsSelectableEquipmentRewardItem(itemSO);
|
||||
|
||||
if (p_iAmount_plus != null)
|
||||
{
|
||||
p_iAmount_plus.interactable = !forceSinglePurchase;
|
||||
}
|
||||
|
||||
if (p_iAmount_minus != null)
|
||||
{
|
||||
p_iAmount_minus.interactable = !forceSinglePurchase;
|
||||
}
|
||||
|
||||
if (p_iAmount_input != null)
|
||||
{
|
||||
p_iAmount_input.interactable = !forceSinglePurchase;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPurchaseAmount(int amount, bool showWarnings)
|
||||
{
|
||||
int clampedAmount = amount;
|
||||
@@ -927,10 +957,15 @@ public class storeSystem : MonoBehaviour
|
||||
return coinSprite;
|
||||
}
|
||||
|
||||
if (currencyType == storeItemSO.CurrencyType.material)
|
||||
{
|
||||
return materialSprite;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private bool HasCoinRequirement(storeItemSO itemSO)
|
||||
private bool HasSupportedRequirement(storeItemSO itemSO)
|
||||
{
|
||||
if (itemSO == null || itemSO.costRequirements == null || itemSO.costRequirements.Count == 0)
|
||||
{
|
||||
@@ -1009,6 +1044,12 @@ public class storeSystem : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
|
||||
if (IsSelectableEquipmentRewardItem(currentSelectedItem))
|
||||
{
|
||||
HandleSelectableEquipmentPurchaseClicked(currentSelectedItem);
|
||||
return;
|
||||
}
|
||||
|
||||
string failureMessage;
|
||||
int grantedCount;
|
||||
if (!StoreExpBottlePurchaseService.TryPurchase(playerData, currentSelectedItem, currentPurchaseAmount, out failureMessage, out grantedCount))
|
||||
@@ -1026,6 +1067,125 @@ public class storeSystem : MonoBehaviour
|
||||
RefreshCurrentView();
|
||||
}
|
||||
|
||||
private void HandleSelectableEquipmentPurchaseClicked(storeItemSO itemSO)
|
||||
{
|
||||
if (itemSO == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentPurchaseAmount != 1)
|
||||
{
|
||||
SetPurchaseAmount(1, false);
|
||||
gNotice.warning.display("该物品仅支持单份购买");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!TryGetSelectableEquipmentRequirement(itemSO, out smeltStageRewardSO rewardSource, out smeltStageRewardSO.SmeltStageRewardRequirement requirement))
|
||||
{
|
||||
gNotice.warning.display("当前未配置发放逻辑");
|
||||
return;
|
||||
}
|
||||
|
||||
bool requireTypeSelection = RequiresTypeSelection(requirement);
|
||||
bool requireSkillSelection = RequiresSkillSelection(requirement);
|
||||
|
||||
if (!requireTypeSelection && !requireSkillSelection)
|
||||
{
|
||||
TryCompleteSelectableEquipmentPurchase(itemSO, rewardSource, requirement, null, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctasPrefab == null || ctasParent == null || rewardSource == null || rewardSource.rewardRandomConfig == null)
|
||||
{
|
||||
gNotice.warning.display("选择器未配置");
|
||||
return;
|
||||
}
|
||||
|
||||
CloseActiveCtas();
|
||||
|
||||
GameObject instance = Instantiate(ctasPrefab, ctasParent);
|
||||
activeCtasInstance = instance;
|
||||
|
||||
global::ctasPrefab selector = instance.GetComponent<global::ctasPrefab>();
|
||||
if (selector == null)
|
||||
{
|
||||
Destroy(instance);
|
||||
activeCtasInstance = null;
|
||||
gNotice.warning.display("选择器未配置");
|
||||
return;
|
||||
}
|
||||
|
||||
equipmentSO selectionTemplate = rewardSource.rewardTemplate != null
|
||||
? Instantiate(rewardSource.rewardTemplate)
|
||||
: ScriptableObject.CreateInstance<equipmentSO>();
|
||||
selectionTemplate.hideFlags = HideFlags.DontSave;
|
||||
selectionTemplate.sa_skillID = 0;
|
||||
selectionTemplate.ia_skillID = 0;
|
||||
selectionTemplate.skillType = requirement.chosenSkillType;
|
||||
|
||||
selector.Initialize(
|
||||
selectionTemplate,
|
||||
rewardSource.rewardRandomConfig,
|
||||
requireTypeSelection,
|
||||
requireSkillSelection,
|
||||
(selectedType, selectedSkillGroupId) =>
|
||||
{
|
||||
activeCtasInstance = null;
|
||||
TryCompleteSelectableEquipmentPurchase(itemSO, rewardSource, requirement, selectedType, selectedSkillGroupId);
|
||||
},
|
||||
() => { activeCtasInstance = null; });
|
||||
}
|
||||
|
||||
private void TryCompleteSelectableEquipmentPurchase(
|
||||
storeItemSO itemSO,
|
||||
smeltStageRewardSO rewardSource,
|
||||
smeltStageRewardSO.SmeltStageRewardRequirement requirement,
|
||||
equipmentSO.EquipmentSkillType? selectedType,
|
||||
int selectedSkillGroupId)
|
||||
{
|
||||
if (itemSO == null || rewardSource == null || requirement == null || itemSO.costRequirements == null || itemSO.costRequirements.Count == 0)
|
||||
{
|
||||
gNotice.warning.display("商品数据丢失");
|
||||
return;
|
||||
}
|
||||
|
||||
var primaryCost = itemSO.costRequirements[0];
|
||||
int totalCost = Mathf.Max(0, primaryCost.amount);
|
||||
string insufficientMessage = primaryCost.currencyType == storeItemSO.CurrencyType.material ? "记忆碎片不足" : "货币不足";
|
||||
|
||||
if (!HasEnoughCurrency(primaryCost.currencyType, totalCost))
|
||||
{
|
||||
gNotice.warning.display(insufficientMessage);
|
||||
RefreshPurchaseSummary();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!TrySpendCurrency(primaryCost.currencyType, totalCost))
|
||||
{
|
||||
gNotice.warning.display(insufficientMessage);
|
||||
RefreshPurchaseSummary();
|
||||
return;
|
||||
}
|
||||
|
||||
equipmentSO generated = equipmentGenerator.GenerateFromSmeltReward(
|
||||
rewardSource,
|
||||
requirement,
|
||||
selectedType,
|
||||
selectedSkillGroupId);
|
||||
|
||||
if (generated == null)
|
||||
{
|
||||
RefundCurrency(primaryCost.currencyType, totalCost);
|
||||
gNotice.warning.display("装备发放失败");
|
||||
RefreshPurchaseSummary();
|
||||
return;
|
||||
}
|
||||
|
||||
RegisterPurchasedCount(itemSO.itemID, 1);
|
||||
RefreshAllEquipBags();
|
||||
}
|
||||
|
||||
private string GetAmountAndQuotaText(storeItemSO itemSO)
|
||||
{
|
||||
string prefix = itemSO.itemSinglePurchaseQty == 1 ? string.Empty : $"{itemSO.itemSinglePurchaseQty}个装/";
|
||||
@@ -1064,7 +1224,7 @@ public class storeSystem : MonoBehaviour
|
||||
|
||||
private string GetPriceAmountText(storeItemSO itemSO)
|
||||
{
|
||||
if (itemSO == null || !itemSO.canbepurchased || IsAssociatedContentUnlocked(itemSO) || !HasCoinRequirement(itemSO))
|
||||
if (itemSO == null || !itemSO.canbepurchased || IsAssociatedContentUnlocked(itemSO) || !HasSupportedRequirement(itemSO))
|
||||
{
|
||||
return "不可购买";
|
||||
}
|
||||
@@ -1074,22 +1234,156 @@ public class storeSystem : MonoBehaviour
|
||||
|
||||
private bool ShouldShowPriceIcon(storeItemSO itemSO)
|
||||
{
|
||||
return itemSO != null && itemSO.canbepurchased && !IsAssociatedContentUnlocked(itemSO) && HasCoinRequirement(itemSO);
|
||||
return itemSO != null && itemSO.canbepurchased && !IsAssociatedContentUnlocked(itemSO) && HasSupportedRequirement(itemSO);
|
||||
}
|
||||
|
||||
private bool CanPurchaseCurrentSelection(storeItemSO itemSO)
|
||||
{
|
||||
return IsCurrentlyPurchasable(itemSO);
|
||||
return IsCurrentlyPurchasable(itemSO)
|
||||
&& (!IsSelectableEquipmentRewardItem(itemSO) || currentPurchaseAmount == 1);
|
||||
}
|
||||
|
||||
private bool CanAffordCurrentSelection(long totalCost)
|
||||
{
|
||||
if (totalCost <= 0)
|
||||
if (currentSelectedItem == null || totalCost <= 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(totalCost);
|
||||
var cost = currentSelectedItem.costRequirements != null && currentSelectedItem.costRequirements.Count > 0
|
||||
? currentSelectedItem.costRequirements[0]
|
||||
: null;
|
||||
if (cost == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (cost.currencyType)
|
||||
{
|
||||
case storeItemSO.CurrencyType.coins:
|
||||
return PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(totalCost);
|
||||
case storeItemSO.CurrencyType.material:
|
||||
return PlayerEconomyLedger.EnsureInstance().HasEnoughMaterial(totalCost);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsSelectableEquipmentRewardItem(storeItemSO itemSO)
|
||||
{
|
||||
return itemSO != null
|
||||
&& itemSO.associatedSelectableEquipmentRewardSource != null
|
||||
&& itemSO.associatedSelectableEquipmentRewardIndex >= 0;
|
||||
}
|
||||
|
||||
private bool TryGetSelectableEquipmentRequirement(
|
||||
storeItemSO itemSO,
|
||||
out smeltStageRewardSO rewardSource,
|
||||
out smeltStageRewardSO.SmeltStageRewardRequirement requirement)
|
||||
{
|
||||
rewardSource = null;
|
||||
requirement = null;
|
||||
|
||||
if (!IsSelectableEquipmentRewardItem(itemSO))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
rewardSource = itemSO.associatedSelectableEquipmentRewardSource;
|
||||
if (rewardSource.rewardRequirements == null
|
||||
|| itemSO.associatedSelectableEquipmentRewardIndex >= rewardSource.rewardRequirements.Length)
|
||||
{
|
||||
rewardSource = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
requirement = rewardSource.rewardRequirements[itemSO.associatedSelectableEquipmentRewardIndex];
|
||||
return requirement != null;
|
||||
}
|
||||
|
||||
private bool RequiresTypeSelection(smeltStageRewardSO.SmeltStageRewardRequirement requirement)
|
||||
{
|
||||
if (requirement == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (requirement.equipmentType == smeltStageRewardSO.equipType.selfChosenType)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return !string.IsNullOrEmpty(requirement.equipRewardName)
|
||||
&& requirement.equipRewardName.Contains("自选");
|
||||
}
|
||||
|
||||
private bool RequiresSkillSelection(smeltStageRewardSO.SmeltStageRewardRequirement requirement)
|
||||
{
|
||||
return requirement != null
|
||||
&& requirement.skillRequirement == smeltStageRewardSO.skillOwned.selfChosen;
|
||||
}
|
||||
|
||||
private bool HasEnoughCurrency(storeItemSO.CurrencyType currencyType, int amount)
|
||||
{
|
||||
switch (currencyType)
|
||||
{
|
||||
case storeItemSO.CurrencyType.coins:
|
||||
return PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(amount);
|
||||
case storeItemSO.CurrencyType.material:
|
||||
return PlayerEconomyLedger.EnsureInstance().HasEnoughMaterial(amount);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private bool TrySpendCurrency(storeItemSO.CurrencyType currencyType, int amount)
|
||||
{
|
||||
switch (currencyType)
|
||||
{
|
||||
case storeItemSO.CurrencyType.coins:
|
||||
return PlayerEconomyLedger.EnsureInstance().TrySpendCoins(amount);
|
||||
case storeItemSO.CurrencyType.material:
|
||||
return PlayerEconomyLedger.EnsureInstance().TrySpendMaterial(amount);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void RefundCurrency(storeItemSO.CurrencyType currencyType, int amount)
|
||||
{
|
||||
switch (currencyType)
|
||||
{
|
||||
case storeItemSO.CurrencyType.coins:
|
||||
PlayerEconomyLedger.EnsureInstance().AddCoins(amount);
|
||||
break;
|
||||
case storeItemSO.CurrencyType.material:
|
||||
PlayerEconomyLedger.EnsureInstance().AddMaterial(amount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void CloseActiveCtas()
|
||||
{
|
||||
if (activeCtasInstance != null)
|
||||
{
|
||||
Destroy(activeCtasInstance);
|
||||
activeCtasInstance = null;
|
||||
}
|
||||
}
|
||||
|
||||
private static void RefreshAllEquipBags()
|
||||
{
|
||||
equipBag[] bags = Resources.FindObjectsOfTypeAll<equipBag>();
|
||||
for (int i = 0; i < bags.Length; i++)
|
||||
{
|
||||
equipBag bag = bags[i];
|
||||
if (bag == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
bag.Rebuild();
|
||||
}
|
||||
}
|
||||
|
||||
private void SetupAvailabilityState(storeItemPrefab itemView, storeItemSO itemSO)
|
||||
|
||||
Reference in New Issue
Block a user