diff --git a/.codely/clipboard/clipboard-1790394631163.png b/.codely/clipboard/clipboard-1790394631163.png
deleted file mode 100644
index a513e02..0000000
Binary files a/.codely/clipboard/clipboard-1790394631163.png and /dev/null differ
diff --git a/.codely/clipboard/clipboard-1790668979158.png b/.codely/clipboard/clipboard-1790668979158.png
new file mode 100644
index 0000000..be9f621
Binary files /dev/null and b/.codely/clipboard/clipboard-1790668979158.png differ
diff --git a/Assets/Prefabs/第一章/人类士兵.prefab b/Assets/Prefabs/第一章/人类士兵.prefab
index 14cb25f..58d6b8c 100644
--- a/Assets/Prefabs/第一章/人类士兵.prefab
+++ b/Assets/Prefabs/第一章/人类士兵.prefab
@@ -402,10 +402,10 @@ NavMeshAgent:
m_GameObject: {fileID: 7945271050725079514}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.7
m_Speed: 1.8
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 35
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
diff --git a/Assets/Prefabs/第一章/小怪/城堡弓童.prefab b/Assets/Prefabs/第一章/小怪/城堡弓童.prefab
index 80e99be..0b0d4b9 100644
--- a/Assets/Prefabs/第一章/小怪/城堡弓童.prefab
+++ b/Assets/Prefabs/第一章/小怪/城堡弓童.prefab
@@ -145,17 +145,17 @@ PrefabInstance:
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.x
- value: 0.55
+ value: 3.5
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.y
- value: 0.33
+ value: 2.1
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.z
- value: 0.55
+ value: 3.5
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
@@ -210,7 +210,7 @@ PrefabInstance:
- target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_Color.a
- value: 0.35
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -462,10 +462,10 @@ NavMeshAgent:
m_GameObject: {fileID: 5353056374797990493}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.65
m_Speed: 3.5
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 58
m_AngularSpeed: 120
m_StoppingDistance: 5.7
m_AutoTraverseOffMeshLink: 1
diff --git a/Assets/Prefabs/第一章/小怪/城堡蓝卫Q.prefab b/Assets/Prefabs/第一章/小怪/城堡蓝卫Q.prefab
index 942abc4..da87d1a 100644
--- a/Assets/Prefabs/第一章/小怪/城堡蓝卫Q.prefab
+++ b/Assets/Prefabs/第一章/小怪/城堡蓝卫Q.prefab
@@ -15,17 +15,17 @@ PrefabInstance:
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.x
- value: 0.6
+ value: 3.5
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.y
- value: 0.36
+ value: 2.1
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.z
- value: 0.6
+ value: 3.5
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
@@ -80,7 +80,7 @@ PrefabInstance:
- target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_Color.a
- value: 0.35
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -409,10 +409,10 @@ NavMeshAgent:
m_GameObject: {fileID: 6831747914582959299}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.65
m_Speed: 3.5
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 55
m_AngularSpeed: 120
m_StoppingDistance: 1.425
m_AutoTraverseOffMeshLink: 1
diff --git a/Assets/Prefabs/第一章/小怪/城堡金盾卫.prefab b/Assets/Prefabs/第一章/小怪/城堡金盾卫.prefab
index 62d49d9..cde6be7 100644
--- a/Assets/Prefabs/第一章/小怪/城堡金盾卫.prefab
+++ b/Assets/Prefabs/第一章/小怪/城堡金盾卫.prefab
@@ -109,17 +109,17 @@ PrefabInstance:
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.x
- value: 0.75
+ value: 3.5
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.y
- value: 0.45000002
+ value: 2.1
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.z
- value: 0.75
+ value: 3.5
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
@@ -174,7 +174,7 @@ PrefabInstance:
- target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_Color.a
- value: 0.35
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -413,7 +413,7 @@ NavMeshAgent:
m_GameObject: {fileID: 6097483073022240836}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.65
m_Speed: 2.6
m_Acceleration: 6
avoidancePriority: 50
diff --git a/Assets/Prefabs/第一章/小怪/蓝角蛮卒.prefab b/Assets/Prefabs/第一章/小怪/蓝角蛮卒.prefab
index 7d445d8..62a95c3 100644
--- a/Assets/Prefabs/第一章/小怪/蓝角蛮卒.prefab
+++ b/Assets/Prefabs/第一章/小怪/蓝角蛮卒.prefab
@@ -1,5 +1,98 @@
%YAML 1.1
%TAG !u! tag:yousandi.cn,2023:
+--- !u!1001 &5373680895525663899
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 5972527175421201135}
+ m_Modifications:
+ - target: {fileID: 716420681276659, guid: 588bce5844a3f4b22a97acad504461e6, type: 3}
+ propertyPath: m_Name
+ value: ShadowBlob
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalScale.x
+ value: 3.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalScale.y
+ value: 2.1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalScale.z
+ value: 3.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0.015
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0.7071068
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_Color.a
+ value: 1
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 588bce5844a3f4b22a97acad504461e6, type: 3}
+--- !u!4 &8033840221365193541 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ m_PrefabInstance: {fileID: 5373680895525663899}
+ m_PrefabAsset: {fileID: 0}
--- !u!1001 &6154191632668585220
PrefabInstance:
m_ObjectHideFlags: 0
@@ -75,7 +168,11 @@ PrefabInstance:
objectReference: {fileID: 9100000, guid: dcd6c5d547650449dbe66bdadf484951, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
- m_AddedGameObjects: []
+ m_AddedGameObjects:
+ - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 277440f23387a46aa83d5db718a19dbb,
+ type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 8033840221365193541}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 277440f23387a46aa83d5db718a19dbb,
type: 3}
@@ -102,6 +199,12 @@ PrefabInstance:
insertIndex: -1
addedObject: {fileID: 8356120077022717922}
m_SourcePrefab: {fileID: 100100000, guid: 277440f23387a46aa83d5db718a19dbb, type: 3}
+--- !u!4 &5972527175421201135 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 277440f23387a46aa83d5db718a19dbb,
+ type: 3}
+ m_PrefabInstance: {fileID: 6154191632668585220}
+ m_PrefabAsset: {fileID: 0}
--- !u!1 &6460833124399534165 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 277440f23387a46aa83d5db718a19dbb,
@@ -149,6 +252,8 @@ MonoBehaviour:
energyPerAttack: 0
targetSpreadBias: 6
summonerMode: 0
+ returnToAnchorWhenIdle: 0
+ anchorArrivalDistance: 0.35
target: {fileID: 0}
--- !u!114 &4885855534280859690
MonoBehaviour:
@@ -199,10 +304,10 @@ NavMeshAgent:
m_GameObject: {fileID: 6460833124399534165}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.65
m_Speed: 3.5
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 55
m_AngularSpeed: 120
m_StoppingDistance: 1.425
m_AutoTraverseOffMeshLink: 1
diff --git a/Assets/Prefabs/第一章/弓箭手.prefab b/Assets/Prefabs/第一章/弓箭手.prefab
index 031b43d..e5060cd 100644
--- a/Assets/Prefabs/第一章/弓箭手.prefab
+++ b/Assets/Prefabs/第一章/弓箭手.prefab
@@ -307,10 +307,10 @@ NavMeshAgent:
m_GameObject: {fileID: 5200308054099318121}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.7
m_Speed: 1.8
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 38
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
@@ -479,17 +479,17 @@ PrefabInstance:
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.x
- value: 0.85
+ value: 4.81
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.y
- value: 0.51000005
+ value: 2.886
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.z
- value: 0.85
+ value: 4.81
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
@@ -544,7 +544,7 @@ PrefabInstance:
- target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_Color.a
- value: 0.45
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
diff --git a/Assets/Prefabs/第一章/法师.prefab b/Assets/Prefabs/第一章/法师.prefab
index 472731a..60a5d02 100644
--- a/Assets/Prefabs/第一章/法师.prefab
+++ b/Assets/Prefabs/第一章/法师.prefab
@@ -48,17 +48,17 @@ PrefabInstance:
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.x
- value: 0.85
+ value: 4.81
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.y
- value: 0.51000005
+ value: 2.886
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.z
- value: 0.85
+ value: 4.81
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
@@ -113,7 +113,7 @@ PrefabInstance:
- target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_Color.a
- value: 0.45
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -383,10 +383,10 @@ NavMeshAgent:
m_GameObject: {fileID: 7062617501994129594}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.7
m_Speed: 1.5
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 38
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
diff --git a/Assets/Prefabs/第一章/盾卫.prefab b/Assets/Prefabs/第一章/盾卫.prefab
index 4f92bfd..9e48348 100644
--- a/Assets/Prefabs/第一章/盾卫.prefab
+++ b/Assets/Prefabs/第一章/盾卫.prefab
@@ -363,10 +363,10 @@ NavMeshAgent:
m_GameObject: {fileID: 1242979668690031507}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.7
m_Speed: 1.4
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 30
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
@@ -413,10 +413,20 @@ PrefabInstance:
propertyPath: m_Name
value: ShadowBlob
objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalScale.x
+ value: 4.81
+ objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.y
- value: 0.6
+ value: 2.886
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalScale.z
+ value: 4.81
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
@@ -471,7 +481,7 @@ PrefabInstance:
- target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_Color.a
- value: 0.45
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
diff --git a/Assets/Prefabs/第一章/精锐士兵.prefab b/Assets/Prefabs/第一章/精锐士兵.prefab
index 6c4b622..69ceae5 100644
--- a/Assets/Prefabs/第一章/精锐士兵.prefab
+++ b/Assets/Prefabs/第一章/精锐士兵.prefab
@@ -348,10 +348,10 @@ NavMeshAgent:
m_GameObject: {fileID: 3933539425749946856}
m_Enabled: 1
m_AgentTypeID: 0
- m_Radius: 0.5
+ m_Radius: 0.7
m_Speed: 2
m_Acceleration: 8
- avoidancePriority: 50
+ avoidancePriority: 35
m_AngularSpeed: 120
m_StoppingDistance: 0
m_AutoTraverseOffMeshLink: 1
@@ -392,10 +392,20 @@ PrefabInstance:
propertyPath: m_Name
value: ShadowBlob
objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalScale.x
+ value: 4.81
+ objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_LocalScale.y
- value: 0.6
+ value: 2.886
+ objectReference: {fileID: 0}
+ - target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
+ type: 3}
+ propertyPath: m_LocalScale.z
+ value: 4.81
objectReference: {fileID: 0}
- target: {fileID: 2733343371218911198, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
@@ -450,7 +460,7 @@ PrefabInstance:
- target: {fileID: 7413351822284119071, guid: 588bce5844a3f4b22a97acad504461e6,
type: 3}
propertyPath: m_Color.a
- value: 0.45
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
diff --git a/Assets/Resources/Data/人类士兵Data.asset b/Assets/Resources/Data/人类士兵Data.asset
index 2e6b586..bd3c299 100644
--- a/Assets/Resources/Data/人类士兵Data.asset
+++ b/Assets/Resources/Data/人类士兵Data.asset
@@ -19,8 +19,8 @@ MonoBehaviour:
unitPrefab: {fileID: 7945271050725079514, guid: 04ae1b1fe51474dda8ae5daf0b1df7c1,
type: 3}
baseMaxHealth: 300
- baseAttackPower: 42
+ baseAttackPower: 25
baseMoveSpeed: 2.2
healthPerLevel: 35
- attackPerLevel: 4
+ attackPerLevel: 2
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/城堡弓童Data.asset b/Assets/Resources/Data/城堡弓童Data.asset
index c9e9b31..8f295f8 100644
--- a/Assets/Resources/Data/城堡弓童Data.asset
+++ b/Assets/Resources/Data/城堡弓童Data.asset
@@ -19,7 +19,7 @@ MonoBehaviour:
unitPrefab: {fileID: 5353056374797990493, guid: c441f52bd7de14f7980881b0aff3ed62,
type: 3}
baseMaxHealth: 150
- baseAttackPower: 28
+ baseAttackPower: 17
baseMoveSpeed: 3.5
healthPerLevel: 0
attackPerLevel: 0
diff --git a/Assets/Resources/Data/城堡蓝卫QData.asset b/Assets/Resources/Data/城堡蓝卫QData.asset
index 8ff7bcb..e31c7f3 100644
--- a/Assets/Resources/Data/城堡蓝卫QData.asset
+++ b/Assets/Resources/Data/城堡蓝卫QData.asset
@@ -19,7 +19,7 @@ MonoBehaviour:
unitPrefab: {fileID: 6831747914582959299, guid: 1fed8c7a79ffa4ce386e4b260c81330d,
type: 3}
baseMaxHealth: 170
- baseAttackPower: 22
+ baseAttackPower: 13
baseMoveSpeed: 3.5
healthPerLevel: 0
attackPerLevel: 0
diff --git a/Assets/Resources/Data/城堡金盾卫Data.asset b/Assets/Resources/Data/城堡金盾卫Data.asset
index 3ec6ac1..f8baf72 100644
--- a/Assets/Resources/Data/城堡金盾卫Data.asset
+++ b/Assets/Resources/Data/城堡金盾卫Data.asset
@@ -19,7 +19,7 @@ MonoBehaviour:
unitPrefab: {fileID: 6097483073022240836, guid: ec2510b8f554e42d89d7aad24ddded11,
type: 3}
baseMaxHealth: 360
- baseAttackPower: 36
+ baseAttackPower: 22
baseMoveSpeed: 2.6
healthPerLevel: 0
attackPerLevel: 0
diff --git a/Assets/Resources/Data/弓箭手Data.asset b/Assets/Resources/Data/弓箭手Data.asset
index ebbf165..bb27f3b 100644
--- a/Assets/Resources/Data/弓箭手Data.asset
+++ b/Assets/Resources/Data/弓箭手Data.asset
@@ -19,8 +19,8 @@ MonoBehaviour:
unitPrefab: {fileID: 5200308054099318121, guid: 7d2074c48a1b3544eb534bb509ffc845,
type: 3}
baseMaxHealth: 220
- baseAttackPower: 55
+ baseAttackPower: 33
baseMoveSpeed: 2
healthPerLevel: 25
- attackPerLevel: 5
+ attackPerLevel: 3
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/弓箭猎人Data.asset b/Assets/Resources/Data/弓箭猎人Data.asset
index d4bc9a8..8b64cf4 100644
--- a/Assets/Resources/Data/弓箭猎人Data.asset
+++ b/Assets/Resources/Data/弓箭猎人Data.asset
@@ -18,12 +18,8 @@ MonoBehaviour:
cardIcon: {fileID: 21300000, guid: cce78877f842f5c4e863240a06535cc4, type: 3}
unitPrefab: {fileID: 4059575966999087028, guid: 4331d3c67d9c243cf8320a3a815cd03c,
type: 3}
- manaCost: 3
- cooldownTime: 1
- productionInterval: 8
- buildingCost: 120
baseMaxHealth: 220
- baseAttackPower: 35
+ baseAttackPower: 21
baseMoveSpeed: 2.2
healthPerLevel: 20
attackPerLevel: 1
diff --git a/Assets/Resources/Data/法师Data.asset b/Assets/Resources/Data/法师Data.asset
index 34e23ad..47f8b55 100644
--- a/Assets/Resources/Data/法师Data.asset
+++ b/Assets/Resources/Data/法师Data.asset
@@ -19,8 +19,8 @@ MonoBehaviour:
unitPrefab: {fileID: 7062617501994129594, guid: 6fb249c0311f442ecb190db77248eafc,
type: 3}
baseMaxHealth: 240
- baseAttackPower: 100
+ baseAttackPower: 60
baseMoveSpeed: 1.7
healthPerLevel: 22
- attackPerLevel: 8
+ attackPerLevel: 5
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/狂暴狼人Data.asset b/Assets/Resources/Data/狂暴狼人Data.asset
index a8f51dc..606d5e0 100644
--- a/Assets/Resources/Data/狂暴狼人Data.asset
+++ b/Assets/Resources/Data/狂暴狼人Data.asset
@@ -18,13 +18,9 @@ MonoBehaviour:
cardIcon: {fileID: 21300000, guid: 828dd51ecae0cc3418d2f1f675ffba3e, type: 3}
unitPrefab: {fileID: 6708744566382593167, guid: f3b0d9efccd74475dbbbcdc1ddcdf129,
type: 3}
- manaCost: 4
- cooldownTime: 1
- productionInterval: 10
- buildingCost: 150
baseMaxHealth: 360
- baseAttackPower: 36
+ baseAttackPower: 22
baseMoveSpeed: 2.5
healthPerLevel: 38
- attackPerLevel: 3
+ attackPerLevel: 2
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/盾卫Data.asset b/Assets/Resources/Data/盾卫Data.asset
index f9ad2a7..9f50a9d 100644
--- a/Assets/Resources/Data/盾卫Data.asset
+++ b/Assets/Resources/Data/盾卫Data.asset
@@ -19,8 +19,8 @@ MonoBehaviour:
unitPrefab: {fileID: 1242979668690031507, guid: 5a43e36885a204515891085639dd22c4,
type: 3}
baseMaxHealth: 700
- baseAttackPower: 30
+ baseAttackPower: 18
baseMoveSpeed: 1.6
healthPerLevel: 80
- attackPerLevel: 3
+ attackPerLevel: 2
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/石巨人Data.asset b/Assets/Resources/Data/石巨人Data.asset
index ab14c7e..ea36a28 100644
--- a/Assets/Resources/Data/石巨人Data.asset
+++ b/Assets/Resources/Data/石巨人Data.asset
@@ -18,13 +18,9 @@ MonoBehaviour:
cardIcon: {fileID: 21300000, guid: 7a686535436b593458a50fecbe0315ce, type: 3}
unitPrefab: {fileID: 4471054466352856454, guid: 52e49b3af34914387b829cef0563b36e,
type: 3}
- manaCost: 7
- cooldownTime: 1
- productionInterval: 20
- buildingCost: 250
baseMaxHealth: 1300
- baseAttackPower: 95
+ baseAttackPower: 57
baseMoveSpeed: 1.1
healthPerLevel: 140
- attackPerLevel: 9
+ attackPerLevel: 5
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/精锐士兵Data.asset b/Assets/Resources/Data/精锐士兵Data.asset
index 9ffd327..e4fe882 100644
--- a/Assets/Resources/Data/精锐士兵Data.asset
+++ b/Assets/Resources/Data/精锐士兵Data.asset
@@ -19,8 +19,8 @@ MonoBehaviour:
unitPrefab: {fileID: 3933539425749946856, guid: 6be579752d2424feea054ce267928002,
type: 3}
baseMaxHealth: 520
- baseAttackPower: 78
+ baseAttackPower: 47
baseMoveSpeed: 2
healthPerLevel: 50
- attackPerLevel: 6
+ attackPerLevel: 4
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/绿色史莱姆Data.asset b/Assets/Resources/Data/绿色史莱姆Data.asset
index 56d9183..0cd5e02 100644
--- a/Assets/Resources/Data/绿色史莱姆Data.asset
+++ b/Assets/Resources/Data/绿色史莱姆Data.asset
@@ -17,11 +17,9 @@ MonoBehaviour:
description:
cardIcon: {fileID: 0}
unitPrefab: {fileID: 0}
- manaCost: 1
- cooldownTime: 1
baseMaxHealth: 150
- baseAttackPower: 18
+ baseAttackPower: 11
baseMoveSpeed: 3
healthPerLevel: 7.5
- attackPerLevel: 0.9
+ attackPerLevel: 1
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/荒野之王Data.asset b/Assets/Resources/Data/荒野之王Data.asset
index 13ea3f7..4333439 100644
--- a/Assets/Resources/Data/荒野之王Data.asset
+++ b/Assets/Resources/Data/荒野之王Data.asset
@@ -17,11 +17,9 @@ MonoBehaviour:
description:
cardIcon: {fileID: 0}
unitPrefab: {fileID: 0}
- manaCost: 8
- cooldownTime: 1
baseMaxHealth: 900
- baseAttackPower: 82
+ baseAttackPower: 49
baseMoveSpeed: 2.8
healthPerLevel: 45
- attackPerLevel: 4.1
+ attackPerLevel: 2
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/荒野流寇Data.asset b/Assets/Resources/Data/荒野流寇Data.asset
index 8a6423c..d755ae2 100644
--- a/Assets/Resources/Data/荒野流寇Data.asset
+++ b/Assets/Resources/Data/荒野流寇Data.asset
@@ -17,11 +17,9 @@ MonoBehaviour:
description:
cardIcon: {fileID: 0}
unitPrefab: {fileID: 0}
- manaCost: 2
- cooldownTime: 1
baseMaxHealth: 240
- baseAttackPower: 30
+ baseAttackPower: 18
baseMoveSpeed: 3.5
healthPerLevel: 12
- attackPerLevel: 1.5
+ attackPerLevel: 1
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/荒野祭司Data.asset b/Assets/Resources/Data/荒野祭司Data.asset
index cd83b68..2397b0a 100644
--- a/Assets/Resources/Data/荒野祭司Data.asset
+++ b/Assets/Resources/Data/荒野祭司Data.asset
@@ -17,11 +17,9 @@ MonoBehaviour:
description:
cardIcon: {fileID: 0}
unitPrefab: {fileID: 0}
- manaCost: 5
- cooldownTime: 1
baseMaxHealth: 260
- baseAttackPower: 24
+ baseAttackPower: 14
baseMoveSpeed: 3
healthPerLevel: 13
- attackPerLevel: 1.2
+ attackPerLevel: 1
moveSpeedPerLevel: 0
diff --git a/Assets/Resources/Data/蓝色怪物Data.asset b/Assets/Resources/Data/蓝色怪物Data.asset
index a5152cb..a90b99e 100644
--- a/Assets/Resources/Data/蓝色怪物Data.asset
+++ b/Assets/Resources/Data/蓝色怪物Data.asset
@@ -17,12 +17,8 @@ MonoBehaviour:
description:
cardIcon: {fileID: 0}
unitPrefab: {fileID: 0}
- manaCost: 1
- cooldownTime: 1
- productionInterval: 5
- buildingCost: 80
baseMaxHealth: 340
- baseAttackPower: 16
+ baseAttackPower: 10
baseMoveSpeed: 1.6
healthPerLevel: 34
attackPerLevel: 1
diff --git a/Assets/Scenes/DefenseTest.scene b/Assets/Scenes/DefenseTest.scene
index fede4d1..3125176 100644
Binary files a/Assets/Scenes/DefenseTest.scene and b/Assets/Scenes/DefenseTest.scene differ
diff --git a/Assets/Script/AutoBindHeroes.cs b/Assets/Script/AutoBindHeroes.cs
new file mode 100644
index 0000000..658f26a
--- /dev/null
+++ b/Assets/Script/AutoBindHeroes.cs
@@ -0,0 +1,137 @@
+using UnityEngine;
+using System.Collections.Generic;
+
+///
+/// 自动绑定友方英雄到UI卡片(Play Mode自动运行)
+///
+public class AutoBindHeroes : MonoBehaviour
+{
+ [Header("UI引用")]
+ [Tooltip("英雄卡片面板的父物体")]
+ public Transform heroCardsPanel;
+
+ [Header("英雄头像资源")]
+ public Sprite soldierIcon;
+ public Sprite archerIcon;
+ public Sprite shieldIcon;
+ public Sprite mageIcon;
+ public Sprite eliteSoldierIcon;
+
+ private bool hasBindOnce = false;
+
+ void Start()
+ {
+ // 延迟1秒等待所有英雄生成
+ Invoke(nameof(BindHeroesToCards), 1f);
+ }
+
+ void BindHeroesToCards()
+ {
+ if (hasBindOnce)
+ {
+ Debug.LogWarning("英雄已经绑定过了,跳过重复绑定");
+ return;
+ }
+
+ if (heroCardsPanel == null)
+ {
+ Debug.LogError("AutoBindHeroes: heroCardsPanel 未赋值!");
+ return;
+ }
+
+ // 1. 查找所有友方英雄(teamId=0)
+ var allUnits = FindObjectsOfType();
+ var heroes = new List();
+
+ foreach (var unit in allUnits)
+ {
+ var team = unit.GetComponent();
+ if (team != null && team.teamId == 0)
+ {
+ heroes.Add(unit);
+ }
+ }
+
+ if (heroes.Count == 0)
+ {
+ Debug.LogWarning("AutoBindHeroes: 未找到友方英雄(teamId=0)");
+ return;
+ }
+
+ Debug.Log($"AutoBindHeroes: 找到 {heroes.Count} 个友方英雄");
+
+ // 2. 设置所有英雄为可复活
+ foreach (var hero in heroes)
+ {
+ var health = hero.GetComponent();
+ if (health != null)
+ {
+ health.canRevive = true;
+ }
+ }
+
+ // 3. 绑定到UI卡片(最多5个)
+ int bindCount = Mathf.Min(heroes.Count, 5);
+ for (int i = 0; i < bindCount; i++)
+ {
+ var hero = heroes[i];
+ var cardObj = heroCardsPanel.Find($"HeroCard{i + 1}");
+
+ if (cardObj == null)
+ {
+ Debug.LogWarning($"AutoBindHeroes: 未找到 HeroCard{i + 1}");
+ continue;
+ }
+
+ var heroCardUI = cardObj.GetComponent();
+ if (heroCardUI == null)
+ {
+ Debug.LogWarning($"AutoBindHeroes: HeroCard{i + 1} 缺少 HeroCardUI 组件");
+ continue;
+ }
+
+ // 根据英雄名字匹配头像
+ Sprite icon = GetHeroIcon(hero.name);
+ if (icon == null)
+ {
+ Debug.LogWarning($"AutoBindHeroes: {hero.name} 没有匹配的头像,使用默认图标");
+ }
+
+ // 绑定英雄
+ heroCardUI.SetHero(hero, icon, hero.transform.position);
+ Debug.Log($"✅ HeroCard{i + 1} 已绑定: {hero.name}");
+ }
+
+ hasBindOnce = true;
+ Debug.Log($"✅ 英雄自动绑定完成!共绑定 {bindCount} 个英雄");
+ }
+
+ ///
+ /// 根据英雄名字获取对应头像
+ ///
+ Sprite GetHeroIcon(string heroName)
+ {
+ if (heroName.Contains("人类士兵") || heroName.Contains("士兵"))
+ {
+ return soldierIcon;
+ }
+ else if (heroName.Contains("弓箭手") || heroName.Contains("弓箭"))
+ {
+ return archerIcon;
+ }
+ else if (heroName.Contains("盾卫"))
+ {
+ return shieldIcon;
+ }
+ else if (heroName.Contains("法师"))
+ {
+ return mageIcon;
+ }
+ else if (heroName.Contains("精锐"))
+ {
+ return eliteSoldierIcon;
+ }
+
+ return null;
+ }
+}
diff --git a/Assets/Script/AutoBindHeroes.cs.meta b/Assets/Script/AutoBindHeroes.cs.meta
new file mode 100644
index 0000000..c0f35fb
--- /dev/null
+++ b/Assets/Script/AutoBindHeroes.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: BntLsXv+VCiekq1pfBLqrcgPxyOKiyT9GMwu39MKq/rePWiFpCWwjlw=
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Script/BattleFormationSpawner.cs b/Assets/Script/BattleFormationSpawner.cs
index 46e4679..a6843ed 100644
--- a/Assets/Script/BattleFormationSpawner.cs
+++ b/Assets/Script/BattleFormationSpawner.cs
@@ -19,6 +19,7 @@ public class BattleFormationSpawner : MonoBehaviour
private void Start()
{
+ spawnedHeroCount = 0; // 重置计数器
SpawnHeroes();
}
@@ -88,10 +89,13 @@ public class BattleFormationSpawner : MonoBehaviour
return -1;
}
+ private static int spawnedHeroCount = 0; // 记录已生成英雄数量
+
private void Spawn(GameObject prefab, int cell)
{
CharacterData characterData = FindCharacterDataForPrefab(prefab);
- GameObject unit = Instantiate(prefab, DeployGrid.CellPosition(cell), Quaternion.identity);
+ Vector3 spawnPos = DeployGrid.CellPosition(cell);
+ GameObject unit = Instantiate(prefab, spawnPos, Quaternion.identity);
unit.name = "英雄_" + prefab.name;
if (heroParent != null)
@@ -123,6 +127,49 @@ public class BattleFormationSpawner : MonoBehaviour
characterData.GetAttackPower(level),
characterData.GetMoveSpeed(level));
}
+
+ // 设置友方英雄可复活
+ WorldHealthBar healthBar = unit.GetComponent();
+ if (healthBar != null && playerTeamId == 0)
+ {
+ healthBar.canRevive = true;
+ }
+
+ // 绑定到英雄卡片UI
+ BindHeroToCard(unit, characterData, spawnPos);
+ }
+
+ private void BindHeroToCard(GameObject heroUnit, CharacterData characterData, Vector3 spawnPos)
+ {
+ if (spawnedHeroCount >= 5) return; // 最多5个英雄
+
+ // 查找对应的卡片
+ Canvas canvas = FindObjectOfType