feat(buildings): 添加金矿建筑功能并优化建筑健康系统

- 为兵营和金矿添加伤害数字显示功能,包括持续时间、上升高度等参数
- 将金矿脚本重构为GoldMine组件,实现定时产出金币机制
- 为所有单位添加NavMeshAgent组件以支持导航寻路
- 为弓箭手、法师等单位添加分离半径和目标扩散参数
- 为建筑添加碰撞体和标签设置
- 修复当前能量字段命名规范(currentEnergy -> _currentEnergy)
- 调整金矿健康值从100提升至500
- 统一伤害数字显示相关属性配置
```
This commit is contained in:
huadexuan committed 2026-09-15 21:13:44 +08:00
1 parent 27df2aa8b1
commit 1cdb7c3910
22 files changed
+804 -55

No files matched your search

+7 -2
View File
@@ -101,12 +101,17 @@ MonoBehaviour:
maxHealth: 100
currentHealth: 100
maxEnergy: 100
currentEnergy: 0
heightOffset: 0.25
_currentEnergy: 0
heightOffset: 1
barWidth: 1.2
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
--- !u!114 &7049005926872886096
MonoBehaviour:
m_ObjectHideFlags: 0
+103 -1
View File
@@ -63,8 +63,110 @@ PrefabInstance:
propertyPath: m_Name
value: "\u91D1\u77FF"
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 35b9ee56f1163491d957e1903bfedf03,
type: 3}
propertyPath: m_TagString
value: Friend
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 35b9ee56f1163491d957e1903bfedf03,
type: 3}
insertIndex: -1
addedObject: {fileID: 7577279847001002587}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 35b9ee56f1163491d957e1903bfedf03,
type: 3}
insertIndex: -1
addedObject: {fileID: 2464957741073066864}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 35b9ee56f1163491d957e1903bfedf03,
type: 3}
insertIndex: -1
addedObject: {fileID: 4165091129539139448}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 35b9ee56f1163491d957e1903bfedf03,
type: 3}
insertIndex: -1
addedObject: {fileID: 6812882125473210247}
m_SourcePrefab: {fileID: 100100000, guid: 35b9ee56f1163491d957e1903bfedf03, type: 3}
--- !u!1 &5707827689025450131 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 35b9ee56f1163491d957e1903bfedf03,
type: 3}
m_PrefabInstance: {fileID: 4897434639390281154}
m_PrefabAsset: {fileID: 0}
--- !u!114 &7577279847001002587
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5707827689025450131}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9355c53f591d4459ea620fc8191efa17, type: 3}
m_Name:
m_EditorClassIdentifier:
maxHealth: 500
currentHealth: 500
maxEnergy: 100
_currentEnergy: 0
heightOffset: 1
barWidth: 1.2
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
--- !u!114 &2464957741073066864
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5707827689025450131}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0664b986337964243879f685b5c49aba, type: 3}
m_Name:
m_EditorClassIdentifier:
maxHealth: 500
--- !u!114 &4165091129539139448
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5707827689025450131}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa899f80764ca42429a0a155f38f9ba4, type: 3}
m_Name:
m_EditorClassIdentifier:
goldPerProduction: 50
productionInterval: 5
healthBar: {fileID: 0}
--- !u!65 &6812882125473210247
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5707827689025450131}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 2.2292585, y: 2.1124895, z: 2.2443316}
m_Center: {x: -0.00015996098, y: 0.010562447, z: 0.00014443}
@@ -144,6 +144,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 6149369975191414129}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 5072af719b9b1401787c6c55f048d8ed,
type: 3}
insertIndex: -1
addedObject: {fileID: 2921261421214297749}
m_SourcePrefab: {fileID: 100100000, guid: 5072af719b9b1401787c6c55f048d8ed, type: 3}
--- !u!1 &7945271050725079514 stripped
GameObject:
@@ -204,6 +208,9 @@ MonoBehaviour:
projectileSpeed: 20
projectileLifetime: 5
energyPerAttack: 25
separationRadius: 1.5
separationWeight: 3
targetSpreadBias: 6
target: {fileID: 0}
--- !u!114 &2920089167710187078
MonoBehaviour:
@@ -226,6 +233,12 @@ MonoBehaviour:
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
damageNumberOutlineWidth: 0.015
--- !u!114 &4111165692813349771
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -255,6 +268,28 @@ MonoBehaviour:
showStunIndicator: 1
indicatorHeight: 0.35
stunIndicatorPrefab: {fileID: 0}
--- !u!195 &2921261421214297749
NavMeshAgent:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7945271050725079514}
m_Enabled: 1
m_AgentTypeID: 0
m_Radius: 0.5
m_Speed: 1.8
m_Acceleration: 8
avoidancePriority: 50
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
m_Height: 2
m_BaseOffset: 0
m_WalkableMask: 4294967295
m_ObstacleAvoidanceType: 4
--- !u!4 &8878706989061864259 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1852576806548013000, guid: 5072af719b9b1401787c6c55f048d8ed,
+35
View File
@@ -139,6 +139,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 1449822714228276666}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 7b0dd5b38a9cd144ea135f3743440958,
type: 3}
insertIndex: -1
addedObject: {fileID: 196735238731846736}
m_SourcePrefab: {fileID: 100100000, guid: 7b0dd5b38a9cd144ea135f3743440958, type: 3}
--- !u!4 &2222026796505693691 stripped
Transform:
@@ -222,6 +226,9 @@ MonoBehaviour:
projectileSpeed: 20
projectileLifetime: 5
energyPerAttack: 20
separationRadius: 1.5
separationWeight: 3
targetSpreadBias: 6
target: {fileID: 0}
--- !u!114 &7720102017902192686
MonoBehaviour:
@@ -244,6 +251,12 @@ MonoBehaviour:
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
damageNumberOutlineWidth: 0.015
--- !u!114 &1449822714228276666
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -259,6 +272,28 @@ MonoBehaviour:
volleyArrowCount: 3
volleyArrowDamageMultiplier: 0.7
volleyArrowInterval: 0.15
--- !u!195 &196735238731846736
NavMeshAgent:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5200308054099318121}
m_Enabled: 1
m_AgentTypeID: 0
m_Radius: 0.5
m_Speed: 1.8
m_Acceleration: 8
avoidancePriority: 50
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
m_Height: 2
m_BaseOffset: 0
m_WalkableMask: 4294967295
m_ObstacleAvoidanceType: 4
--- !u!1001 &6707986314085581781
PrefabInstance:
m_ObjectHideFlags: 0
+35
View File
@@ -140,6 +140,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 3887798621029042906}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 9d4b54ec2c4f7754bb1fd5ec11a29541,
type: 3}
insertIndex: -1
addedObject: {fileID: 20042258299677061}
m_SourcePrefab: {fileID: 100100000, guid: 9d4b54ec2c4f7754bb1fd5ec11a29541, type: 3}
--- !u!1 &7062617501994129594 stripped
GameObject:
@@ -216,6 +220,9 @@ MonoBehaviour:
projectileSpeed: 20
projectileLifetime: 5
energyPerAttack: 20
separationRadius: 1.5
separationWeight: 3
targetSpreadBias: 6
target: {fileID: 0}
--- !u!114 &990449840913200210
MonoBehaviour:
@@ -238,6 +245,12 @@ MonoBehaviour:
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
damageNumberOutlineWidth: 0.015
--- !u!114 &3887798621029042906
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -252,6 +265,28 @@ MonoBehaviour:
m_EditorClassIdentifier:
explosionRadius: 1.8
explosionDamage: 85
--- !u!195 &20042258299677061
NavMeshAgent:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7062617501994129594}
m_Enabled: 1
m_AgentTypeID: 0
m_Radius: 0.5
m_Speed: 1.5
m_Acceleration: 8
avoidancePriority: 50
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
m_Height: 2
m_BaseOffset: 0
m_WalkableMask: 4294967295
m_ObstacleAvoidanceType: 4
--- !u!4 &8608542904823568931 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1852576806548013000, guid: 9d4b54ec2c4f7754bb1fd5ec11a29541,
+35
View File
@@ -195,6 +195,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 8203338886952913679}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 17f7a1b7ae92f0948a5bebde8a11fc2b,
type: 3}
insertIndex: -1
addedObject: {fileID: 4069710806908923055}
m_SourcePrefab: {fileID: 100100000, guid: 17f7a1b7ae92f0948a5bebde8a11fc2b, type: 3}
--- !u!4 &309400887928525066 stripped
Transform:
@@ -276,6 +280,9 @@ MonoBehaviour:
projectileSpeed: 20
projectileLifetime: 5
energyPerAttack: 20
separationRadius: 1.5
separationWeight: 3
targetSpreadBias: 6
target: {fileID: 0}
--- !u!114 &6884400399417614731
MonoBehaviour:
@@ -298,6 +305,12 @@ MonoBehaviour:
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
damageNumberOutlineWidth: 0.015
--- !u!114 &8203338886952913679
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -315,6 +328,28 @@ MonoBehaviour:
damageReduction: 0.35
shieldLocalPosition: {x: 0, y: 1, z: 0.7}
shieldSize: {x: 1.5, y: 1.8, z: 0.12}
--- !u!195 &4069710806908923055
NavMeshAgent:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1242979668690031507}
m_Enabled: 1
m_AgentTypeID: 0
m_Radius: 0.5
m_Speed: 1.4
m_Acceleration: 8
avoidancePriority: 50
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
m_Height: 2
m_BaseOffset: 0
m_WalkableMask: 4294967295
m_ObstacleAvoidanceType: 4
--- !u!4 &5170975053921319681 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6502182839619065283, guid: 17f7a1b7ae92f0948a5bebde8a11fc2b,
@@ -181,6 +181,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 4116279677098275843}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 62d9f853c067ff443bd2a3aa382ab563,
type: 3}
insertIndex: -1
addedObject: {fileID: 8773165921290396666}
m_SourcePrefab: {fileID: 100100000, guid: 62d9f853c067ff443bd2a3aa382ab563, type: 3}
--- !u!4 &2585761489654059889 stripped
Transform:
@@ -263,6 +267,9 @@ MonoBehaviour:
projectileSpeed: 20
projectileLifetime: 5
energyPerAttack: 20
separationRadius: 1.5
separationWeight: 3
targetSpreadBias: 6
target: {fileID: 0}
--- !u!114 &3773753810590757696
MonoBehaviour:
@@ -285,6 +292,12 @@ MonoBehaviour:
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
damageNumberOutlineWidth: 0.015
--- !u!114 &4116279677098275843
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -300,3 +313,25 @@ MonoBehaviour:
skillDamage: 125
skillRadius: 4
skillAnimationDuration: 1.5
--- !u!195 &8773165921290396666
NavMeshAgent:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3933539425749946856}
m_Enabled: 1
m_AgentTypeID: 0
m_Radius: 0.5
m_Speed: 2
m_Acceleration: 8
avoidancePriority: 50
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
m_Height: 2
m_BaseOffset: 0
m_WalkableMask: 4294967295
m_ObstacleAvoidanceType: 4
@@ -247,6 +247,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 6166541611286257137}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 2ac38f68ec4f85341b423b5e8defd47e,
type: 3}
insertIndex: -1
addedObject: {fileID: 7158251723525050232}
m_SourcePrefab: {fileID: 100100000, guid: 2ac38f68ec4f85341b423b5e8defd47e, type: 3}
--- !u!1 &4059575966999087028 stripped
GameObject:
@@ -301,6 +305,12 @@ MonoBehaviour:
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
deathEffectDuration: 1.1
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
showDamageNumbers: 1
damageNumberDuration: 0.8
damageNumberRiseHeight: 1.2
damageNumberSpawnHeight: 1.5
damageNumberSize: 0.09
damageNumberOutlineWidth: 0.015
--- !u!114 &6486457417548983634
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -329,6 +339,9 @@ MonoBehaviour:
projectileSpeed: 20
projectileLifetime: 5
energyPerAttack: 20
separationRadius: 1.5
separationWeight: 3
targetSpreadBias: 6
target: {fileID: 0}
--- !u!114 &4858463350953901710
MonoBehaviour:
@@ -359,6 +372,28 @@ MonoBehaviour:
indicatorHeight: 0.35
stunIndicatorPrefab: {fileID: 2432573200162841629, guid: de288ea16be0c1544a4c6eb71e899570,
type: 3}
--- !u!195 &7158251723525050232
NavMeshAgent:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4059575966999087028}
m_Enabled: 1
m_AgentTypeID: 0
m_Radius: 0.5
m_Speed: 2.2
m_Acceleration: 8
avoidancePriority: 50
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
m_Height: 2
m_BaseOffset: 0
m_WalkableMask: 4294967295
m_ObstacleAvoidanceType: 4
--- !u!4 &7974625701785382694 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6502182839619065283, guid: 2ac38f68ec4f85341b423b5e8defd47e,