starmen1265
|
4bc4e88ad3
|
refactor(interaction): 统一PersistenceSubsystem消耗状态section标题措辞
|
2026-06-17 18:32:51 +08:00 |
|
starmen1265
|
b3c87c5f9c
|
refactor(interaction): PersistenceSubsystem语义修正消耗状态
|
2026-06-17 18:12:30 +08:00 |
|
starmen1265
|
645473022f
|
fix(interaction): 修复Narrative Widget淡出后残留累积并解耦时长
对应 P-016 game-reviewer 审查建议(非阻塞关注项)两项:
1. [生命周期] ExecuteHideNarrative 删除 Hide() 后立即 CachedNarrativeWidget=nullptr 的那行,与 Pickup 路径对称;让 RemoveNarrativeWidget 能检测到残留 Widget 并 RemoveFromParent,修复每次交互循环视口残留实例累积。
2. [一致性] NarrativeTextWidget/PickupNotificationWidget 的 Hide() 淡出时长改为从 FadeOutAnim->GetEndTime() 读取(无动画回退 0.2f),消除与动画时长耦合的硬编码;lambda 捕获由 [this] 改为 [WeakThis](TWeakObjectPtr) 避免悬空。
补充:两个 cpp 添加 #include Animation/WidgetAnimation.h(GetEndTime 需要 UWidgetAnimation 完整类型,原仅有前向声明)。UE5.7 编译验证 Result:Succeeded,零 error/warning。
Co-Authored-By: Claude Opus 5.8 <noreply@anthropic.com>
|
2026-06-17 00:25:34 +08:00 |
|
starmen1265
|
3cc3ac0d7f
|
fix(collection): 修正CollectionHUDComponent Tick属性拼写
P-013遗留: PrimaryComponentTick.bCanEveryTick 是不存在的属性
(正确拼写为 bCanEverTick),导致该组件Tick实际未启用。本次随P-016
编译验证一并修正。
Co-Authored-By: Claude Opus 5.8 <noreply@anthropic.com>
|
2026-06-16 23:59:58 +08:00 |
|
starmen1265
|
1e5f40e633
|
feat(interaction): 接通叙事/拾取通知Widget表现层
P-016: 将EffectManager的ShowNarrative/HideNarrative/ShowPickupNotification
从日志占位改为真实CreateWidget+AddToViewport+淡入淡出生命周期。
- 新增UPickupNotificationWidget C++基类(对称NarrativeTextWidget)
- EffectManager新增SetWidgetClasses注入接口与Widget弱引用缓存
- PerformCleanup补齐Narrative/Pickup Widget兜底淡出移除
- ASystemDriver新增两个TSubclassOf配置点,BeginPlay注入给EffectManager
- Widget Class未注入时回退日志占位,保证Effect流程不卡
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-16 23:30:50 +08:00 |
|
starmen1265
|
be4e9a15c9
|
fix(collection): 收集Widget补NativeDestruct清理计时器
|
2026-06-15 11:42:43 +08:00 |
|
starmen1265
|
4fc4a39aa6
|
feat(collection): P-013收集系统三层架构解耦实现
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-15 05:13:28 +08:00 |
|
starmen1265
|
893ef1eac2
|
fix(interaction): 修复SetInteracting双调用等4个审查退回问题
对应 Issue #32 审查退回(第二次)的4个问题:
1.(重大)移除 InteractionManager 反射调用 SetInteracting,SetInteracting(false) 改由 SystemDriver.OnEffectComplete 协调触发
2.(重大)DoorActor::OnInteractStarted 改为空实现,门开关业务由 EffectManager::ExecuteToggleDoor 驱动
3.(中等)EffectManager::ExecuteCameraReturn 销毁 PushCam 并清空 CachedPushCamera,避免冗余回位
4.(中等)EffectManager::AddToBackpack 添加收集系统集成 TODO 注释
编译验证通过 (UE5.7 ChildHoodEditor Development)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-14 23:48:55 +08:00 |
|
starmen1265
|
237885e3b8
|
fix(interaction): 修复编译错误和交互系统集成问题
- SystemDriver: EffectManager改为值持有,去掉TUniquePtr和条件编译
- SystemDriver: 补充EngineUtils.h include修复TActorIterator编译错误
- GameMode: BeginPlay自动Spawn ASystemDriver
- InteractableActor: 改为abstract基类,子类自行创建交互组件
- DoorActor: 创建DoorInteractableComp替代基类组件
- EffectManager: 实现ExecuteToggleDoor调用实际门开关逻辑
- InteractableComponent/DoorComponent: 修复GetGameInstance路径和调用方式
- EffectManager: Broadcast改为Execute(单播委托)
|
2026-06-12 00:51:00 +08:00 |
|
starmen1265
|
c14c63f30d
|
refactor(interaction): 适配v1.1架构的角色/管理器/交互物改动
- Character: 替换UInteractionManager为UInteractionPromptComponent
- GameInstance: 空壳化,持久数据迁移至PersistenceSubsystem
- InteractionManager: 重写为普通C++ FInteractionManager
- InteractableComponent: 碰撞回调接入ASystemDriver注册
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-11 23:21:46 +08:00 |
|
starmen1265
|
4bf678b937
|
feat(interaction): 交互系统v1.1 Effect/Action架构实现
新增:
- EffectManager: Effect Timeline调度 + Action执行分发
- SystemDriver: AInfo全局驱动器, 持有FInteractionManager/FEffectManager
- InteractionPromptComponent: 独立Prompt UI组件(只读Manager缓存)
- DoorActor/DoorInteractableComponent: 门派生类
修改:
- InteractionManager: 从UActorComponent重写为普通C++ FInteractionManager
- Character: 替换旧InteractionManager为PromptComponent, 通过Driver访问Manager
- GameInstance: 空壳化, 持久数据迁移至PersistenceSubsystem
- InteractableComponent: 碰撞回调接入ASystemDriver注册路径
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-11 23:21:38 +08:00 |
|
starmen1265
|
690cfeb29d
|
docs(technical): 收集系统技术方案 v1.0:Effect/Action 解耦架构修订
|
2026-06-11 23:08:27 +08:00 |
|
starmen1265
|
39a34577da
|
merge: 合并main分支,解决冲突并统一交互输入架构
|
2026-06-11 14:26:44 +08:00 |
|
starmen1265
|
85c2062318
|
feat(interaction): 新增UI Widget基类并集成到InteractionManager
|
2026-06-11 11:43:10 +08:00 |
|
starmen1265
|
5df451011c
|
feat(interaction): Character和PlayerController集成交互系统
|
2026-06-11 11:25:30 +08:00 |
|
starmen1265
|
00ca7044c7
|
feat(interaction): 新增交互系统核心C++框架(6a-6f)
|
2026-06-11 11:25:15 +08:00 |
|
starmen1265
|
3c69445d90
|
feat(player-controller): 实现v0.1角色控制系统
- 移除跳跃逻辑:删除JumpAction、DoJumpStart/End
- 调整CMC参数:MaxWalkSpeed=450, Acceleration=2250, Brake=1500, RotationRate=720
- 调整SpringArm:TargetArmLength=350, SocketOffset.Z=80, CameraLag=6, ProbeSize=12
- 添加Pitch限幅:ViewPitchMin=-30, ViewPitchMax=45, 初始俯角-15°
- 新增交互状态:bIsInteracting + SetInteracting/IsInteracting/IsRunning
- 新增交互IA:InteractAction/CancelAction/SwitchInteractAction(占位回调)
- DoMove添加交互中忽略移动输入检查
Task: P-011
|
2026-06-10 17:39:37 +08:00 |
|
DESKTOP-2K5TJI4\admin
|
05b1e1bd95
|
config: 初始化UE5项目文件与C++源码
- ChildHood.uproject + Config/ 引擎配置
- Source/ 含第三人称模板、战斗/平台/横版变体
- .vsconfig Visual Studio依赖配置
|
2026-06-01 18:26:28 +08:00 |
|