Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@
.vscode/tasks.json
.vscode/extensions.json

# 本地任务卡(保留本地使用,不进入 PR)
docs/current-task-card.md
docs/current-task-card.json

# Gradle 缓存目录
.gradle/

Expand Down
19 changes: 19 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,12 @@
- 规划:复述理解、说明边界、列出拟执行动作,等待用户确认。
- 行动:仅在用户确认后执行修改、资源调整、git 操作或提交。
- 小任务允许极简规划,但不能跳过“先复述理解、等确认再执行”。
- 进入任何写操作前,必须先完成任务卡更新,并通过任务闸门检查。
- 文档中文必须正常显示,脚本注释中文也必须正常显示。
- 以后所有开发都必须保证 `Play` 视图与 `Scene` 视图效果完全一致。
- 不允许因为运行时脚本导致你在 `Scene` 视图中的视觉修改进入 `Play` 后失效,或 `Play` 里的视觉结果和 `Scene` 不一致。
- 视觉效果、布局、相机取景、UI 展示、装饰层级这类结果,原则上都必须能由你在 `Scene` / `Prefab` / `Inspector` 中直接调整。
- 对视觉有影响的运行时脚本,只能做不改变最终视觉结果的辅助逻辑;不能把最终视觉作者化依赖到 `Awake`、`Start`、运行时动态生成或运行时强制回写上。
- 所有输出都要明确区分:
- 仓库中已经存在的事实
- 文档里规划中的目标状态
Expand All @@ -57,6 +62,18 @@
- 不回滚、不覆盖、不顺手清理不属于自己的改动,除非用户明确要求。
- 当文件结构、场景结构、工具入口或长期规则变化时,同任务内同步更新相关文档。

## 最小闭环任务闸门
- 当前项目启用最小闭环版执行闸门:
- 人类可读任务卡:`docs/current-task-card.md`
- 机器可检查任务卡:`docs/current-task-card.json`
- 闸门脚本:`tools/check-task-gate.ps1`
- 默认规则:
1. 先更新 `current-task-card.md`
2. 再更新 `current-task-card.json`
3. 再运行 `tools/check-task-gate.ps1`
4. 只有校验通过,才进入写操作
- 如果任务边界变化,必须先重写任务卡,再继续执行。

## Project-Specific Rules

### Source Of Truth
Expand All @@ -79,6 +96,7 @@
- `UI` 不承载网络、持久化、FSM 业务逻辑。
- 运行态状态不写回 ScriptableObject 资产。
- 场景对象尽量保持可在 Scene / Inspector 中直接调整,而不是只能靠硬编码改动。
- 任何会影响视觉结果的内容,优先作者化到 Scene / Prefab / Inspector;不要把视觉最终结果藏在运行时脚本里。
- 优先显式依赖和可维护的序列化绑定,不依赖对象名、层级名和隐式查找。

### 文档与协作规则
Expand All @@ -102,6 +120,7 @@
- 危险:
- `reset --hard`、大规模删除、场景整体覆盖、批量改资源、清理 `Library`、强推分支、改远程地址、批量回退。
- 必须单独说明影响范围,得到明确确认后才可执行。
- 有风险和危险操作,当前都应先通过任务闸门脚本。

