根据提供的code differences信息,由于没有具体的代码变更内容,我将生成一个通用的commit message模板:
``` docs(readme): 更新文档说明 - 添加项目使用指南 - 完善API接口说明 - 修正错误的配置示例 ``` 注意:由于您提供的code differences部分为空,以上是一个示例模板。当您有具体的代码变更时,请提供详细的变更内容以便生成更准确的commit message。
This commit is contained in:
1 parent
8cbe8e000b
commit
1a84ea999e
36 files changed
+32672
-136
No files matched your search
@@ -131,7 +131,8 @@
|
||||
- [2026-10-03 23:38:14] DefenseTest场景已改造为开局布阵模式:玩家开局拖动英雄卡到3行6列后三排网格(BackZ=-15),点击开始战斗按钮后开始波次,每波结束英雄回到初始位置。不再预先配置阵容到JSON。已创建DefenseGameFlowController和GridLineVisualizer(红线可视化网格,Y=0.5)。StartBattleButton在BottomUI下。
|
||||
- [2026-10-04 09:28:04] 2026-10-04 DefenseTest 开局卡牌拖动修复完成:根本原因是 BattleFormationSpawner 在 Start() 时自动生成英雄(法师/弓箭手),DefenseGameFlowController.InitializeCardDrag() 需要的 HeroRoster.asset 因损坏无法加载。修复方案:1) 重新创建 HeroRoster.asset 包含5个英雄并正确设置 unitPrefab 引用;2) 在场景中禁用 BattleFormationSpawner 组件,塔防版不需要自动生成初始英雄;3) DefenseGameFlowController.roster 字段在场景中配置 HeroRoster 引用。现在开局场上无单位,5张卡片均可拖动,HeroCardDrag 组件和 CanvasGroup 已自动配置。
|
||||
- [2026-10-04 10:15:39] 2026-10-04 DefenseTest 布阵拖拽系统重做完成。DeployGrid 常量改为 6列×5行、ColStep=2.8、RowStep=3.0、BackZ=-9(旧值 -15 落在 NavMesh 之外,单位会卡住)。战场/部署网格 的30个格位由 DefenseGameFlowController.AlignGridCells 按命名「格位_行_列」自动摆到 DeployGrid 坐标,布阵阶段显示、开战隐藏。新增 DeployHighlight(绿=可放/红=已占用,公开 IsVisible/IsBlocked/ShownCell),HeroCardDrag 重写为「生成半透明英雄幽灵跟随指针 + 平面射线吸附格位」,DefenseGameFlowController 增加 Instance/IsDeployPhase/PlaceHeroFromCard/IsCellOccupied/IsCardPlaced/RemoveHeroAt,点击已放置英雄可撤回(Update 里 Physics.Raycast 命中 UnitBase)。场景新增 StartBattleButton(Canvas 根、bottom-center、y=360、圆角绿底),deploymentUI 必须保持 null——英雄卡面板战斗中要一直显示血量/复活。血条隐藏要操作 WorldHealthBar.Awake 生成的子物体 "WorldHealthBar",不是组件所在的对象。
|
||||
- [2026-10-04 11:15:47] 2026-10-04 DefenseTest 布阵区域改为 4×4 并与用户新建的 Plane 完全重合。DeployGrid 常量:Cols=4、Rows=4、ColStep=2.875、RowStep=2.8、BackZ=-14.2、CellWidth=2.815、CellDepth=2.74、GridY=0.115、UnitY=0.10(对齐重烘后的 NavMesh)。Plane 原在 y=0.5 会挡住单位,已降到 y=0.09 并放入 Buildings 层(layer 8)排除烘焙;NavMeshSurface 体积改为 center=(0,1,12) size=(28,12,62) 重烘,NavMesh 高度由 0.16 变 0.095,DefenseWaveLevelController.spawnY 同步改为 0.1。开始游戏按钮改为顶部居中(anchor 上中、anchoredPosition y=-170、420×120)。注意:BattlePlatform 实际只覆盖 Z -22.8..17.2,所以 NavMesh 远端也就到 ~16.9,敌人 spawnZ=20 本身在地面之外(靠 NavMeshAgent 自动吸附),这是既有行为。
|
||||
- [2026-10-14 00:09:44] 2026-10-04 起 DefenseTest 布阵区域,2026-10-14 由 4×4 改为 **5 列 × 4 行 = 20 格位**,与用户新建的布阵 Plane 完全重合。DeployGrid.cs(Assets/Scripts/数据脚本)常量:Cols=5、Rows=4、ColStep=2.30、RowStep=2.80、BackZ=-14.2、CellWidth=2.22、CellDepth=2.74、GridY=0.115、UnitY=0.10(对齐重烘后的 NavMesh),覆盖 X ∈ [-5.75, 5.75]、Z ∈ [-15.6, -4.4]。Plane y=0.09 放入 Buildings 层(layer 8)排除烘焙;NavMeshSurface 体积 center=(0,1,12) size=(28,12,62),NavMesh 高度 0.095,DefenseWaveLevelController.spawnY=0.1。开始游戏按钮顶部居中(anchor 上中、anchoredPosition y=-170、420×120)。注意:BattlePlatform 实际只覆盖 Z -22.8..17.2,NavMesh 远端约到 ~16.9,敌人 spawnZ=20 在地面之外(靠 NavMeshAgent 自动吸附),这是既有行为。
|
||||
|
||||
- [2026-10-04 13:12:11] 2026-10-04 英雄打完归位改为"走回去"(正常速度),去掉瞬移。关键坑:UnitBase.Start 里 `navAgent.stoppingDistance = attackRange*0.95` 会让 agent 在到达锚点前就认为"已到达"而停住(法师 5.7 米、盾卫 0.95 米都远大于 anchorArrivalDistance 0.35),所以"走回锚点"以前根本走不到——这正是当初只能瞬移的原因。修法:ReturnToAnchor 里把 stoppingDistance 设 0,RestoreIdleSpeed/move() 里恢复 NormalStoppingDistance。另新增 useAnchorLeash/anchorLeashDistance(英雄设为 10 米,DefenseGameFlowController.heroLeashDistance 控制),目标距锚点超过上限就不追,避免一路推到 Z≈16。DefenseGameFlowController.ResetHeroPositions 现在只清 target 让 UnitBase 自己走回,仅当 NavMesh.SamplePosition 找不到落脚点(真卡住)才瞬移兜底。
|
||||
- [2026-10-04 14:12:16] 2026-10-04 DefenseTest 两处修正:1) 阵位守护距离不再单开字段,直接用 UnitBase.detectionRange(已删除 anchorLeashDistance / heroLeashDistance;DefenseGameFlowController 只留开关 heroGuardPost=true,新 bool 字段在旧场景里会反序列化成 false,必须显式写进场景)。出战 5 个英雄 Prefab 的 detectionRange 已从 30/50 调到 10(弓箭手 12)。2) 底部英雄卡的角色改回从 PlayerData.json 的 currentDeck 读(站位不再读),卡面(头像/名字/稀有度)用同一份 CharacterData 刷新(新增 HeroCardUI.SetCharacterInfo,区别于绑定单位的 SetHero),否则会出现「卡面显示人类士兵、拖出来却是法师」的不一致;PlayerData 读不到时兜底用 HeroRoster。注意 CharacterData 里有些角色(荒野之王/荒野流寇等)unitPrefab 为空,不能出战,取阵容时要跳过。
|
||||
- [2026-10-04 23:19:03] - [2026-10-04 22:20:00] CharacterData 真实字段名(猜错会导致 exec_editor_script 编译失败):baseMaxHealth / baseAttackPower / baseMoveSpeed / healthPerLevel / attackPerLevel / moveSpeedPerLevel / characterId / characterName / cardIcon / rarity / unitPrefab / description。**不存在** baseHealth / baseAttack。UnitBase 的“角色数据”字段是字符串 characterDataName,运行时 Resources.Load<CharacterData>($"Data/{name}"),资产放在 Assets/Resources/Data。
|
||||
@@ -158,6 +159,8 @@
|
||||
- [2026-10-12 17:01:19] 2026-10-12 法师重构为阶梯技能体系 (CastleMageSkill.cs),包含 FireballSharpMissileFire 飞弹、MagicExplosionFire 爆破及 FireFieldRed 地面持续灼烧火海特效。
|
||||
- [2026-10-12 22:31:36] 2026-10-12 精锐士兵刺客重构完毕:EliteSoldierSkill.cs 实现1级直接飞天斩后排(跃起劈砍.fbx第0帧立刻起跳、0.95s第30帧精准落地扑向敌方最远后排重劈200%);3级250%伤害且落地+35%移速;6级影袭破防眩晕1.2s;10级击杀目标后0.25s立即再次腾空连斩下一个后排(最多3连斩)。飞跃期间必须关闭 animator.applyRootMotion = false 与 navAgent.enabled = false,彻底消除动画根运动与抛物线位移打架造成的连斩异常漂移。
|
||||
- [2026-10-13 15:47:12] 2026-10-12 第二章原弓箭猎人重构为荒野猎手(投矛手):远程投掷重矛,核心技能锁定大范围内距离最远的目标超远狙杀(越远伤害越高),6级升级为直线贯穿+最远目标击退2米(移除眩晕),10级击杀返还50%能量与范围爆裂。文档已同步更新。
|
||||
- [2026-10-13 23:28:05] 2026-10-13 新英雄荒野猎手基础搭建完成:制作矛预制体 (Assets/Prefabs/武器飞行物/矛.prefab),Projectile 支持抛物线投掷 (useParabola=true, parabolaHeight=1.0m,飞行中根据轨迹切线自动俯仰矛头);创建荒野猎手Data.asset与预制体 (Assets/Prefabs/第二章/荒野猎手.prefab),挂载CharacterController、NavMeshAgent、WorldHealthBar、StatusEffectController、UnitTeam、UnitBase;攻击类型为RangedProjectile,射程6m,投矛出生点绑定右手骨骼下的pos节点。PlayMode投矛抛物线轨迹验证通过。
|
||||
- [2026-10-13 23:54:42] 2026-10-13 荒野猎手阶梯技能实装完毕:文档与WildHunterSkill.cs已更新。按需求移除6级穿透杂兵伤害与10级群体爆裂;1级穿心猎矛自动制导后排最远目标(每米+5%伤害上限+45%);3级速度+40%、暴击+20%、伤害230%;6级后排目标后仰击退2.0米(NavMesh.Warp安全后推,无眩晕);10级伤害340%且斩杀立即返还50%技能能量;技能重矛挂载SparkleMissileYellow金色流光拖尾粒子。全流程PlayMode测试验证通过。
|
||||
|
||||
### Reference
|
||||
- [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。
|
||||
Reference in new issue
Block a user