basil
|
4003b3aaba
|
阶段性打包
|
2026-09-12 21:49:10 +08:00 |
|
basil
|
4250e48e22
|
修复 GameStateBattle -> GameStateShop/LevelUp 时的敌人异常残留问题
用一个 _isStopped 布尔门替代 id 追踪:
- OnReset 开头置 _isStopped = true
- OnInit 置 _isStopped = false
- OnShowEntitySuccess:只要 _isStopped 为真且是 Enemy 组,立即 HideEntity
- SpawnEnemyAsync await 恢复后也补一道 _isStopped 检查(若 await 拿到了 enemy 且已停战,直接 hide 不注册)——双保险
为什么这样对:停战窗口(Shop/LevelUp)期间本就不该有任何敌人,所以"停战期间出生的敌人一律 hide"在语义上完全正确,且不受 await 同步抽空、id 复用、加载时序任何影响。
|
2026-06-26 13:53:36 +08:00 |
|
basil
|
c111170bb0
|
清理项目目录并进行一次打包验证
|
2026-06-25 20:47:15 +08:00 |
|
basil
|
cc8982b131
|
推进计时器逻辑的集中管理
- 将敌人的攻击计时任务放到基类中进行创建
- 将 EnemySpawnScheduler 敌人生成调度器的刷怪计时任务迁移到 TimerComponent
|
2026-06-23 20:42:24 +08:00 |
|
basil
|
846e4d6f44
|
将 Weapon 攻击冷却计时器 由 Weapon 内部维护迁移到 TimerModule 维护
|
2026-06-18 23:23:29 +08:00 |
|
basil
|
25f36d38c9
|
将 Enemy 攻击冷却计时器 由 Enemy 内部维护迁移到 TimerModule 维护
|
2026-06-18 23:09:44 +08:00 |
|
basil
|
0dc5889417
|
导入 TimerModule 计时器模块
|
2026-06-18 22:50:46 +08:00 |
|
basil
|
fbc7e66491
|
Delete ObjectBase.meta
|
2026-06-18 22:39:32 +08:00 |
|
basil
|
000984c676
|
refactor(EnemyManager): 性能优化与并发安全修复
- EnemyRegistry: 移除List冗余存储, Register/Remove从O(n)→O(1)
- 增加PruneInvalidEntries显式清理接口, 消除TryGet副作用
- Remove增加不存在告警, 防重复减成负数
- 增加CTS取消飞行中的异步生成, 关卡切换时取消+重建
- ClearEnemies先快照再遍历, 防Hide回调修改集合抛异常
- entityId去掉取模复用, 直接自增保证唯一
- Enemy EntityGroup调优: Capacity→10000, ReleaseInterval→30, ExpireTime→120
|
2026-06-18 17:06:10 +08:00 |
|
basil
|
49c300a10e
|
Update EnemyManagerComponent.cs
|
2026-06-18 15:59:06 +08:00 |
|
basil
|
38849f5019
|
从 EnemyManager 里拆分出敌人的生成
|
2026-06-18 15:40:00 +08:00 |
|
basil
|
921193f469
|
从 EnemyManager 里拆分出敌人的注册/管理/查询功能
|
2026-06-18 15:33:36 +08:00 |
|
basil
|
b6a13b18fc
|
从 EnemyManager 中拆分刷怪位置策略接口
|
2026-06-18 15:25:04 +08:00 |
|
basil
|
43f81c8926
|
将 ShopController 构建 Context 的功能迁移到 partial class 里,并调整了部分构建逻辑
|
2026-06-17 11:57:46 +08:00 |
|
basil
|
44f6729c1a
|
重构:调整目录结构和文件所属目录
|
2026-06-17 10:07:23 +08:00 |
|
basil
|
5c3b87ab3f
|
重构:统一 UI 模块目录结构规范
- 事件命名规范化:RefreshEventArgs → LevelUpRefreshEventArgs
- LevelUp 子组件目录调整:LevelUpRewardItem + LevelUpRewardItemContext 移动到 LevelUp/
- Shop 子组件目录调整:DisplayItem/DisplayListArea/GoodsItem/ShopGoodsItem 及其 Context/RawData 全部移动到 Shop/
- 删除冗余文件:LevelUpRewardItemRawData(从未被使用)
- 新增 ObjectPool 目录结构
- 更新 LevelUpController 和 LevelUpForm 中的事件引用
|
2026-06-17 09:50:47 +08:00 |
|
basil
|
c30b256d7a
|
重构:修复 Shop 与 ItemTooltip 跨模块事件边界问题
- 将 _tooltipLocked 状态从 ItemTooltipController 移到 ShopController 维护
- DisplayItem 只发 Shop 模块 UI 事件(Hover/Lock/Hide)
- ItemTooltipForm 取消按钮发 ItemTooltip 模块事件自关闭
- ShopController 通过 UIRouter 跨模块控制 ItemTooltipForm
- 移除 DisplayItemHideEventArgs 的 Force 字段,分离两种关闭场景
|
2026-06-17 09:37:44 +08:00 |
|
basil
|
2590f31250
|
将原来遗漏的脚本文件夹改名为正确的 DisplayItemInfo -> ItemTooltip
|
2026-06-16 22:59:08 +08:00 |
|
basil
|
e5630f0896
|
扩充道具系统并统一图标命名规范
- 为 20 个道具赋予中文名称(铁护腕、狂战士药剂等)
- 移除数据表 IconAssetName 列,改为按 `类型_{id}_icon`
的命名约定自动推导图标路径
- 清理旧图标资源(Almighty_Icon、172 系列)
- 同步更新各数据表 Excel 源文件
|
2026-06-16 17:09:20 +08:00 |
|
basil
|
a2cd3ab7e7
|
扩充道具系统并统一图标命名规范
- 为 20 个道具赋予中文名称(铁护腕、狂战士药剂等)
- 移除数据表 IconAssetName 列,改为按 `类型_{id}_icon`
的命名约定自动推导图标路径
- 清理旧图标资源(Almighty_Icon、172 系列)
- 同步更新各数据表 Excel 源文件
|
2026-06-10 17:26:59 +08:00 |
|
basil
|
b79d482453
|
规范 UI 开发,ui-five-layer-architecture skill
|
2026-04-09 09:59:50 +08:00 |
|
basil
|
0a78c0bd94
|
引入 claude code 和 初始化 codex
|
2026-04-08 17:00:24 +08:00 |
|
basil
|
a649d9fad2
|
update CodeX-TODO.md
|
2026-04-02 09:35:09 +08:00 |
|
basil
|
0a281a5b1f
|
update P2-Job-System-+-Burst-落地.md
|
2026-04-02 08:32:37 +08:00 |
|
basil
|
0d7df18324
|
优化 WeaponLance 的攻击逻辑
|
2026-03-20 09:55:52 +08:00 |
|
basil
|
8d21d53c4d
|
添加武器长枪 + bug fix
- WeaponLance:Entity/Goods/Weapon 表,状态机
- Battle -> Shop/LevelUp:隐藏子弹
|
2026-03-19 17:53:24 +08:00 |
|
basil
|
c5d113b35f
|
调整 convert.py 转换逻辑 + 规划后续开发
|
2026-03-17 13:21:49 +08:00 |
|
basil
|
59f1d02a18
|
测试修复安卓打包
|
2026-03-17 11:28:33 +08:00 |
|
basil
|
224db4cd5c
|
保留 Tick 作为唯一入口,但让 SimulationWorld 只做 orchestration
- Tick 仍然是唯一仿真入口。SimulationWorld 顶层现在只保留全局开关、bridge 服务和生命周期入口,原来散落在类上的大部分跨域状态已经从 SimulationWorld 收口到新的 SimulationWorld.RuntimeModules。
- 新的 runtime modules 把状态按域分成了 SimulationStateStore、JobDataRuntimeState、CollisionPipelineRuntimeState、TargetSelectionRuntimeState,并通过同名代理把现有 partial 的调用面基本保持不变。
- CollisionPipeline 和 target-selection 的配置也一起下沉到了运行时模块。为了避免现有反射型测试立刻失效,保留了 _collisionQueryInputs 和 _areaCollisionRequests 这两个顶层兼容字段。
|
2026-03-17 10:05:07 +08:00 |
|
basil
|
736a2a65bd
|
拆分 SimulationWorld.JobDataChannel
- 生命周期在 SimulationWorld.JobDataLifecycle
- 数据转换和输入输出缓冲准备在 SimulationWorld.JobDataConversion
- collision transient/runtime stats 在 SimulationWorld.CollisionTransient
- enemy separation temporal state 在 SimulationWorld.EnemySeparationTemporal
- output commit 在 SimulationWorld.JobOutputCommit
- SimulationWorld 的 partial 布局注释也同步到了 SimulationWorld
|
2026-03-17 09:32:08 +08:00 |
|
basil
|
2d822c02e6
|
拆分 CollisionPipeline
- 请求缓冲在 SimulationWorld.CollisionRequests
- broad-phase / Job 调度在 SimulationWorld.CollisionBroadPhase
- 主线程 resolve 在 SimulationWorld.CollisionResolve
- hit presentation dispatch 和实体/impact 解析在 SimulationWorld.CollisionPresentation
|
2026-03-17 09:21:11 +08:00 |
|
basil
|
aa081bcc3c
|
remove open spec skills
|
2026-03-17 08:58:56 +08:00 |
|
basil
|
f809af4e15
|
调整 UI 防御性编程
|
2026-03-17 08:34:38 +08:00 |
|