### 上下文装配
- 根据任务类型,优先装配最小必要上下文,不默认把所有记忆文档全部当作当前任务上下文。
Expand Down
87 changes: 87 additions & 0 deletions Assets/_Project/Animations/Pet/Pet_Angel.controller
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,84 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-5650042031450080012
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Interact_Flower
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 4f5a2cb8f6de4f8bbf3b0d0011aa1001, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-4650042031450080012
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Interact_PlayingMusic
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 4f5a2cb8f6de4f8bbf3b0d0011aa1002, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-3650042031450080012
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Interact_Write
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 4f5a2cb8f6de4f8bbf3b0d0011aa1003, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-2149009309223360691
AnimatorStateTransition:
m_ObjectHideFlags: 1
Expand Down Expand Up @@ -320,6 +398,15 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: -6650042031450080012}
m_Position: {x: 450, y: 190, z: 0}
- serializedVersion: 1
m_State: {fileID: -5650042031450080012}
m_Position: {x: 630, y: 30, z: 0}
- serializedVersion: 1
m_State: {fileID: -4650042031450080012}
m_Position: {x: 630, y: 110, z: 0}
- serializedVersion: 1
m_State: {fileID: -3650042031450080012}
m_Position: {x: 630, y: 190, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: 8581778968068380458}
Expand Down
12 changes: 6 additions & 6 deletions Assets/_Project/Animations/Pet/Pet_Angel_Idle_Back.anim
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ AnimationClip:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: 21300000, guid: 7a212697d7a7d154293333179f3eb58b, type: 3}
value: {fileID: 21300000, guid: f5779d5534a4e0f44aa58b198931710b, type: 3}
- time: 0.33333334
value: {fileID: 21300000, guid: d9c2e4f13c1bc6a4580807f0155e4fe0, type: 3}
value: {fileID: 21300000, guid: 73edd73fe550f2248888c391082e0cba, type: 3}
- time: 0.41666666
value: {fileID: 21300000, guid: 671a896f6bacf8f4280fdbb3ec93e645, type: 3}
value: {fileID: 21300000, guid: 4f82097da0bfc06409d884d04988014a, type: 3}
attribute: m_Sprite
path:
classID: 212
Expand All @@ -48,9 +48,9 @@ AnimationClip:
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: 21300000, guid: 7a212697d7a7d154293333179f3eb58b, type: 3}
- {fileID: 21300000, guid: d9c2e4f13c1bc6a4580807f0155e4fe0, type: 3}
- {fileID: 21300000, guid: 671a896f6bacf8f4280fdbb3ec93e645, type: 3}
- {fileID: 21300000, guid: f5779d5534a4e0f44aa58b198931710b, type: 3}
- {fileID: 21300000, guid: 73edd73fe550f2248888c391082e0cba, type: 3}
- {fileID: 21300000, guid: 4f82097da0bfc06409d884d04988014a, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
Expand Down
12 changes: 6 additions & 6 deletions Assets/_Project/Animations/Pet/Pet_Angel_Idle_Front.anim
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ AnimationClip:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: 21300000, guid: aa6ebd34cb109da40a2d23e5859ad53a, type: 3}
value: {fileID: 21300000, guid: d27e8a1d91de943479607e3c32a01287, type: 3}
- time: 0.33333334
value: {fileID: 21300000, guid: 248601cd76fb81d488bab43bb97348bb, type: 3}
value: {fileID: 21300000, guid: c466f82473084114fbccf054a40e4695, type: 3}
- time: 0.41666666
value: {fileID: 21300000, guid: 74592c01382992e4f89869977c557286, type: 3}
value: {fileID: 21300000, guid: 024be04be13cae846a7583fcc04a0948, type: 3}
attribute: m_Sprite
path:
classID: 212
Expand All @@ -48,9 +48,9 @@ AnimationClip:
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: 21300000, guid: aa6ebd34cb109da40a2d23e5859ad53a, type: 3}
- {fileID: 21300000, guid: 248601cd76fb81d488bab43bb97348bb, type: 3}
- {fileID: 21300000, guid: 74592c01382992e4f89869977c557286, type: 3}
- {fileID: 21300000, guid: d27e8a1d91de943479607e3c32a01287, type: 3}
- {fileID: 21300000, guid: c466f82473084114fbccf054a40e4695, type: 3}
- {fileID: 21300000, guid: 024be04be13cae846a7583fcc04a0948, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
Expand Down
12 changes: 6 additions & 6 deletions Assets/_Project/Animations/Pet/Pet_Angel_Idle_Side.anim
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ AnimationClip:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: 21300000, guid: e37b282da971e4c439933c89c28b31f9, type: 3}
value: {fileID: 21300000, guid: a85b70d8bca31a3438de766d0004aed2, type: 3}
- time: 0.33333334
value: {fileID: 21300000, guid: d1793d793ecc13647a0849285e25a34f, type: 3}
value: {fileID: 21300000, guid: e8ee6561e5218d141b60eef02ba31985, type: 3}
- time: 0.41666666
value: {fileID: 21300000, guid: 803d716d3878b6f4090e1bc4f9fbcadd, type: 3}
value: {fileID: 21300000, guid: 83b62c3a888953b4088983fdd6a0045a, type: 3}
attribute: m_Sprite
path:
classID: 212
Expand All @@ -48,9 +48,9 @@ AnimationClip:
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: 21300000, guid: e37b282da971e4c439933c89c28b31f9, type: 3}
- {fileID: 21300000, guid: d1793d793ecc13647a0849285e25a34f, type: 3}
- {fileID: 21300000, guid: 803d716d3878b6f4090e1bc4f9fbcadd, type: 3}
- {fileID: 21300000, guid: a85b70d8bca31a3438de766d0004aed2, type: 3}
- {fileID: 21300000, guid: e8ee6561e5218d141b60eef02ba31985, type: 3}
- {fileID: 21300000, guid: 83b62c3a888953b4088983fdd6a0045a, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
Expand Down
20 changes: 10 additions & 10 deletions Assets/_Project/Animations/Pet/Pet_Angel_Interact_BesideDoor.anim
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ AnimationClip:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: 21300000, guid: b304867c255b4d34a82baecb7873aa65, type: 3}
value: {fileID: 21300000, guid: 355bbf0592052df45a6d464f6ca6cb93, type: 3}
- time: 0.8333333
value: {fileID: 21300000, guid: 5c147e64f51723a469712450f01fa829, type: 3}
value: {fileID: 21300000, guid: dc4b81d12b03c294faaf002639cce2d9, type: 3}
- time: 0.9166667
value: {fileID: 21300000, guid: c1cf42288909e09448c6d1bd1145ac02, type: 3}
value: {fileID: 21300000, guid: 4f29da34a49ed2f419299d888667724f, type: 3}
- time: 1
value: {fileID: 21300000, guid: ee5a09f4ab3071344a32d6e30780bcc3, type: 3}
value: {fileID: 21300000, guid: 197f8f2a204a5764f87052c969c1fb94, type: 3}
- time: 1.0833334
value: {fileID: 21300000, guid: b2117a52af4fc7641a3e015a92d31132, type: 3}
value: {fileID: 21300000, guid: a36f094c2c8d5094d848d49af59cff06, type: 3}
attribute: m_Sprite
path:
classID: 212
Expand All @@ -52,11 +52,11 @@ AnimationClip:
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: 21300000, guid: b304867c255b4d34a82baecb7873aa65, type: 3}
- {fileID: 21300000, guid: 5c147e64f51723a469712450f01fa829, type: 3}
- {fileID: 21300000, guid: c1cf42288909e09448c6d1bd1145ac02, type: 3}
- {fileID: 21300000, guid: ee5a09f4ab3071344a32d6e30780bcc3, type: 3}
- {fileID: 21300000, guid: b2117a52af4fc7641a3e015a92d31132, type: 3}
- {fileID: 21300000, guid: 355bbf0592052df45a6d464f6ca6cb93, type: 3}
- {fileID: 21300000, guid: dc4b81d12b03c294faaf002639cce2d9, type: 3}
- {fileID: 21300000, guid: 4f29da34a49ed2f419299d888667724f, type: 3}
- {fileID: 21300000, guid: 197f8f2a204a5764f87052c969c1fb94, type: 3}
- {fileID: 21300000, guid: a36f094c2c8d5094d848d49af59cff06, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
Expand Down
Loading
Loading