diff --git a/.qoder/repowiki/zh/content/地图系统/地图系统.md b/.qoder/repowiki/zh/content/地图系统/地图系统.md
index ac7d136c..a40a8262 100644
--- a/.qoder/repowiki/zh/content/地图系统/地图系统.md
+++ b/.qoder/repowiki/zh/content/地图系统/地图系统.md
@@ -15,14 +15,16 @@
- [MapLayer.ts](file://assets/script/game/map/view/map/layer/MapLayer.ts)
- [EntityLayer.ts](file://assets/script/game/map/view/map/layer/EntityLayer.ts)
- [SkillLayer.ts](file://assets/script/game/map/view/map/layer/SkillLayer.ts)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts) - *在最近提交中更新*
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts) - *在最近提交中更新*
+- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts) - *在最近提交中更新*
## 更新摘要
**已更新内容**
-- 更新了“随机关卡生成逻辑分析”章节,反映使用 `MonType` 枚举重构的怪物生成系统
-- 更新了“怪物实体设计模式分析”章节,以包含新的 `monType` 和 `buffs` 参数
-- 更新了“依赖分析”图表,反映 `RogueConfig.ts` 和 `MissionMonComp.ts` 的变更
-- 新增了“怪物类型与属性计算”章节,详细说明 `MonType` 枚举和 `getMonAttr` 函数
+- 更新了“怪物实体设计模式分析”章节,反映使用 `HeroAttrsComp` 和 `MonMoveComp` 的重构
+- 更新了“依赖分析”图表,反映 `Mon.ts` 和 `MissionMonComp.ts` 的变更
+- 新增了“怪物属性与移动系统重构”章节,详细说明 `HeroAttrsComp` 和 `MonMoveComp` 的使用
- 所有受影响的代码示例和序列图均已更新
## 目录
@@ -73,7 +75,9 @@ end
end
subgraph "hero"
Mon_ts["Mon.ts"]
-MonModelComp_ts["MonModelComp.ts"]
+MonMove_ts["MonMove.ts"]
+HeroAttrsComp_ts["HeroAttrsComp.ts"]
+HeroViewComp_ts["HeroViewComp.ts"]
end
subgraph "common"
subgraph "config"
@@ -225,6 +229,52 @@ GameMap --> MapModelComp : "包含"
- [GameMap.ts](file://assets/script/game/map/GameMap.ts#L1-L35)
- [MapModelComp.ts](file://assets/script/game/map/model/MapModelComp.ts#L1-L42)
+### 怪物属性与移动系统重构
+
+根据最近的代码重构,怪物系统已进行重大更新。`Mon.ts`不再使用专用的`MonAttrsComp`和`MonViewComp`,而是统一使用英雄系统的`HeroAttrsComp`和`HeroViewComp`,实现了代码复用和逻辑一致性。同时,为怪物创建了专属的`MonMoveComp`移动组件,与英雄系统分离。
+
+#### 重构后组件关系
+```mermaid
+classDiagram
+class Monster {
++HeroModel : HeroAttrsComp
++HeroView : HeroViewComp
++HeroSkills : HeroSkillsComp
++MonMove : MonMoveComp
+}
+class HeroAttrsComp {
++hero_uuid : number
++lv : number
++hp : number
++mp : number
++Attrs : Array
+}
+class HeroViewComp {
++scale : number
++box_group : number
+}
+class MonMoveComp {
++direction : number
++targetX : number
++moving : boolean
+}
+Monster --> HeroAttrsComp : "使用"
+Monster --> HeroViewComp : "使用"
+Monster --> MonMoveComp : "使用"
+```
+
+**图示来源**
+- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L131)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L7-L380)
+- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L24-L404)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L8-L22)
+
+**本节来源**
+- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L131)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L7-L380)
+- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L24-L404)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L8-L22)
+
### 怪物类型与属性计算
`RogueConfig.ts`文件引入了`MonType`枚举来定义怪物类型,取代了原有的布尔标记。`MonType`包含`NORMAL`(普通)、`ELITE`(精英)和`BOSS`(首领)三种类型。系统通过`MonAttrSet`配置表为不同类型的怪物设置属性倍率。`getMonAttr`函数根据怪物等级、UUID和类型计算最终属性值,确保精英和Boss怪物具有更高的生命值、攻击力和防御力。
@@ -282,7 +332,7 @@ end
### 怪物实体设计模式分析
-`Mon.ts`文件定义了`Monster`类,代表游戏中的怪物实体。该类基于ECS架构,包含`HeroModel`(模型组件)、`HeroView`(视图组件)和`BattleMove`(战斗移动组件)。`load`方法的签名已更新,增加了`monType`和`buffs`参数。该方法调用`getMonAttr`函数根据关卡等级和怪物类型计算属性,并将这些属性传递给`hero_init`方法进行初始化。怪物的技能、属性和状态均在此方法中初始化。
+`Mon.ts`文件定义了`Monster`类,代表游戏中的怪物实体。该类基于ECS架构,包含`HeroModel`(模型组件)、`HeroView`(视图组件)和`MonMove`(专属移动组件)。`load`方法的签名已更新,增加了`monType`和`buffs`参数。该方法调用`getMonAttr`函数根据关卡等级和怪物类型计算属性,并将这些属性传递给`hero_init`方法进行初始化。怪物的技能、属性和状态均在此方法中初始化。
#### 复杂逻辑组件
```mermaid
@@ -297,7 +347,7 @@ GetHeroInfo --> CalculateAttrs["调用getMonAttr计算最终属性"]
CalculateAttrs --> ApplyBuffs["应用buffs数组"]
ApplyBuffs --> InitSkills["初始化技能数组"]
InitSkills --> AddComponent["将HeroViewComp添加到实体"]
-AddComponent --> SetMove["设置BattleMove参数"]
+AddComponent --> SetMove["设置MonMove参数"]
SetMove --> Dispatch["派发monster_load事件"]
Dispatch --> End([怪物加载完成])
```
@@ -388,7 +438,9 @@ MapViewScene_ts --> EntityLayer_ts
MapViewScene_ts --> SkillLayer_ts
MissionMonComp_ts --> RogueConfig_ts
MissionMonComp_ts --> Mon_ts
-Mon_ts --> heroSet_ts
+Mon_ts --> HeroAttrsComp_ts
+Mon_ts --> HeroViewComp_ts
+Mon_ts --> MonMove_ts
RogueConfig_ts --> heroSet_ts
```
@@ -402,7 +454,10 @@ RogueConfig_ts --> heroSet_ts
- [SkillLayer.ts](file://assets/script/game/map/view/map/layer/SkillLayer.ts#L1-L47)
- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L1-L239)
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L1-L310)
-- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L108)
+- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L131)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L7-L380)
+- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L24-L404)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L8-L22)
- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts#L1-L151)
**本节来源**
@@ -415,7 +470,10 @@ RogueConfig_ts --> heroSet_ts
- [SkillLayer.ts](file://assets/script/game/map/view/map/layer/SkillLayer.ts#L1-L47)
- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L1-L239)
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L1-L310)
-- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L108)
+- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L131)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L7-L380)
+- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L24-L404)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L8-L22)
- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts#L1-L151)
## 性能考虑
@@ -430,7 +488,7 @@ RogueConfig_ts --> heroSet_ts
**本节来源**
- [GameMap.ts](file://assets/script/game/map/GameMap.ts#L1-L35)
- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L1-L239)
-- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L108)
+- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L131)
- [map_delivery.json](file://assets/resources/config/map/map_delivery.json#L1-L29)
## 结论
diff --git a/.qoder/repowiki/zh/content/地图系统/怪物系统/怪物系统.md b/.qoder/repowiki/zh/content/地图系统/怪物系统/怪物系统.md
index 22f69ba6..c3355e33 100644
--- a/.qoder/repowiki/zh/content/地图系统/怪物系统/怪物系统.md
+++ b/.qoder/repowiki/zh/content/地图系统/怪物系统/怪物系统.md
@@ -3,16 +3,17 @@
**本文档引用的文件**
- [Mon.ts](file://assets/script/game/hero/Mon.ts) - *在最近的提交中更新*
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts) - *新增并替代旧的属性组件*
- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts) - *在最近的提交中更新*
- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts) - *在最近的提交中更新*
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts) - *新增怪物类型与难度配置*
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts) - *移动行为控制组件*
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts) - *移动行为控制组件*
- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts) - *视图与属性管理组件*
## 更新摘要
**变更内容**
-- 更新了 `Mon.ts` 中的 `load` 和 `hero_init` 方法以支持 `monType` 参数和等级系统
+- 重构 `Mon.ts` 中的组件依赖,移除 `MonAttrsComp` 和 `MonViewComp`,统一使用 `HeroAttrsComp` 和 `HeroViewComp`
- 引入 `MonType` 枚举(普通、精英、BOSS)实现差异化属性计算
- 新增 `getMonAttr` 函数用于根据等级和类型动态计算怪物属性
- 扩展 `heroSet.ts` 添加多种新怪物类型(召唤师、治疗者、光环怪等)
@@ -32,7 +33,7 @@
## 简介
-`Mon.ts` 文件定义了游戏中的怪物系统,采用 ECS(Entity-Component-System)架构模式,通过继承 `Entity` 类并注册为 `Monster` 类型来实现怪物实体的管理和控制。该系统提供了完整的怪物生命周期管理,包括预制体动态加载、位置设置、基于等级和类型的属性初始化以及向左移动的行为控制。本次重构引入了 `monType` 参数,支持普通、精英、BOSS 三种类型,并通过 `RogueConfig.ts` 中的 `getMonAttr` 函数实现了基于等级和类型系数的动态属性计算,取代了原有的 `strengthMultiplier` 机制,使难度曲线更加平滑和可配置。
+`Mon.ts` 文件定义了游戏中的怪物系统,采用 ECS(实体-组件-系统)架构模式,通过继承 `Entity` 类并注册为 `Monster` 类型来实现怪物实体的管理和控制。该系统提供了完整的怪物生命周期管理,包括预制体动态加载、位置设置、基于等级和类型的属性初始化以及向左移动的行为控制。本次重构引入了 `monType` 参数,支持普通、精英、BOSS 三种类型,并通过 `RogueConfig.ts` 中的 `getMonAttr` 函数实现了基于等级和类型系数的动态属性计算,取代了原有的 `strengthMultiplier` 机制,使难度曲线更加平滑和可配置。同时,系统已统一使用英雄的 `HeroAttrsComp` 组件,实现了英雄与怪物之间的数据与逻辑复用,提升了代码一致性与可维护性。
## 项目结构
@@ -42,8 +43,8 @@
graph TB
subgraph "怪物系统模块"
Mon[Mon.ts
怪物实体类]
-MonModel[MonModelComp.ts
怪物模型组件]
-BattleMove[BattleMoveComp.ts
移动组件]
+MonModel[HeroAttrsComp.ts
属性与模型组件]
+BattleMove[MonMove.ts
移动组件]
end
subgraph "配置系统"
HeroSet[heroSet.ts
英雄与怪物配置]
@@ -51,7 +52,7 @@ HeroAttrs[HeroAttrs.ts
属性配置]
RogueConfig[RogueConfig.ts
肉鸽模式配置]
end
subgraph "ECS系统"
-BattleMoveSys[BattleMoveSystem.ts
移动系统]
+BattleMoveSys[MonMoveSystem.ts
移动系统]
end
Mon --> MonModel
Mon --> BattleMove
@@ -63,8 +64,8 @@ BattleMoveSys --> BattleMove
**图表来源**
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L109)
-- [MonModelComp.ts](file://assets/script/game/hero/MonModelComp.ts#L1-L20)
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts#L1-L16)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L1-L20)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L1-L16)
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L31-L88)
**章节来源**
@@ -78,14 +79,14 @@ BattleMoveSys --> BattleMove
`Monster` 类是怪物系统的核心实体类,继承自 ECS 框架的 `Entity` 基类,并注册为 `Monster` 类型。该类实现了怪物的完整生命周期管理:
-- **组件管理**:在 `init` 方法中自动添加 `BattleMoveComp`、`MonModelComp` 和 `TalComp` 组件
+- **组件管理**:在 `init` 方法中自动添加 `MonMoveComp`、`HeroAttrsComp` 和 `HeroSkillsComp` 组件
- **生命周期控制**:提供 `init` 和 `destroy` 方法管理实体状态,在 `destroy` 中移除关键组件
- **预制体加载**:通过 `load` 方法动态加载怪物预制体,并传入 `uuid`、`lv`(等级)、`monType`(怪物类型)等参数
-- **属性初始化**:通过 `hero_init` 方法设置怪物基础属性,该方法现在依赖 `RogueConfig.getMonAttr` 进行计算
+- **属性初始化**:通过 `load` 方法中的逻辑设置怪物基础属性,该方法现在依赖 `RogueConfig.getMonAttr` 进行计算,并直接使用 `HeroAttrsComp` 统一管理属性
-### BattleMoveComp移动组件
+### MonMoveComp移动组件
-`BattleMoveComp` 负责控制怪物的移动行为,包含以下关键属性:
+`MonMoveComp` 负责控制怪物的移动行为,包含以下关键属性:
- **direction**:移动方向(1向右,-1向左)
- **targetX**:目标X坐标
@@ -101,12 +102,12 @@ BattleMoveSys --> BattleMove
- **百分比属性**:暴击率、闪避率等百分比型属性
- **特殊属性**:吸血、燃烧概率等特殊效果属性
-属性值存储在 `HeroViewComp` 的 `Attrs` 和 `NeAttrs` 对象中,并通过 `initAttrs` 方法进行初始化和计算。
+属性值存储在 `HeroAttrsComp` 的 `Attrs` 和 `NeAttrs` 对象中,并通过 `initAttrs` 方法进行初始化和计算。此设计实现了英雄与怪物共用同一套属性组件,极大提升了代码复用率。
**章节来源**
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L17-L40)
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts#L3-L15)
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L72-L778)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L3-L15)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L72-L778)
## 架构概览
@@ -115,50 +116,45 @@ BattleMoveSys --> BattleMove
```mermaid
classDiagram
class Monster {
-+MonModelComp HeroModel
++HeroAttrsComp HeroModel
+HeroViewComp HeroView
-+BattleMoveComp BattleMove
++MonMoveComp MonMove
+init() void
+destroy() void
+load(pos, scale, uuid, lv, monType, buffs, is_call) void
-+hero_init(uuid, node, scale, box_group, lv, monType, buffs, is_call) void
}
-class BattleMoveComp {
+class MonMoveComp {
+number direction
+number targetX
+boolean moving
+reset() void
}
-class MonModelComp {
-+reset() void
-}
-class HeroViewComp {
-+number scale
-+FacSet fac
-+HType type
-+boolean is_boss
-+number box_group
+class HeroAttrsComp {
+number hero_uuid
+string hero_name
-+number base_hp
-+number base_mp
-+number base_ap
-+number base_def
++number lv
++number type
++number fac
+number hp
+number mp
+object Attrs
-+object skills
++object NeAttrs
+initAttrs() void
}
-Monster --> BattleMoveComp : "包含"
-Monster --> MonModelComp : "包含"
+class HeroViewComp {
++number scale
++number box_group
++init() void
+}
+Monster --> MonMoveComp : "包含"
+Monster --> HeroAttrsComp : "包含"
Monster --> HeroViewComp : "包含"
```
**图表来源**
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L17-L40)
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts#L3-L15)
-- [MonModelComp.ts](file://assets/script/game/hero/MonModelComp.ts#L10-L19)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L3-L15)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L72-L778)
- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L72-L778)
## 详细组件分析
@@ -173,17 +169,17 @@ participant Client as "调用方"
participant Monster as "Monster实体"
participant Resources as "资源系统"
participant Scene as "场景节点"
-participant BattleMove as "BattleMove组件"
+participant MonMove as "MonMove组件"
Client->>Monster : load(pos, scale, uuid, lv, monType, ...)
Monster->>Resources : 获取预制体路径
Resources-->>Monster : 返回Prefab资源
Monster->>Scene : 实例化预制体
Scene-->>Monster : 返回Node节点
Monster->>Monster : 设置位置和缩放
-Monster->>Monster : hero_init初始化属性
-Monster->>BattleMove : 设置移动参数
-BattleMove->>BattleMove : direction = -1
-BattleMove->>BattleMove : targetX = -800
+Monster->>Monster : 初始化属性
+Monster->>MonMove : 设置移动参数
+MonMove->>MonMove : direction = -1
+MonMove->>MonMove : targetX = -800
Monster->>Client : dispatchEvent("monster_load")
```
@@ -197,15 +193,16 @@ Monster->>Client : dispatchEvent("monster_load")
3. **场景集成**:将实例化的节点添加到场景的 `entityLayer` 中
4. **碰撞体管理**:先禁用碰撞体,延迟一帧再启用以避免初始化问题
5. **位置设置**:根据传入的 `pos` 参数设置怪物初始位置
-6. **属性初始化**:调用 `hero_init` 方法,传入 `lv` 和 `monType` 进行属性计算
-7. **移动初始化**:设置 `BattleMoveComp` 的方向和目标
+6. **属性初始化**:调用 `getMonAttr` 计算属性,并赋值给 `HeroAttrsComp`
+7. **技能初始化**:通过 `HeroSkillsComp.initSkills` 加载技能配置
+8. **移动初始化**:设置 `MonMoveComp` 的方向和目标
**章节来源**
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L35-L58)
-### hero_init方法:基于等级与类型的属性系统
+### 属性初始化:基于等级与类型的属性系统
-`hero_init` 方法实现了基于 `lv`(等级)和 `monType`(怪物类型)的属性调整,取代了旧的 `strengthMultiplier` 机制:
+`load` 方法中实现了基于 `lv`(等级)和 `monType`(怪物类型)的属性调整,取代了旧的 `strengthMultiplier` 机制:
```mermaid
flowchart TD
@@ -238,7 +235,7 @@ style CalcAttr fill:#fff3e0
2. **技能系统集成**:
- 遍历 `hero.skills` 数组
- 从 `SkillSet` 配置中获取技能详细信息
- - 创建技能对象并添加到 `hv.skills` 数组
+ - 创建技能对象并添加到 `HeroSkillsComp` 中
3. **属性系统初始化**:
- 调用 `getAttrs()` 获取默认属性值
@@ -249,9 +246,9 @@ style CalcAttr fill:#fff3e0
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L60-L91)
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L79-L88)
-### BattleMoveComp组件:移动行为控制
+### MonMoveComp组件:移动行为控制
-`BattleMoveComp` 组件驱动怪物向左移动的行为:
+`MonMoveComp` 组件驱动怪物向左移动的行为:
```mermaid
stateDiagram-v2
@@ -265,8 +262,8 @@ note right of Moving : direction = -1
targetX = -800
```
**图表来源**
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts#L3-L15)
-- [BattleMoveSystem.ts](file://assets/script/game/common/ecs/position/BattleMoveSystem.ts#L10-L271)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L3-L15)
+- [MonMoveSystem.ts](file://assets/script/game/hero/MonMove.ts#L10-L271)
#### 移动参数配置:
@@ -275,7 +272,7 @@ note right of Moving : direction = -1
targetX = -800
- **moving = true**:启用移动状态
**章节来源**
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts#L3-L15)
+- [MonMove.ts](file://assets/script/game/hero/MonMove.ts#L3-L15)
### 数据复用机制:HeroAttrs与heroSet配置
@@ -321,8 +318,9 @@ Oops[Oops插件框架]
end
subgraph "核心模块"
Monster[Monster实体]
-BattleMove[BattleMove组件]
+MonMove[MonMove组件]
HeroView[HeroView组件]
+HeroAttrs[HeroAttrs组件]
end
subgraph "配置模块"
HeroInfo[HeroInfo配置]
@@ -331,37 +329,38 @@ SkillSet[技能配置]
RogueConfig[肉鸽配置]
end
subgraph "系统模块"
-BattleMoveSys[BattleMoveSystem]
+MonMoveSystem[MonMoveSystem]
SingletonModule[单例模块]
end
Monster --> ECS
Monster --> CC
Monster --> Oops
-Monster --> BattleMove
+Monster --> MonMove
+Monster --> HeroAttrs
Monster --> HeroView
Monster --> HeroInfo
Monster --> HeroAttrs
Monster --> SkillSet
Monster --> RogueConfig
-BattleMoveSys --> BattleMove
-BattleMoveSys --> HeroView
+MonMoveSystem --> MonMove
+MonMoveSystem --> HeroAttrs
SingletonModule --> Monster
```
**图表来源**
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L15)
-- [BattleMoveSystem.ts](file://assets/script/game/common/ecs/position/BattleMoveSystem.ts#L1-L10)
+- [MonMoveSystem.ts](file://assets/script/game/hero/MonMove.ts#L1-L10)
### 关键依赖说明:
-1. **ECS框架依赖**:`Monster` 类继承自 `ecs.Entity`,`BattleMoveComp` 继承自 `ecs.Comp`
+1. **ECS框架依赖**:`Monster` 类继承自 `ecs.Entity`,`MonMoveComp` 继承自 `ecs.Comp`
2. **Cocos Creator依赖**:使用 `Node`、`Prefab`、`Vec3` 等 Cocos 类型
3. **配置依赖**:依赖 `HeroInfo`、`HeroAttrs`、`SkillSet`、`RogueConfig` 等配置模块
-4. **系统依赖**:依赖 `BattleMoveSystem` 进行移动逻辑处理
+4. **系统依赖**:依赖 `MonMoveSystem` 进行移动逻辑处理
**章节来源**
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L1-L15)
-- [BattleMoveSystem.ts](file://assets/script/game/common/ecs/position/BattleMoveSystem.ts#L1-L10)
+- [MonMoveSystem.ts](file://assets/script/game/hero/MonMove.ts#L1-L10)
## 性能考虑
@@ -373,7 +372,7 @@ SingletonModule --> Monster
### 性能优化策略
-1. **批量更新**:`BattleMoveSystem` 采用批量处理方式
+1. **批量更新**:`MonMoveSystem` 采用批量处理方式
2. **条件检查**:在更新前进行状态检查,避免不必要的计算
3. **边界检测**:使用 `validatePosition` 方法限制移动范围
@@ -381,7 +380,7 @@ SingletonModule --> Monster
1. **配置驱动**:通过 `heroSet.ts` 和 `RogueConfig.ts` 控制怪物属性和行为
2. **组件扩展**:支持添加新的组件类型(如 `BuffComp`、`TalComp`)
-3. **系统扩展**:`BattleMoveSystem` 可添加新的移动逻辑
+3. **系统扩展**:`MonMoveSystem` 可添加新的移动逻辑
## 故障排除指南
@@ -392,14 +391,14 @@ SingletonModule --> Monster
**问题现象**:怪物加载后静止不动
**排查步骤**:
-- 检查 `BattleMoveComp` 的 `moving` 属性是否为 `true`
+- 检查 `MonMoveComp` 的 `moving` 属性是否为 `true`
- 验证 `targetX` 设置是否合理
-- 确认 `BattleMoveSystem` 是否正常运行
+- 确认 `MonMoveSystem` 是否正常运行
**解决方案**:
```typescript
// 确保移动组件正确初始化
-const move = this.get(BattleMoveComp);
+const move = this.get(MonMoveComp);
move.moving = true;
move.targetX = -800; // 设置合理的边界值
```
@@ -440,7 +439,7 @@ var prefab: Prefab = oops.res.get(path, Prefab)!;
**章节来源**
- [Mon.ts](file://assets/script/game/hero/Mon.ts#L35-L58)
-- [BattleMoveSystem.ts](file://assets/script/game/common/ecs/position/BattleMoveSystem.ts#L10-L50)
+- [MonMoveSystem.ts](file://assets/script/game/hero/MonMove.ts#L10-L50)
## 结论
@@ -448,7 +447,7 @@ var prefab: Prefab = oops.res.get(path, Prefab)!;
1. **ECS架构优势**:通过组件化设计实现了职责分离和代码复用
2. **难度自适应**:基于 `lv` 和 `monType` 的属性调整机制提供了灵活的难度控制
-3. **数据复用**:通过 `HeroAttrs` 和 `heroSet` 配置系统实现了数据的集中管理
+3. **数据复用**:通过 `HeroAttrsComp` 统一管理英雄与怪物属性,实现逻辑一致性
4. **性能优化**:采用组件化和批量处理策略确保良好的运行性能
5. **扩展性强**:支持添加新怪物类型、配置技能组合和实现召唤单位等扩展需求
diff --git a/.qoder/repowiki/zh/content/地图系统/肉鸽关卡配置/肉鸽关卡配置.md b/.qoder/repowiki/zh/content/地图系统/肉鸽关卡配置/肉鸽关卡配置.md
index 2914d405..c6ad2573 100644
--- a/.qoder/repowiki/zh/content/地图系统/肉鸽关卡配置/肉鸽关卡配置.md
+++ b/.qoder/repowiki/zh/content/地图系统/肉鸽关卡配置/肉鸽关卡配置.md
@@ -2,20 +2,17 @@
**本文档引用的文件**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts) - *在最近提交中更新*
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts) - *在最近提交中更新*
-- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts) - *在最近提交中更新*
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts)
-- [GameMap.ts](file://assets/script/game/map/GameMap.ts)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts) - *在最近提交中更新*
+- [GameMap.ts](file://assets\script\game\map\GameMap.ts) - *在最近提交中更新*
## 更新摘要
**已做更改**
-- 全面重构关卡生成逻辑,采用新的 `MonType` 枚举替代旧的布尔标记
-- 更新关卡类型判断机制,基于 `EliteStage` 和 `BossStage` 数组配置
-- 重写怪物属性计算系统,引入 `MonAttrSet` 属性倍率配置
-- 更新随机事件系统,使用数字枚举值替代字符串
-- 同步更新调用流程和配置结构
+- 全面重构怪物类型与属性计算系统,引入 `MonType` 枚举和动态属性计算机制
+- 更新关卡类型判断逻辑,基于 `EliteStage` 和 `BossStage` 数组进行判定
+- 重写怪物属性计算函数 `getMonAttr`,实现基于等级、类型和基础属性的动态计算
+- 优化关卡生成流程 `getStageMonConfigs`,增强代码可读性和维护性
+- 同步更新文档以准确反映最新代码实现
## 目录
1. [系统概述](#系统概述)
@@ -46,8 +43,8 @@
**更新** 重构了怪物生成逻辑,使用 `MonType` 枚举和数组配置替代原有实现
**章节来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L1-L50)
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L1-L40)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L1-L50)
+- [GameMap.ts](file://assets\script\game\map\GameMap.ts#L1-L35)
## 核心架构
@@ -67,19 +64,16 @@ F --> J[Boss怪物添加]
F --> K[额外怪物生成]
end
subgraph "应用层"
-L[MissionMonComp.ts] --> M[GameMap.ts]
-L --> N[Mon.ts]
-L --> O[MapModelComp.ts]
+L[GameMap.ts] --> M[MapModelComp]
+L --> N[MapViewComp]
end
A --> F
F --> L
-M --> O
```
**图表来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L1-L173)
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L1-L200)
-- [GameMap.ts](file://assets/script/game/map/GameMap.ts#L1-L35)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L1-L173)
+- [GameMap.ts](file://assets\script\game\map\GameMap.ts#L1-L35)
## 关卡类型系统
@@ -111,7 +105,7 @@ IMonsConfig --> StageConfig : "生成"
```
**图表来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L31-L31)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L31-L31)
### 关卡类型特征对比
@@ -122,8 +116,8 @@ IMonsConfig --> StageConfig : "生成"
| Boss关卡 | 关卡号在BossStage数组中 | Boss+精英+普通怪物 | 高难度,包含Boss |
**章节来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L18-L20)
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L31-L31)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L18-L20)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L31-L31)
## 怪物类型体系
@@ -156,8 +150,8 @@ MonsterPool --> MonsterConfig : "包含"
```
**图表来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L31-L31)
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L18-L20)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L31-L31)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L18-L20)
### 怪物池配置
@@ -168,8 +162,8 @@ MonsterPool --> MonsterConfig : "包含"
- **Boss怪物池**:固定配置的Boss怪物列表 `BossMons`
**章节来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L18-L20)
-- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts#L20-L215)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L18-L20)
+- [RogueConfig.ts](file://assets\script\game\common\config\heroSet.ts#L20-L215)
## 关卡配置规则
@@ -192,7 +186,7 @@ H --> I[返回怪物配置]
```
**图表来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L95-L173)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L95-L173)
### 怪物数量计算算法
@@ -214,7 +208,7 @@ if (isEliteStage) {
```
**章节来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L95-L173)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L95-L173)
## 随机事件系统
@@ -239,7 +233,7 @@ EventType --> StageRule : "配置概率"
```
**图表来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L35-L40)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L35-L40)
### 事件触发机制
@@ -263,7 +257,7 @@ if (Math.random() < StageRule.specialAttributeRate) {
```
**章节来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L45-L56)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L45-L56)
## 动态难度计算
@@ -287,7 +281,7 @@ G --> H
```
**图表来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L69-L73)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L69-L73)
### 难度曲线特征
@@ -298,7 +292,7 @@ G --> H
| Boss怪物 | 5.0x | 2.0x | 2.0x | 2.0x | 2.0x | 终极挑战 |
**章节来源**
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L69-L73)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L69-L73)
## 关卡生成流程
@@ -308,29 +302,23 @@ G --> H
```mermaid
sequenceDiagram
-participant MC as MissionComp
-participant RM as MissionMonComp
participant RC as RogueConfig
+participant GM as GameMap
participant MM as MapModel
-participant M as Monster
-MC->>RM : do_mon_wave()
-RM->>RC : getStageMonConfigs(stageNumber)
-RC-->>RM : 怪物配置数组
-RM->>RM : generateMonsters()
+participant MV as MapView
+RC->>RC : getStageMonConfigs(stageNumber)
+RC-->>GM : 怪物配置数组
+GM->>GM : load()
+GM->>MM : 初始化模型组件
+GM->>MV : 加载地图显示资源
loop 每个怪物配置
-RM->>RM : addToStageSpawnQueue()
-end
-loop 怪物生成队列
-RM->>M : addMonster()
-M->>MM : 加载怪物资源
-MM-->>M : 怪物实例
-M-->>RM : 怪物实体
+MM->>MM : 添加怪物实体
end
```
**图表来源**
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L102-L136)
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L95-L173)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L95-L173)
+- [GameMap.ts](file://assets\script\game\map\GameMap.ts#L20-L35)
### 怪物生成队列管理
@@ -351,7 +339,7 @@ stateDiagram-v2
```
**图表来源**
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L45-L85)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L95-L173)
## 实际调用机制
@@ -362,44 +350,33 @@ stateDiagram-v2
```mermaid
sequenceDiagram
participant GM as GameMap
-participant MC as MissionComp
-participant MMon as MissionMonComp
participant RC as RogueConfig
-GM->>MC : 初始化游戏
-MC->>MC : data_init()
-MC->>MC : mission_start()
-MC->>MC : to_fight()
-MC->>MMon : fight_ready()
-MMon->>MMon : do_mon_wave()
-Note over MMon : 开始关卡生成流程
-MMon->>RC : getStageMonConfigs(currentStage)
-RC-->>MMon : 怪物配置数据
-MMon->>MMon : generateMonsters()
-MMon->>MMon : addToStageSpawnQueue()
+GM->>GM : 初始化游戏
+GM->>RC : getStageMonConfigs(currentStage)
+RC-->>GM : 怪物配置数据
+GM->>GM : load()
loop 怪物生成循环
-MMon->>MMon : spawnNextMonster()
-MMon->>GM : addMonster()
+GM->>GM : instantiate怪物
+GM->>GM : 添加到地图
end
```
**图表来源**
-- [GameMap.ts](file://assets/script/game/map/GameMap.ts#L25-L35)
-- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts#L75-L95)
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L40-L50)
+- [GameMap.ts](file://assets\script\game\map\GameMap.ts#L25-L35)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L95-L173)
### 数据流传递
关卡配置数据通过以下路径传递:
1. **配置层**:RogueConfig.ts 提供基础配置
-2. **逻辑层**:MissionMonComp.ts 处理游戏逻辑
-3. **渲染层**:Mon.ts 负责怪物渲染和行为
-4. **状态层**:smc.vmdata.mission_data 管理游戏状态
+2. **逻辑层**:GameMap.ts 处理游戏逻辑
+3. **渲染层**:MapViewComp.ts 负责地图渲染
+4. **状态层**:MapModelComp.ts 管理游戏状态
**章节来源**
-- [GameMap.ts](file://assets/script/game/map/GameMap.ts#L25-L35)
-- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts#L75-L95)
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts#L40-L50)
+- [GameMap.ts](file://assets\script\game\map\GameMap.ts#L25-L35)
+- [RogueConfig.ts](file://assets\script\game\map\RogueConfig.ts#L95-L173)
## 扩展指南
diff --git a/.qoder/repowiki/zh/content/奖励系统/奖励机制/奖励机制.md b/.qoder/repowiki/zh/content/奖励系统/奖励机制/奖励机制.md
index 9ed07f86..53b84300 100644
--- a/.qoder/repowiki/zh/content/奖励系统/奖励机制/奖励机制.md
+++ b/.qoder/repowiki/zh/content/奖励系统/奖励机制/奖励机制.md
@@ -2,16 +2,22 @@
**本文档引用文件**
-- [Mission.ts](file://assets/script/game/common/config/Mission.ts)
-- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts)
-- [VictoryComp.ts](file://assets/script/game/map/VictoryComp.ts)
-- [GameEvent.ts](file://assets/script/game/common/config/GameEvent.ts)
-- [GameUIConfig.ts](file://assets/script/game/common/config/GameUIConfig.ts)
-- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts)
-- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts)
-- [Design.md](file://assets/script/Design.md)
+- [Mission.ts](file://assets/script/game/common/config/Mission.ts) - *奖励常量配置*
+- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts) - *奖励数据管理与实体销毁逻辑*
+- [VictoryComp.ts](file://assets/script/game/map/VictoryComp.ts) - *奖励界面展示*
+- [GameEvent.ts](file://assets/script/game/common/config/GameEvent.ts) - *事件定义*
+- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts) - *怪物生成与事件处理*
+- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts) - *肉鸽关卡配置*
+- [Design.md](file://assets/script/Design.md) - *系统设计概述*
+## 更新摘要
+**变更内容**
+- 更新了`MissionComp`中实体销毁逻辑,修复空引用问题
+- 修正奖励发放流程中组件清理的实现方式
+- 更新相关章节以反映最新的代码实现
+- 增强源码追踪信息,标注关键修改点
+
## 目录
1. [奖励系统概述](#奖励系统概述)
2. [三选一奖励机制](#三选一奖励机制)
@@ -232,6 +238,31 @@ VictoryComp --> GameEvent : "触发"
- [GameEvent.ts](file://assets/script/game/common/config/GameEvent.ts#L43)
- [GameUIConfig.ts](file://assets/script/game/common/config/GameUIConfig.ts#L30)
+### 实体销毁逻辑优化
+
+根据最新代码变更,`MissionComp`中的`cleanComponents`方法已优化,修复了实体销毁时可能出现的空引用问题。新的实现直接销毁实体,让ECS系统自动处理组件清理,避免在组件`reset`方法中访问已被销毁的实体引用。
+
+```typescript
+private cleanComponents() {
+ // 优化销毁顺序:直接销毁实体,让ECS系统自动处理组件清理
+ // 这样可以避免在组件reset方法中访问已经被销毁的实体引用
+ ecs.query(ecs.allOf(HeroViewComp)).forEach(entity => {
+ entity.destroy();
+ });
+ ecs.query(ecs.allOf(AtkConCom)).forEach(entity => {
+ entity.destroy();
+ });
+ ecs.query(ecs.allOf(SkillViewCom)).forEach(entity => {
+ entity.destroy();
+ });
+}
+```
+
+此变更确保了在战斗结束后的清理过程中,不会因组件访问已被销毁的实体而导致运行时错误,提高了系统的稳定性。
+
+**Section sources**
+- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts#L137-L149) - *修复实体销毁空引用问题*
+
## 扩展新奖励类型
### 配置修改步骤
diff --git a/.qoder/repowiki/zh/content/奖励系统/奖励系统.md b/.qoder/repowiki/zh/content/奖励系统/奖励系统.md
index d3223961..3097b5ac 100644
--- a/.qoder/repowiki/zh/content/奖励系统/奖励系统.md
+++ b/.qoder/repowiki/zh/content/奖励系统/奖励系统.md
@@ -4,7 +4,7 @@
**本文档引用的文件**
- [Mission.ts](file://assets/script/game/common/config/Mission.ts)
- [Tasks.ts](file://assets/script/game/common/config/Tasks.ts)
-- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts)
+- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts) - *最近提交中已更新*
- [MissionHeroComp.ts](file://assets/script/game/map/MissionHeroComp.ts)
- [MissionMonComp.ts](file://assets/script/game/map/MissionMonComp.ts)
- [MissionHomeComp.ts](file://assets/script/game/map/MissionHomeComp.ts)
@@ -17,6 +17,13 @@
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts)
+## 更新摘要
+**已做更改**
+- 更新了“核心组件分析”中关于MissionComp的实体销毁逻辑说明
+- 修正了“性能优化考虑”中关于组件清理的描述
+- 移除了过时的故障排除建议,增加了针对空引用问题的解决方案
+- 所有文件引用和标题均已转换为中文
+
## 目录
1. [简介](#简介)
2. [系统架构概览](#系统架构概览)
@@ -524,6 +531,31 @@ do_reward() {
2. **随机数优化**:使用高效的随机数生成算法
3. **数据结构优化**:使用合适的数据结构提高查找效率
+### 实体销毁优化
+
+根据最近的代码提交,MissionComp中的实体销毁逻辑已优化:
+
+```typescript
+private cleanComponents() {
+ // 优化销毁顺序:直接销毁实体,让ECS系统自动处理组件清理
+ // 这样可以避免在组件reset方法中访问已经被销毁的实体引用
+ ecs.query(ecs.allOf(HeroViewComp)).forEach(entity => {
+ entity.destroy();
+ });
+ ecs.query(ecs.allOf(AtkConCom)).forEach(entity => {
+ entity.destroy();
+ });
+ ecs.query(ecs.allOf(SkillViewCom)).forEach(entity => {
+ entity.destroy();
+ });
+}
+```
+
+此更改修复了实体销毁时可能出现的空引用问题,确保在清理过程中不会访问已被销毁的实体。
+
+**节来源**
+- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts#L137-L149) - *最近提交中已更新*
+
## 故障排除指南
### 常见问题及解决方案
@@ -580,35 +612,36 @@ validateRewardWeights() {
}
```
-#### 性能问题
+#### 实体销毁空引用问题
-**症状**:奖励生成过程卡顿
+**症状**:在组件清理过程中出现空引用错误
**原因分析**:
-1. 奖励算法复杂度过高
-2. 数据库查询频繁
-3. UI渲染过于复杂
+1. 组件清理顺序不当
+2. 在reset方法中访问已被销毁的实体
**解决方案**:
```typescript
-// 优化奖励生成算法
-async generateRewardsOptimized() {
- // 使用Web Worker异步处理
- const worker = new Worker('reward_worker.js');
-
- worker.postMessage({
- monsters: this.monsters,
- heroes: this.heroes,
- difficulty: this.difficulty
+// 优化后的实体销毁方法
+private cleanComponents() {
+ // 直接销毁实体,让ECS系统自动处理组件清理
+ ecs.query(ecs.allOf(HeroViewComp)).forEach(entity => {
+ entity.destroy();
+ });
+ ecs.query(ecs.allOf(AtkConCom)).forEach(entity => {
+ entity.destroy();
+ });
+ ecs.query(ecs.allOf(SkillViewCom)).forEach(entity => {
+ entity.destroy();
});
-
- worker.onmessage = (e) => {
- this.rewards = e.data;
- this.displayRewards();
- };
}
```
+此解决方案通过直接销毁实体而非逐个清理组件,避免了在组件reset方法中访问已被销毁实体的问题。
+
+**节来源**
+- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts#L137-L149) - *最近提交中已更新*
+
## 总结
奖励系统是本游戏的核心机制,通过精心设计的三选一奖励选择模式,为玩家提供了丰富的策略选择空间。系统采用模块化架构,各组件职责明确,通过事件驱动的方式实现松耦合设计。
diff --git a/.qoder/repowiki/zh/content/技术架构/ECS架构.md b/.qoder/repowiki/zh/content/技术架构/ECS架构.md
index 9ef52c52..72387a2b 100644
--- a/.qoder/repowiki/zh/content/技术架构/ECS架构.md
+++ b/.qoder/repowiki/zh/content/技术架构/ECS架构.md
@@ -10,8 +10,19 @@
- [SingletonModuleComp.ts](file://assets/script/game/common/SingletonModuleComp.ts)
- [ecs.md](file://doc/ecs/ecs.md)
- [Main.ts](file://assets/script/Main.ts)
+- [HeroAtk.ts](file://assets/script/game/hero/HeroAtk.ts) - *在最近的提交中更新*
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts) - *在最近的提交中更新*
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts) - *在最近的提交中添加*
+## 更新摘要
+**已做更改**
+- 更新了组件注册机制部分,以反映在多个系统中添加ECS注册装饰器的更改
+- 添加了关于技能系统的新部分,包括CastSkillRequestComp、SkillCastSystem、SkillCDSystem和SkillAutocastSystem
+- 更新了实际案例分析,以包含新的技能系统实现
+- 在扩展开发指南中添加了新的系统接口示例
+- 更新了文档来源以包含新分析的文件
+
## 目录
1. [简介](#简介)
2. [ECS架构概述](#ecs架构概述)
@@ -66,7 +77,7 @@ end
### 组件注册机制
-组件通过装饰器`@ecs.register`进行注册,框架自动管理组件的生命周期和内存回收。
+组件通过装饰器`@ecs.register`进行注册,框架自动管理组件的生命周期和内存回收。最近的代码重构为多个英雄系统添加了ECS注册装饰器,使架构更符合标准。
```mermaid
classDiagram
@@ -336,6 +347,123 @@ HeroViewComp实现了复杂的BUFF/DEBUFF管理系统:
**章节来源**
- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L1-L780)
+### 技能系统架构分析
+
+最近的代码重构为技能系统添加了ECS注册装饰器,创建了一套完整的技能处理系统。
+
+#### 技能系统组件
+
+```mermaid
+classDiagram
+class CastSkillRequestComp {
++number skillIndex
++Vec3[] targetPositions
++reset() void
+}
+class HeroSkillsComp {
++Skill[] skills
++canCast(index, mp) boolean
++getReadySkills(mp) number[]
++resetCD(index) void
++updateCDs(dt) void
+}
+class SkillEnt {
++load(startPos, parent, skillId, targets, caster, extraDamage) void
+}
+```
+
+**章节来源**
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L17-L29)
+- [HeroSkills.ts](file://assets/script/game/hero/HeroSkills.ts#L1-L200)
+
+#### 技能系统层次结构
+
+```mermaid
+classDiagram
+class System {
+<>
++execute(dt) void
+}
+class ComblockSystem {
++filter() IMatcher
++update(entity) void
++entityEnter(entity) void
++entityRemove(entity) void
+}
+class SkillCastSystem {
++filter() IMatcher
++entityEnter(e) void
++checkCastConditions(skillsData, heroModel, skillIndex) boolean
++executeCast(casterEntity, skill, targetPositions, heroView) void
++createSkillEntity(skillId, caster, targetPositions) void
+}
+class SkillCDSystem {
++filter() IMatcher
++update(e) void
+}
+class SkillAutocastSystem {
++filter() IMatcher
++update(e) void
++selectTargets(caster) Vec3[]
+}
+System <|-- ComblockSystem
+ComblockSystem <|-- SkillCastSystem
+ComblockSystem <|-- SkillCDSystem
+ComblockSystem <|-- SkillAutocastSystem
+```
+
+**章节来源**
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L47-L271)
+
+#### 技能施法流程
+
+```mermaid
+sequenceDiagram
+participant Auto as SkillAutocastSystem
+participant Cast as SkillCastSystem
+participant Entity as Entity
+participant Skill as SkillEnt
+Auto->>Entity : update()
+Auto->>Entity : add(CastSkillRequestComp)
+Cast->>Entity : entityEnter()
+Cast->>Entity : checkCastConditions()
+Cast->>Entity : executeCast()
+Cast->>Entity : playSkillEffect()
+Cast->>Cast : createSkillEntity()
+Cast->>Skill : load()
+Cast->>Entity : remove(CastSkillRequestComp)
+```
+
+**图表来源**
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L47-L171)
+
+#### 技能系统功能分析
+
+新的技能系统架构体现了ECS设计的几个关键优势:
+
+1. **职责分离**:
+ - `SkillAutocastSystem`:负责决策"何时施法"
+ - `SkillCastSystem`:负责处理"如何施法"
+ - `SkillCDSystem`:负责管理"技能冷却"
+
+2. **标记驱动设计**:
+ - 使用`CastSkillRequestComp`作为标记组件
+ - 避免了直接调用系统方法的耦合
+ - 符合ECS的声明式编程理念
+
+3. **可扩展性**:
+ - 可以轻松添加新的施法策略系统
+ - 可以复用相同的施法执行逻辑
+ - 支持玩家输入和AI系统共享同一套施法机制
+
+4. **调试友好**:
+ - 每个系统都有详细的日志输出
+ - 可以独立启用/禁用调试模式
+ - 明确的执行流程便于问题排查
+
+**章节来源**
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L271)
+
## 性能优化与最佳实践
### 内存管理策略
@@ -432,6 +560,11 @@ export class NewSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate {
| `IEntityEnterSystem` | 实体首次进入 | 初始化实体状态 |
| `IEntityRemoveSystem` | 实体移除处理 | 清理资源和状态 |
| `ISystemFirstUpdate` | 系统首次更新 | 系统初始化逻辑 |
+| `ISystemDebug` | 调试模式 | 开发阶段的调试信息输出 |
+
+**章节来源**
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L47-L271)
+- [HeroAtk.ts](file://assets/script/game/hero/HeroAtk.ts#L18-L247)
### 扩展示例
diff --git a/.qoder/repowiki/zh/content/技术架构/技术架构.md b/.qoder/repowiki/zh/content/技术架构/技术架构.md
index 2938f9fb..ac87e2d4 100644
--- a/.qoder/repowiki/zh/content/技术架构/技术架构.md
+++ b/.qoder/repowiki/zh/content/技术架构/技术架构.md
@@ -2,20 +2,27 @@
**本文档中引用的文件**
-- [Main.ts](file://assets/script/Main.ts)
-- [Initialize.ts](file://assets/script/game/initialize/Initialize.ts)
-- [SingletonModuleComp.ts](file://assets/script/game/common/SingletonModuleComp.ts)
-- [EcsPositionSystem.ts](file://assets/script/game/common/ecs/position/EcsPositionSystem.ts)
-- [BattleMoveSystem.ts](file://assets/script/game/common/ecs/position/BattleMoveSystem.ts)
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts)
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts)
-- [HeroModelComp.ts](file://assets/script/game/hero/HeroModelComp.ts)
+- [Main.ts](file://assets/script/Main.ts) - *更新了ECS系统注册*
+- [Initialize.ts](file://assets/script/game/initialize/Initialize.ts#L1-L207)
+- [SingletonModuleComp.ts](file://assets/script/game/common/SingletonModuleComp.ts#L1-L195)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L272) - *新增ECS系统注册装饰器*
+- [HeroAtk.ts](file://assets/script/game/hero/HeroAtk.ts#L1-L248) - *新增ECS系统注册装饰器*
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L1-L380) - *新增ECS组件注册装饰器*
+- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L1-L780)
- [MapModelComp.ts](file://assets/script/game/map/model/MapModelComp.ts)
- [MapViewComp.ts](file://assets/script/game/map/view/MapViewComp.ts)
- [ecs.md](file://doc/ecs/ecs.md)
- [MvvmInfo.md](file://doc/mvvm/MvvmInfo.md)
+## 更新摘要
+**变更内容**
+- 在HSkillSystem.ts、HeroAtk.ts和HeroAttrsComp.ts中添加了ECS注册装饰器
+- Main.ts的初始化流程更新,反映架构入口点调整
+- 移除了过时的SkillConComp组件,更新技能系统架构说明
+- 新增了英雄属性更新系统(HeroAttrSystem)和生命周期系统(HeroLifecycleSystem)的文档
+- 更新了ECS架构支柱章节,反映最新的系统注册模式
+
## 目录
1. [引言](#引言)
2. [项目架构概览](#项目架构概览)
@@ -89,10 +96,15 @@ class ecs_Comp {
+canRecycle boolean
+ent Entity
}
-class BattleMoveComp {
-+direction number
-+targetX number
-+moving boolean
+class HeroAttrsComp {
++hero_uuid number
++lv number
++base_ap number
++base_hp number
++hp number
++mp number
++Attrs any
++BUFFS any
+reset() void
}
class HeroViewComp {
@@ -104,44 +116,48 @@ class HeroViewComp {
+BUFFS any
+update(dt) void
}
-class HeroModelComp {
-+reset() void
+class HeroSkillsComp {
++skills SkillSlot[]
++initSkills(skillIds) void
++canCast(index, mp) boolean
++resetCD(index) void
++updateCDs(dt) void
}
-ecs_Comp <|-- BattleMoveComp
+ecs_Comp <|-- HeroAttrsComp
ecs_Comp <|-- HeroViewComp
-ecs_Comp <|-- HeroModelComp
+ecs_Comp <|-- HeroSkillsComp
```
**图表来源**
-- [BattleMoveComp.ts](file://assets/script/game/common/ecs/position/BattleMoveComp.ts#L1-L16)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L7-L380) - *新增ECS组件注册*
- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L1-L780)
-- [HeroModelComp.ts](file://assets/script/game/hero/HeroModelComp.ts#L1-L13)
+- [HeroSkills.ts](file://assets/script/game/hero/HeroSkills.ts#L1-L150)
### 系统协作机制
-系统通过过滤器机制实现高效的实体管理:
+系统通过过滤器机制实现高效的实体管理,并使用ECS注册装饰器进行系统注册:
```mermaid
sequenceDiagram
participant RS as RootSystem
-participant BS as BattleMoveSystem
+participant HSS as HeroAttrSystem
participant ECS as ECS引擎
participant Entity as 实体
participant Comp as 组件
RS->>ECS : 执行系统
-ECS->>BS : filter()匹配实体
-BS->>Entity : 获取BattleMoveComp
-BS->>Entity : 获取HeroViewComp
-BS->>Entity : update()处理逻辑
+ECS->>HSS : filter()匹配实体
+HSS->>Entity : 获取HeroAttrsComp
+HSS->>Entity : update()处理逻辑
Entity->>Comp : 更新状态
Comp-->>Entity : 返回结果
-Entity-->>BS : 完成处理
-BS-->>RS : 系统执行完毕
+Entity-->>HSS : 完成处理
+HSS-->>RS : 系统执行完毕
```
**图表来源**
-- [BattleMoveSystem.ts](file://assets/script/game/common/ecs/position/BattleMoveSystem.ts#L1-L272)
-- [EcsPositionSystem.ts](file://assets/script/game/common/ecs/position/EcsPositionSystem.ts#L1-L9)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L272) - *新增ECS系统注册装饰器*
+- [HeroAtk.ts](file://assets/script/game/hero/HeroAtk.ts#L1-L248) - *新增ECS系统注册装饰器*
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L397-L437) - *新增HeroAttrSystem*
### ECS解耦优势
@@ -154,7 +170,7 @@ ECS架构在游戏逻辑中实现了以下解耦效果:
**章节来源**
- [ecs.md](file://doc/ecs/ecs.md#L1-L357)
-- [BattleMoveSystem.ts](file://assets/script/game/common/ecs/position/BattleMoveSystem.ts#L1-L272)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L272) - *新增ECS系统注册装饰器*
## MVVM架构支柱
@@ -314,7 +330,7 @@ LoadConfig --> SetupGUI[设置GUI框架]
```
**图表来源**
-- [Main.ts](file://assets/script/Main.ts#L15-L41)
+- [Main.ts](file://assets/script/Main.ts#L15-L41) - *更新了ECS系统注册*
### 初始化流程详解
diff --git a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/多段连发技能执行.md b/.qoder/repowiki/zh/content/技能执行机制/多段连发技能执行.md
similarity index 100%
rename from .qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/多段连发技能执行.md
rename to .qoder/repowiki/zh/content/技能执行机制/多段连发技能执行.md
diff --git a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/技能冷却管理.md b/.qoder/repowiki/zh/content/技能执行机制/技能冷却管理.md
similarity index 100%
rename from .qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/技能冷却管理.md
rename to .qoder/repowiki/zh/content/技能执行机制/技能冷却管理.md
diff --git a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/技能执行机制.md b/.qoder/repowiki/zh/content/技能执行机制/技能执行机制.md
similarity index 100%
rename from .qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/技能执行机制.md
rename to .qoder/repowiki/zh/content/技能执行机制/技能执行机制.md
diff --git a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/技能执行资源管理.md b/.qoder/repowiki/zh/content/技能执行机制/技能执行资源管理.md
similarity index 100%
rename from .qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/技能执行资源管理.md
rename to .qoder/repowiki/zh/content/技能执行机制/技能执行资源管理.md
diff --git a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/目标选择策略.md b/.qoder/repowiki/zh/content/技能执行机制/目标选择策略.md
similarity index 100%
rename from .qoder/repowiki/zh/content/英雄系统/技能系统/技能执行机制/目标选择策略.md
rename to .qoder/repowiki/zh/content/技能执行机制/目标选择策略.md
diff --git a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能配置表结构.md b/.qoder/repowiki/zh/content/技能配置表结构.md
similarity index 100%
rename from .qoder/repowiki/zh/content/英雄系统/技能系统/技能配置表结构.md
rename to .qoder/repowiki/zh/content/技能配置表结构.md
diff --git a/.qoder/repowiki/zh/content/核心系统/核心系统.md b/.qoder/repowiki/zh/content/核心系统/核心系统.md
index 8d2ff0c5..a46200ee 100644
--- a/.qoder/repowiki/zh/content/核心系统/核心系统.md
+++ b/.qoder/repowiki/zh/content/核心系统/核心系统.md
@@ -14,6 +14,7 @@
- [storage.md](file://doc/core/common/storage.md)
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts) - *新增怪物类型配置与属性倍率*
- [MissionMonComp.ts](file://assets/script/game/hero/Mon.ts) - *更新怪物生成逻辑*
+- [EBusComp.ts](file://assets/script/game/hero/EBusComp.ts) - *新增事件总线组件,基于ECS框架重构*
## 更新摘要
@@ -21,6 +22,7 @@
- 新增怪物类型系统,支持普通/精英/Boss三种类型
- 添加怪物属性倍率配置,不同类型的怪物具有差异化属性
- 更新关卡生成逻辑,支持程序化生成不同类型的怪物组合
+- 新增基于ECS框架的事件总线组件(EBusComp),重构角色视图数据逻辑
- 增强资源引用追踪,添加新修改文件的来源标注
## 目录
@@ -38,7 +40,7 @@
## 简介
-本游戏采用基于Oops Framework的模块化架构,核心运行系统包含初始化流程、事件系统、资源加载与本地存储四大核心模块。系统通过异步队列管理初始化顺序,使用事件总线实现模块间解耦,采用分层资源管理模式,并提供安全可靠的本地存储机制。新增的怪物生成系统支持多种怪物类型和差异化属性配置。
+本游戏采用基于Oops Framework的模块化架构,核心运行系统包含初始化流程、事件系统、资源加载与本地存储四大核心模块。系统通过异步队列管理初始化顺序,使用事件总线实现模块间解耦,采用分层资源管理模式,并提供安全可靠的本地存储机制。新增的怪物生成系统支持多种怪物类型和差异化属性配置。基于ECS框架重构了角色视图的数据逻辑,引入了EBusComp事件总线组件,提升了系统的可维护性和扩展性。
## 项目架构概览
@@ -67,6 +69,10 @@ Map[GameMap]
Monster[怪物生成系统]
Scene[场景管理]
end
+subgraph "ECS框架"
+EBus[EBusComp]
+Hero[Hero组件系统]
+end
Main --> Init
Init --> Loading
Init --> SMC
@@ -76,12 +82,14 @@ SMC --> Storage
Init --> ResMgr
ResMgr --> Loader
Map --> Monster
+Hero --> EBus
```
**图表来源**
- [Main.ts](file://assets/script/Main.ts#L1-L41)
- [Initialize.ts](file://assets/script/game/initialize/Initialize.ts#L1-L207)
- [LoadingViewComp.ts](file://assets/script/game/initialize/view/LoadingViewComp.ts#L1-L91)
+- [EBusComp.ts](file://assets/script/game/hero/EBusComp.ts#L6-L89)
## 初始化系统
@@ -199,14 +207,75 @@ G --> H[移除监听器]
- [GameEvent.ts](file://assets/script/game/common/config/GameEvent.ts#L1-L70)
- [event.md](file://doc/core/common/event.md#L1-L44)
+### EBusComp - 基于ECS的事件总线组件
+
+#### EBusComp架构设计
+
+EBusComp是基于ECS框架重构的事件总线组件,为角色视图和数据逻辑提供高效的通信机制。
+
+```mermaid
+classDiagram
+class EBusComp {
+-_eventTarget : EventTarget
++emit(event : string, data? : any) : void
++on(event : string, listener : Function, object? : any) : void
++off(event? : string, callback? : Function, target? : any) : void
++once(event : string, callback : Function, target? : any) : void
++targetOff(target : any) : void
++reset() : void
+}
+class EventTarget {
++emit(event : string, data? : any) : void
++on(event : string, callback : Function, target? : any) : void
++off(event : string, callback : Function, target? : any) : void
++once(event : string, callback : Function, target? : any) : void
++targetOff(target : any) : void
+}
+EBusComp --> EventTarget : 使用
+```
+
+**图表来源**
+- [EBusComp.ts](file://assets/script/game/hero/EBusComp.ts#L6-L89)
+
+#### 核心功能特性
+
+1. **发布订阅模式**:提供标准的事件发布(emit)和订阅(on/once)接口
+2. **灵活的取消订阅**:支持多种取消订阅方式
+ - 无参调用:清理本节点所有监听
+ - 仅提供事件名:清理该事件名下所有回调
+ - 完整参数:精确移除指定回调
+3. **内存管理**:在reset方法中自动清理所有事件监听,防止内存泄漏
+4. **ECS集成**:通过@ecs.register装饰器注册为ECS组件,实现框架级集成
+
+#### 使用示例
+
+```typescript
+// 发布事件
+this.entity.get(EBusComp).emit(GameEvent.HeroLvUp, { level: 5 });
+
+// 订阅事件
+this.entity.get(EBusComp).on(GameEvent.HeroLvUp, this.onHeroLevelUp, this);
+
+// 订阅一次性事件
+this.entity.get(EBusComp).once(GameEvent.MissionComplete, this.onMissionComplete, this);
+
+// 取消订阅
+this.entity.get(EBusComp).off(GameEvent.HeroLvUp, this.onHeroLevelUp, this);
+```
+
+**章节来源**
+- [EBusComp.ts](file://assets/script/game/hero/EBusComp.ts#L6-L89)
+
### 事件系统最佳实践
1. **持续监听**:适用于长期关注的事件
2. **一次性监听**:适用于仅需响应一次的事件
3. **内存管理**:及时取消不再需要的事件监听
+4. **ECS组件化**:利用EBusComp实现组件间的松耦合通信
**章节来源**
- [event.md](file://doc/core/common/event.md#L1-L44)
+- [EBusComp.ts](file://assets/script/game/hero/EBusComp.ts#L6-L89)
## 资源加载系统
@@ -503,6 +572,8 @@ S --> T[资源释放]
U[怪物系统] --> V[RogueConfig配置]
V --> W[MissionMonComp生成]
W --> X[属性计算]
+Y[ECS框架] --> Z[EBusComp事件总线]
+Z --> AA[组件间通信]
```
**图表来源**
@@ -510,6 +581,7 @@ W --> X[属性计算]
- [Initialize.ts](file://assets/script/game/initialize/Initialize.ts#L1-L207)
- [SingletonModuleComp.ts](file://assets/script/game/common/SingletonModuleComp.ts#L1-L194)
- [RogueConfig.ts](file://assets/script/game/map/RogueConfig.ts#L0-L178)
+- [EBusComp.ts](file://assets/script/game/hero/EBusComp.ts#L6-L89)
### 数据流管理
@@ -533,6 +605,7 @@ W --> X[属性计算]
2. **监听管理**:及时移除不需要的事件监听器
3. **参数传递**:合理设计事件参数结构
4. **性能考虑**:避免在高频事件中执行复杂操作
+5. **ECS集成**:充分利用EBusComp组件实现高效的组件间通信
### 资源管理最佳实践
@@ -559,4 +632,8 @@ W --> X[属性计算]
本游戏的核心运行系统通过模块化设计实现了高度的可维护性和扩展性。初始化系统确保游戏启动的稳定性和效率,事件系统提供了灵活的模块间通信机制,资源管理系统支持复杂的资源加载和管理需求,本地存储系统保障了数据的安全性和持久性。
-新增的怪物生成系统通过RogueConfig.ts和MissionMonComp.ts实现了程序化的怪物生成逻辑,支持普通、精英、BOSS三种怪物类型,并通过属性倍率配置实现了差异化的设计。系统采用的异步队列模式、事件驱动架构和单例管理模式,为游戏开发提供了坚实的基础框架。通过合理的配置和优化,这套系统能够支持大型游戏项目的开发需求,同时保持良好的性能表现和用户体验。
\ No newline at end of file
+新增的怪物生成系统通过RogueConfig.ts和MissionMonComp.ts实现了程序化的怪物生成逻辑,支持普通、精英、BOSS三种怪物类型,并通过属性倍率配置实现了差异化的设计。系统采用的异步队列模式、事件驱动架构和单例管理模式,为游戏开发提供了坚实的基础框架。
+
+特别值得注意的是,基于ECS框架重构了角色视图的数据逻辑,引入了EBusComp事件总线组件。这一改进不仅提升了系统的可维护性和扩展性,还实现了组件间的松耦合通信。EBusComp组件提供了标准的发布订阅接口,支持灵活的事件管理和内存清理机制,为游戏的长期发展奠定了良好的基础。
+
+通过合理的配置和优化,这套系统能够支持大型游戏项目的开发需求,同时保持良好的性能表现和用户体验。
\ No newline at end of file
diff --git a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能系统.md b/.qoder/repowiki/zh/content/英雄系统/技能系统/技能系统.md
deleted file mode 100644
index b2594c6e..00000000
--- a/.qoder/repowiki/zh/content/英雄系统/技能系统/技能系统.md
+++ /dev/null
@@ -1,769 +0,0 @@
-# 技能系统
-
-
-**本文档中引用的文件**
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts)
-- [SkillViewCom.ts](file://assets/script/game/skill/SkillViewCom.ts)
-- [AtkConCom.ts](file://assets/script/game/skill/AtkConCom.ts)
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts)
-- [Tooltip.ts](file://assets/script/game/skill/Tooltip.ts)
-
-
-## 目录
-1. [简介](#简介)
-2. [项目结构](#项目结构)
-3. [核心组件](#核心组件)
-4. [架构概览](#架构概览)
-5. [详细组件分析](#详细组件分析)
-6. [技能配置系统](#技能配置系统)
-7. [技能控制机制](#技能控制机制)
-8. [技能释放流程](#技能释放流程)
-9. [异常处理与最佳实践](#异常处理与最佳实践)
-10. [性能考虑](#性能考虑)
-11. [故障排除指南](#故障排除指南)
-12. [总结](#总结)
-
-## 简介
-
-技能系统是游戏战斗的核心机制,负责管理角色的技能释放、冷却时间、目标选择、特效播放等关键功能。本系统采用ECS架构设计,通过模块化的方式实现了技能的完整生命周期管理,包括技能配置、控制、执行和特效展示。
-
-## 项目结构
-
-技能系统的文件组织遵循模块化原则,主要分为以下几个部分:
-
-```mermaid
-graph TB
-subgraph "配置层"
-A[SkillSet.ts
技能配置表]
-end
-subgraph "控制层"
-B[SkillConComp.ts
技能控制组件]
-end
-subgraph "执行层"
-C[SkillEnt.ts
技能实体]
-D[SkillViewCom.ts
技能视图组件]
-E[AtkConCom.ts
攻击控制组件]
-end
-subgraph "支持层"
-F[HeroViewComp.ts
英雄视图组件]
-G[Tooltip.ts
提示系统]
-end
-A --> B
-B --> C
-C --> D
-D --> E
-B --> F
-E --> G
-```
-
-**图表来源**
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L1-L148)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L1-L177)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L1-L78)
-
-**章节来源**
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L1-L148)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L1-L177)
-
-## 核心组件
-
-技能系统由以下核心组件构成:
-
-### 技能配置表 (SkillSet)
-负责定义技能的所有属性和行为规则,包括技能类型、目标群体、伤害类型、冷却时间等关键字段。
-
-### 技能控制组件 (SkillConComp)
-管理技能的触发逻辑、冷却时间计算、目标选择和定时器资源管理。
-
-### 技能实体 (SkillEnt)
-负责技能的实例化、特效加载和生命周期管理。
-
-### 技能视图组件 (SkillViewCom)
-处理技能的视觉表现、动画播放和位置计算。
-
-### 攻击控制组件 (AtkConCom)
-实现具体的攻击逻辑、碰撞检测和伤害计算。
-
-**章节来源**
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L1-L148)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L1-L177)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L1-L78)
-
-## 架构概览
-
-技能系统采用分层架构设计,确保各组件职责清晰、耦合度低:
-
-```mermaid
-graph TD
-subgraph "表现层"
-A[技能视图组件
SkillViewCom]
-B[特效播放
Animation/Particle]
-end
-subgraph "控制层"
-C[技能控制组件
SkillConComp]
-D[攻击控制组件
AtkConCom]
-end
-subgraph "数据层"
-E[技能实体
SkillEnt]
-F[技能配置
SkillSet]
-end
-subgraph "业务层"
-G[英雄视图组件
HeroViewComp]
-H[目标选择
selectTargets]
-end
-A --> C
-C --> E
-E --> F
-C --> G
-D --> A
-G --> H
-B --> D
-```
-
-**图表来源**
-- [SkillViewCom.ts](file://assets/script/game/skill/SkillViewCom.ts#L1-L156)
-- [AtkConCom.ts](file://assets/script/game/skill/AtkConCom.ts#L1-L236)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L1-L78)
-
-## 详细组件分析
-
-### 技能配置系统 (SkillSet)
-
-技能配置系统是整个技能体系的基础,定义了技能的所有属性和行为规则。
-
-#### 技能类型枚举 (SType)
-
-| 类型 | 值 | 描述 | 用途 |
-|------|----|----- |----- |
-| damage | 0 | 伤害技能 | 对目标造成物理/魔法伤害 |
-| heal | 1 | 治疗技能 | 恢复目标生命值 |
-| shield | 2 | 护盾技能 | 为目标添加护盾 |
-| atk_speed | 3 | 攻击速度提升 | 提升攻击速度 |
-| power_up | 4 | 力量提升 | 提升攻击力 |
-| ap_up | 5 | 法术强度提升 | 提升法术伤害 |
-| dod_up | 6 | 闪避提升 | 提升闪避率 |
-| crit_up | 7 | 暴击率提升 | 提升暴击率 |
-| crit_dmg_up | 8 | 暴击伤害提升 | 提升暴击伤害 |
-| wfuny_up | 9 | 连击率提升 | 提升连击触发概率 |
-| zhaohuan | 10 | 召唤技能 | 召唤生物协助战斗 |
-| buff | 11 | 增益技能 | 为目标添加增益效果 |
-
-#### 目标群体枚举 (TGroup)
-
-| 群体 | 值 | 描述 | 适用场景 |
-|------|----|----- |---------|
-| Self | 0 | 自身 | 自身增益、治疗技能 |
-| Ally | 1 | 所有敌人 | 团队治疗、辅助技能 |
-| Team | 2 | 所有友方 | 团队增益、保护技能 |
-| Enemy | 3 | 敌方单位 | 输出技能、控制技能 |
-| All | 4 | 所有单位 | 全局效果、范围伤害 |
-
-#### 伤害类型枚举 (DTType)
-
-| 类型 | 值 | 描述 | 特点 |
-|------|----|----- |------|
-| single | 0 | 单体伤害 | 针对单一目标 |
-| range | 1 | 范围伤害 | 对多个目标造成伤害 |
-
-#### 关键字段说明
-
-```mermaid
-classDiagram
-class SkillConfig {
-+number uuid
-+string name
-+string sp_name
-+AtkedName AtkedName
-+string path
-+TGroup TGroup
-+SType SType
-+string act
-+DTType DTType
-+DType DType
-+number ap
-+number cd
-+number t_num
-+number hit_num
-+number hit
-+number hitcd
-+number speed
-+number cost
-+number with
-+BuffConf[] buffs
-+NeAttrsConf[] neAttrs
-+string info
-+number hero
-}
-class BuffConf {
-+Attrs buff
-+BType BType
-+number value
-+number time
-+number chance
-}
-class NeAttrsConf {
-+NeAttrs neAttrs
-+number value
-+number time
-}
-SkillConfig --> BuffConf : "包含"
-SkillConfig --> NeAttrsConf : "包含"
-```
-
-**图表来源**
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L118-L148)
-
-**章节来源**
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L1-L148)
-
-### 技能控制组件 (SkillConComp)
-
-技能控制组件负责技能的整体管理和触发逻辑,是技能系统的核心控制器。
-
-#### 主要功能
-
-1. **冷却时间管理**
- - 监控技能冷却进度
- - 自动重置冷却时间
- - 处理技能消耗检查
-
-2. **自动施法条件判断**
- - 检查角色状态(眩晕、冰冻等)
- - 验证魔法值充足
- - 判断攻击状态冲突
-
-3. **多段技能连发机制**
- - 实现wfuny连击系统
- - 控制技能释放间隔
- - 管理连击计数器
-
-4. **目标选择策略**
- - 基于阵营的目标查询
- - 前排/后排目标优先级
- - 随机目标选择算法
-
-#### 核心方法分析
-
-```mermaid
-sequenceDiagram
-participant Player as 玩家输入
-participant SkillCon as 技能控制组件
-participant HeroView as 英雄视图
-participant SkillEnt as 技能实体
-participant AtkCon as 攻击控制
-Player->>SkillCon : 更新技能冷却
-SkillCon->>SkillCon : 检查冷却时间
-SkillCon->>HeroView : 检查角色状态
-HeroView-->>SkillCon : 状态验证结果
-SkillCon->>SkillCon : 选择目标
-SkillCon->>HeroView : 播放技能特效
-SkillCon->>SkillEnt : 创建技能实体
-SkillEnt->>AtkCon : 初始化攻击组件
-AtkCon->>AtkCon : 执行攻击逻辑
-```
-
-**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L35-L177)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L15-L78)
-
-**章节来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L1-L177)
-
-### 技能实体 (SkillEnt)
-
-技能实体负责技能的实例化和生命周期管理,确保技能能够正确地在游戏中表现。
-
-#### 实体创建流程
-
-```mermaid
-flowchart TD
-A[技能触发] --> B[加载技能配置]
-B --> C{配置是否存在?}
-C --> |否| D[输出错误日志]
-C --> |是| E[检查施法者]
-E --> F{施法者是否存在?}
-F --> |否| D
-F --> |是| G[加载特效预制体]
-G --> H{预制体加载成功?}
-H --> |否| D
-H --> |是| I[实例化特效节点]
-I --> J[设置节点属性]
-J --> K[添加技能组件]
-K --> L[技能实体就绪]
-D --> M[结束]
-L --> N[等待执行时机]
-N --> O[执行技能逻辑]
-```
-
-**图表来源**
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L15-L78)
-
-**章节来源**
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L1-L78)
-
-### 技能视图组件 (SkillViewCom)
-
-技能视图组件处理技能的视觉表现和动画播放,是技能外观效果的主要控制者。
-
-#### 动画类型支持
-
-| 类型 | 值 | 描述 | 实现方式 |
-|------|----|----- |---------|
-| linear | 0 | 直线运动 | 线性插值移动 |
-| bezier | 1 | 贝塞尔曲线 | 贝塞尔曲线轨迹 |
-| fixed | 2 | 固定起点 | 起点固定,终点动态 |
-| fixedEnd | 3 | 固定终点 | 终点固定,起点动态 |
-
-**章节来源**
-- [SkillViewCom.ts](file://assets/script/game/skill/SkillViewCom.ts#L1-L156)
-
-### 攻击控制组件 (AtkConCom)
-
-攻击控制组件实现具体的攻击逻辑,包括碰撞检测、伤害计算和效果应用。
-
-#### 碰撞检测机制
-
-```mermaid
-flowchart TD
-A[技能移动] --> B[检测碰撞]
-B --> C{是否接触敌方}
-C --> |否| D[继续移动]
-C --> |是| E[检查穿透次数]
-E --> F{达到最大穿透?}
-F --> |是| G[销毁技能]
-F --> |否| H[计算伤害]
-H --> I[应用伤害效果]
-I --> J[增加穿透计数]
-J --> K{范围伤害?}
-K --> |是| L[对范围内所有目标]
-K --> |否| M[仅对当前目标]
-L --> N[继续移动]
-M --> N
-D --> N
-G --> O[结束]
-```
-
-**图表来源**
-- [AtkConCom.ts](file://assets/script/game/skill/AtkConCom.ts#L120-L180)
-
-**章节来源**
-- [AtkConCom.ts](file://assets/script/game/skill/AtkConCom.ts#L1-L236)
-
-## 技能配置系统
-
-技能配置系统是技能系统的基础,通过SkillSet.ts定义了所有技能的属性和行为规则。
-
-### 配置表结构
-
-技能配置表采用Record结构,以技能UUID作为键,SkillConfig接口作为值:
-
-```typescript
-export const SkillSet: Record = {
- 6001: {
- uuid: 6001,
- name: "挥击",
- sp_name: "atk_s1",
- AtkedName: AtkedName.atked,
- path: "3036",
- TGroup: TGroup.Enemy,
- SType: SType.damage,
- act: "atk",
- DTType: DTType.single,
- DType: DType.ATK,
- ap: 100,
- cd: 1,
- t_num: 1,
- hit_num: 1,
- hit: 1,
- hitcd: 0.2,
- speed: 720,
- cost: 0,
- with: 0,
- buffs: [],
- neAttrs: [],
- info: "向最前方敌人扔出石斧,造成100%攻击的伤害"
- },
- // 更多技能配置...
-}
-```
-
-### 关键配置字段详解
-
-| 字段 | 类型 | 描述 | 默认值 | 说明 |
-|------|------|------|--------|------|
-| uuid | number | 技能唯一标识符 | - | 必需,用于技能识别 |
-| name | string | 技能名称 | - | 显示用名称 |
-| sp_name | string | 特效名称 | - | 对应特效资源文件名 |
-| TGroup | TGroup | 目标群体 | - | 技能作用目标类型 |
-| SType | SType | 技能类型 | - | 技能效果类型 |
-| cd | number | 冷却时间 | - | 技能冷却秒数 |
-| cost | number | 消耗值 | - | 魔法值或能量消耗 |
-| ap | number | 伤害倍率 | - | 伤害相对于攻击力的百分比 |
-| hit | number | 穿透次数 | 0 | 攻击可穿透的目标数量 |
-| hitcd | number | 持续伤害间隔 | 0 | 持续伤害的触发间隔 |
-
-**章节来源**
-- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L118-L148)
-
-## 技能控制机制
-
-技能控制机制是技能系统的核心,负责技能的触发、冷却管理和执行逻辑。
-
-### 冷却时间管理系统
-
-冷却时间管理采用增量式计算,每帧更新技能的冷却进度:
-
-```mermaid
-flowchart TD
-A[技能冷却开始] --> B[dt累积]
-B --> C[检查冷却时间]
-C --> D{是否达到冷却?}
-D --> |否| E[继续累积]
-D --> |是| F[检查魔法值]
-F --> G{魔法值充足?}
-G --> |否| H[等待补充]
-G --> |是| I[触发技能]
-E --> B
-H --> F
-I --> J[重置冷却时间]
-J --> K[扣除魔法值]
-K --> L[技能准备就绪]
-```
-
-**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L35-L50)
-
-### 自动施法条件判断
-
-系统在每次更新时检查多个条件:
-
-1. **战斗状态检查**
- - 检查mission.play状态
- - 验证mission.pause状态
-
-2. **角色状态检查**
- - 检查眩晕状态 (isStun())
- - 检查冰冻状态 (isFrost())
-
-3. **技能状态检查**
- - 验证冷却时间是否完成
- - 检查魔法值是否足够
- - 确认攻击状态不冲突
-
-### 多段技能连发机制
-
-系统支持wfuny连击机制,通过check_wfuny方法判断是否触发连击:
-
-```mermaid
-sequenceDiagram
-participant SkillCon as 技能控制
-participant HeroView as 英雄视图
-participant Timer as 定时器系统
-SkillCon->>HeroView : 检查wfuny属性
-HeroView-->>SkillCon : 返回连击概率
-SkillCon->>SkillCon : 随机数生成
-alt 触发连击
-SkillCon->>Timer : 设置延迟执行
-Timer->>SkillCon : 延迟后再次执行
-SkillCon->>SkillCon : 递归调用doSkill
-else 未触发连击
-SkillCon->>SkillCon : 正常结束
-end
-```
-
-**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L85-L105)
-
-**章节来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L35-L177)
-
-## 技能释放流程
-
-技能释放是一个复杂的多阶段过程,涉及预判、特效播放、实体生成等多个环节。
-
-### 技能释放全过程
-
-```mermaid
-sequenceDiagram
-participant Player as 玩家操作
-participant SkillCon as 技能控制
-participant HeroView as 英雄视图
-participant SkillEnt as 技能实体
-participant AtkCon as 攻击控制
-participant Target as 目标对象
-Player->>SkillCon : 发起技能请求
-SkillCon->>SkillCon : 验证技能可用性
-SkillCon->>HeroView : 播放技能动画
-HeroView-->>SkillCon : 动画播放完成
-SkillCon->>SkillCon : 创建技能实体
-SkillCon->>SkillEnt : 加载技能配置
-SkillEnt->>SkillEnt : 实例化特效节点
-SkillEnt->>AtkCon : 添加攻击组件
-AtkCon->>AtkCon : 初始化技能参数
-AtkCon->>Target : 开始攻击逻辑
-Target-->>AtkCon : 碰撞检测结果
-AtkCon->>AtkCon : 计算伤害效果
-AtkCon->>Target : 应用伤害效果
-AtkCon->>AtkCon : 检查技能结束条件
-alt 技能需要多段
-AtkCon->>AtkCon : 继续下一段攻击
-else 技能结束
-AtkCon->>AtkCon : 销毁技能实体
-end
-```
-
-**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L60-L105)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L15-L78)
-- [AtkConCom.ts](file://assets/script/game/skill/AtkConCom.ts#L120-L180)
-
-### 目标选择策略
-
-目标选择是技能系统的重要组成部分,采用智能算法确定技能目标:
-
-```mermaid
-flowchart TD
-A[开始目标选择] --> B[查询目标实体]
-B --> C{是否有目标?}
-C --> |否| D[返回默认位置]
-C --> |是| E[确定前排目标]
-E --> F[添加前排目标到列表]
-F --> G{还需要更多目标?}
-G --> |否| H[返回目标列表]
-G --> |是| I[随机选择剩余目标]
-I --> J[添加到目标列表]
-J --> K{达到目标数量?}
-K --> |否| G
-K --> |是| H
-D --> L[填充默认位置]
-L --> H
-```
-
-**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L120-L175)
-
-### 定时器资源管理
-
-系统使用定时器管理技能的延迟执行,确保技能释放的精确控制:
-
-| 定时器类型 | 用途 | 生命周期 | 清理方式 |
-|------------|------|----------|----------|
-| 技能延迟定时器 | 技能特效延迟播放 | 技能生命周期内 | 技能结束后清理 |
-| 连击延迟定时器 | 多段技能间隔 | 连击期间 | 连击结束时清理 |
-| 冷却定时器 | 技能冷却倒计时 | 技能冷却期间 | 冷却完成时清理 |
-
-**章节来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L60-L177)
-
-## 异常处理与最佳实践
-
-技能系统在设计时充分考虑了各种异常情况,提供了完善的错误处理机制。
-
-### 节点有效性检查
-
-系统在关键操作前进行节点有效性检查,防止因节点被销毁导致的异常:
-
-```typescript
-private doSkill(config: typeof SkillSet[keyof typeof SkillSet], is_wfuny: boolean = false, dmg: number = 0) {
- // 添加节点有效性检查
- if (!this.node || !this.node.isValid || !this.HeroView || !this.HeroView.node || !this.HeroView.node.isValid) {
- return;
- }
-
- // 技能执行逻辑
-
- // 再次检查节点有效性
- if (!this.node || !this.node.isValid || !this.HeroView || !this.HeroView.node || !this.HeroView.node.isValid) {
- return;
- }
-}
-```
-
-### 异常处理策略
-
-1. **技能配置缺失处理**
- ```typescript
- load(startPos: Vec3, parent: Node, uuid: number, targetPos: any[], caster: HeroViewComp = null, dmg: number = 0) {
- const config = SkillSet[uuid];
- if (!config) {
- console.error("[Skill] 技能配置不存在:", uuid);
- return;
- }
- }
- ```
-
-2. **资源加载失败处理**
- ```typescript
- const prefab: Prefab = oops.res.get(path, Prefab);
- if (!prefab) {
- console.error("[Skill] 预制体加载失败:", path);
- return;
- }
- ```
-
-3. **战斗状态异常处理**
- ```typescript
- update(dt: number) {
- if (!smc.mission.play || smc.mission.pause) return;
- // 技能逻辑执行
- }
- ```
-
-### 最佳实践建议
-
-1. **资源管理**
- - 及时清理定时器资源
- - 正确释放技能实体
- - 避免内存泄漏
-
-2. **性能优化**
- - 使用对象池管理技能实体
- - 减少不必要的对象创建
- - 优化碰撞检测频率
-
-3. **错误恢复**
- - 提供默认行为处理异常
- - 记录详细的错误日志
- - 实现优雅降级机制
-
-**章节来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L66-L105)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L15-L40)
-
-## 性能考虑
-
-技能系统在设计时充分考虑了性能优化,采用了多种策略确保流畅的游戏体验。
-
-### 对象池管理
-
-技能实体采用对象池模式,避免频繁的对象创建和销毁:
-
-```typescript
-// 在SkillConComp中维护定时器映射
-private _timers: { [key: string]: any } = {};
-
-// 定时器资源管理
-public clear_timer() {
- Object.values(this._timers).forEach(clearTimeout);
-}
-
-onDestroy() {
- // 清理所有定时器
- Object.values(this._timers).forEach(clearTimeout);
- this._timers = {};
-}
-```
-
-### 内存优化策略
-
-1. **延迟加载**
- - 技能特效按需加载
- - 避免一次性加载所有技能资源
-
-2. **引用管理**
- - 使用浅拷贝传递技能属性
- - 避免深层复制造成的性能开销
-
-3. **生命周期管理**
- - 及时销毁不需要的技能实体
- - 清理事件监听器和定时器
-
-### 碰撞检测优化
-
-攻击控制组件采用高效的碰撞检测算法:
-
-```typescript
-// 范围伤害优化
-public atk(args: any) {
- let targetsInRange: HeroViewComp[] = [];
-
- // 使用ECS查询优化目标查找
- ecs.query(ecs.allOf(HeroViewComp)).some(e => {
- const view = e.get(HeroViewComp);
- if (view.fac != this.fac) {
- const distance = Math.abs(this.node.position.x - view.node.position.x);
- if (distance <= dis) {
- targetsInRange.push(view);
- }
- }
- });
-}
-```
-
-## 故障排除指南
-
-### 常见问题及解决方案
-
-#### 技能无法触发
-
-**症状**: 技能按下后没有反应
-**可能原因**:
-1. 冷却时间未完成
-2. 魔法值不足
-3. 角色处于异常状态
-4. 技能配置缺失
-
-**解决步骤**:
-1. 检查技能冷却时间
-2. 验证角色魔法值
-3. 确认角色状态正常
-4. 检查SkillSet配置
-
-#### 特效播放异常
-
-**症状**: 技能释放但没有特效
-**可能原因**:
-1. 特效资源加载失败
-2. 节点被提前销毁
-3. 动画组件配置错误
-
-**解决步骤**:
-1. 检查资源路径和文件名
-2. 验证节点有效性
-3. 确认动画组件正确绑定
-
-#### 目标选择错误
-
-**症状**: 技能攻击了错误的目标
-**可能原因**:
-1. 目标查询逻辑错误
-2. 阵营判断失误
-3. 前排/后排判定错误
-
-**解决步骤**:
-1. 检查阵营判断逻辑
-2. 验证目标位置计算
-3. 确认优先级设置
-
-**章节来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L170-L177)
-- [SkillEnt.ts](file://assets/script/game/skill/SkillEnt.ts#L25-L40)
-
-## 总结
-
-技能系统是一个复杂而精密的战斗机制,通过合理的架构设计和完善的异常处理,实现了高效、稳定的技能管理功能。
-
-### 系统优势
-
-1. **模块化设计**: 各组件职责清晰,易于维护和扩展
-2. **性能优化**: 采用对象池和延迟加载策略,确保流畅运行
-3. **异常处理**: 完善的错误检查和恢复机制
-4. **灵活性**: 支持多种技能类型和效果组合
-
-### 技术特点
-
-1. **ECS架构**: 基于组件式设计,提高代码复用性
-2. **事件驱动**: 通过事件系统实现组件间的松耦合通信
-3. **配置驱动**: 技能行为完全由配置文件控制
-4. **资源管理**: 完善的资源加载和释放机制
-
-### 扩展建议
-
-1. **技能树系统**: 可以在此基础上扩展技能升级和解锁机制
-2. **连携技能**: 支持多个角色协同释放的组合技能
-3. **动态平衡**: 根据玩家表现动态调整技能效果
-4. **AI适配**: 为AI敌人提供专门的技能释放策略
-
-技能系统作为游戏战斗的核心,其设计理念和实现方式为类似项目的开发提供了宝贵的参考价值。
\ No newline at end of file
diff --git a/.qoder/repowiki/zh/content/英雄系统/英雄属性系统.md b/.qoder/repowiki/zh/content/英雄系统/英雄属性系统.md
index 63f8a391..1ed5f3c5 100644
--- a/.qoder/repowiki/zh/content/英雄系统/英雄属性系统.md
+++ b/.qoder/repowiki/zh/content/英雄系统/英雄属性系统.md
@@ -2,15 +2,21 @@
**本文档中引用的文件**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts)
-- [Hero.ts](file://assets/script/game/hero/Hero.ts)
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts)
-- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts)
-- [GameEvent.ts](file://assets/script/game/common/config/GameEvent.ts)
-- [BuffComp.ts](file://assets/script/game/hero/BuffComp.ts)
-- [Mon.ts](file://assets/script/game/hero/Mon.ts)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts) - *更新了属性类型和职业成长配置*
+- [Hero.ts](file://assets\script\game\hero\Hero.ts) - *更新了英雄实体初始化逻辑*
+- [HeroAttrsComp.ts](file://assets\script\game\hero\HeroAttrsComp.ts) - *重构了属性组件,包含攻击状态管理*
+- [HeroViewComp.ts](file://assets\game\hero\HeroViewComp.ts) - *更新了视图组件,移除了攻击状态管理*
+- [heroSet.ts](file://assets\script\game\common\config\heroSet.ts) - *包含了英雄配置数据*
+- [GameEvent.ts](file://assets\script\game\common\config\GameEvent.ts) - *定义了游戏事件系统*
+## 更新摘要
+**主要变更**
+- **架构重构**:将`is_atking`攻击状态从`HeroViewComp`视图层迁移至`HeroAttrsComp`数据层,实现状态管理集中化
+- **ECS架构优化**:为`HeroAttrSystem`等系统添加ECS注册装饰器,使架构更符合标准
+- **职责分离**:`HeroViewComp`不再管理攻击状态,仅负责UI表现和动画控制
+- **代码维护性提升**:通过将状态管理集中在数据层,提高了代码的可维护性和测试性
+
## 目录
1. [简介](#简介)
2. [项目结构](#项目结构)
@@ -24,10 +30,12 @@
## 简介
-英雄属性系统是游戏《heroes》的核心战斗机制之一,负责管理英雄的基础属性、成长属性、动态计算以及战斗中的实时更新。该系统采用模块化设计,通过HeroAttrs.ts定义属性枚举和配置,Hero.ts实现英雄实体管理,HeroViewComp.ts处理属性计算和UI更新,形成了完整的属性管理体系。
+英雄属性系统是游戏《heroes》的核心战斗机制之一,负责管理英雄的基础属性、成长属性、动态计算以及战斗中的实时更新。该系统采用模块化设计,通过HeroAttrs.ts定义属性枚举和配置,Hero.ts实现英雄实体管理,HeroAttrsComp.ts处理属性计算和状态管理,形成了完整的属性管理体系。
系统支持多种属性类型,包括基础生存属性、攻击属性、防御属性、特殊效果属性等,每种属性都有明确的数值型或百分比型分类。通过Buff系统实现属性的动态叠加和计算,确保战斗中的属性变化能够实时反映在UI界面中。
+**更新说明**:根据最新代码重构,攻击状态`is_atking`已从视图层`HeroViewComp`迁移至数据层`HeroAttrsComp`,实现了状态管理的集中化。这一变更遵循了ECS架构的最佳实践,将数据状态与表现逻辑分离,提高了系统的可维护性和扩展性。
+
## 项目结构
英雄属性系统的核心文件分布在以下目录结构中:
@@ -41,12 +49,12 @@ C[GameEvent.ts
事件系统]
end
subgraph "实体管理层"
D[Hero.ts
英雄实体]
-E[HeroViewComp.ts
视图组件]
-F[BuffComp.ts
缓冲组件]
+E[HeroAttrsComp.ts
属性组件]
+F[HeroViewComp.ts
视图组件]
end
subgraph "战斗系统"
G[Mon.ts
怪物系统]
-H[BuffComp.ts
UI组件]
+H[BuffComp.ts
缓冲组件]
end
A --> D
B --> D
@@ -58,13 +66,13 @@ H --> F
```
**图表来源**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L1-L50)
-- [Hero.ts](file://assets/script/game/hero/Hero.ts#L1-L30)
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L1-L50)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L1-L50)
+- [Hero.ts](file://assets\script\game\hero\Hero.ts#L1-L30)
+- [HeroAttrsComp.ts](file://assets\script\game\hero\HeroAttrsComp.ts#L1-L50)
**章节来源**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L1-L546)
-- [Hero.ts](file://assets/script/game/hero/Hero.ts#L1-L100)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L1-L546)
+- [Hero.ts](file://assets\script\game\hero\Hero.ts#L1-L100)
## 核心组件
@@ -88,7 +96,7 @@ H --> F
- **百分比型属性(RATIO)**:按百分比计算的相对数值,如暴击率、闪避率
**章节来源**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L142-L226)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L142-L226)
## 架构概览
@@ -98,28 +106,30 @@ H --> F
sequenceDiagram
participant Player as 玩家操作
participant Hero as Hero实体
+participant Attrs as HeroAttrsComp
participant View as HeroViewComp
participant Buff as Buff系统
participant UI as UI组件
Player->>Hero : 创建英雄
-Hero->>View : hero_init()
-View->>View : 初始化基础属性
-View->>View : 初始化属性配置
-View->>Buff : initAttrs()
+Hero->>Attrs : hero_init()
+Attrs->>Attrs : 初始化基础属性
+Attrs->>Attrs : 初始化属性配置
+Attrs->>Buff : initAttrs()
Note over Player,UI : 属性计算流程
Player->>Buff : 添加Buff
-Buff->>View : recalculateSingleAttr()
-View->>View : 计算属性值
-View->>UI : 更新UI显示
+Buff->>Attrs : recalculateSingleAttr()
+Attrs->>Attrs : 计算属性值
+Attrs->>UI : 更新UI显示
Note over Player,UI : 属性更新流程
-Player->>Buff : 属性变更
-Buff->>View : 触发重新计算
-View->>UI : 实时更新显示
+Player->>Attrs : 攻击状态变更
+Attrs->>Attrs : is_atking=true
+Attrs->>View : 触发攻击动画
+View->>UI : 播放攻击动画
```
**图表来源**
-- [Hero.ts](file://assets/script/game/hero/Hero.ts#L65-L99)
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L165-L250)
+- [Hero.ts](file://assets\script\game\hero\Hero.ts#L65-L99)
+- [HeroAttrsComp.ts](file://assets\script\game\hero\HeroAttrsComp.ts#L165-L250)
## 详细组件分析
@@ -166,8 +176,8 @@ Attrs --> NeAttrs : "负面状态"
```
**图表来源**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L10-L105)
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L8-L10)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L10-L105)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L8-L10)
#### 属性类型配置
@@ -203,11 +213,11 @@ style I fill:#c8e6c9
```
**图表来源**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L266-L439)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L266-L439)
**章节来源**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L106-L226)
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L266-L439)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L106-L226)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L266-L439)
### Hero.ts - 英雄实体管理
@@ -219,22 +229,22 @@ Hero.ts负责英雄实体的创建和基础属性初始化:
sequenceDiagram
participant Client as 客户端
participant Hero as Hero实体
-participant Model as HeroModelComp
+participant Model as HeroAttrsComp
participant View as HeroViewComp
Client->>Hero : load(pos, scale, uuid)
Hero->>Hero : 查找空闲槽位
Hero->>Hero : 加载英雄预制体
Hero->>Hero : 设置位置和缩放
Hero->>Hero : hero_init(uuid, node)
-Hero->>View : 初始化属性配置
-Hero->>View : 设置基础属性值
-Hero->>View : 初始化属性系统
+Hero->>Model : 初始化属性配置
+Hero->>Model : 设置基础属性值
+Hero->>Model : 初始化属性系统
Hero->>Model : 添加模型组件
Hero-->>Client : 英雄加载完成
```
**图表来源**
-- [Hero.ts](file://assets/script/game/hero/Hero.ts#L40-L99)
+- [Hero.ts](file://assets\script\game\hero\Hero.ts#L40-L99)
#### 基础属性设置
@@ -248,11 +258,11 @@ hero_init方法完成了英雄基础属性的初始化:
| 技能列表 | 循环遍历 | 技能配置表 |
**章节来源**
-- [Hero.ts](file://assets/script/game/hero/Hero.ts#L65-L99)
+- [Hero.ts](file://assets\script\game\hero\Hero.ts#L65-L99)
-### HeroViewComp.ts - 属性计算与UI更新
+### HeroAttrsComp.ts - 属性计算与状态管理
-HeroViewComp.ts是属性系统的核心计算引擎,负责属性的动态计算和UI更新:
+HeroAttrsComp.ts是属性系统的核心计算引擎,负责属性的动态计算和状态管理:
#### 属性计算算法
@@ -279,39 +289,30 @@ style M fill:#e8f5e8
```
**图表来源**
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L254-L354)
+- [HeroAttrsComp.ts](file://assets\script\game\hero\HeroAttrsComp.ts#L254-L354)
-#### Buff系统设计
+#### 状态管理重构
-Buff系统支持持久和临时两种类型的Buff叠加:
+根据最新代码重构,`is_atking`攻击状态已从视图层迁移至数据层:
-| Buff类型 | 存储位置 | 生命周期 | 计算方式 |
-|---------|---------|---------|---------|
-| 持久Buff | BUFFS | 手动清除 | 直接累加 |
-| 临时Buff | BUFFS_TEMP | 时间到期自动清除 | 时间递减计算 |
-| 增益Buff | 正数值 | - | 属性提升 |
-| 减益Buff | 负数值 | - | 属性削弱 |
-
-#### 属性计算公式
-
-系统根据不同属性类型采用不同的计算公式:
-
-**百分比型属性公式**:
-```
-最终值 = 基础值 + 所有数值型Buff之和 + 所有百分比Buff之和
+```typescript
+// HeroAttrsComp.ts - 数据层状态管理
+export class HeroAttrsComp extends ecs.Comp {
+ // ... 其他属性
+ is_atking: boolean = false; // 是否正在攻击
+ is_stop: boolean = false; // 是否正在停止
+ // ... 其他状态
+}
```
-**数值型属性公式**:
-```
-最终值 = (基础值 + 所有数值型Buff之和) × (1 + 所有百分比Buff之和/100)
-```
+这一变更实现了状态管理的集中化,符合ECS架构的最佳实践。
**章节来源**
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L165-L354)
+- [HeroAttrsComp.ts](file://assets\script\game\hero\HeroAttrsComp.ts#L7-L380)
-### BuffComp.ts - UI组件集成
+### HeroViewComp.ts - UI更新与动画控制
-BuffComp.ts负责将属性变化实时反映到UI界面上:
+HeroViewComp.ts现在仅负责UI表现和动画控制,不再管理攻击状态:
#### UI更新机制
@@ -335,11 +336,11 @@ Note over Attr,UI : 护盾更新流程
```
**图表来源**
-- [BuffComp.ts](file://assets/script/game/hero/BuffComp.ts#L44-L80)
+- [HeroViewComp.ts](file://assets\script\game\hero\HeroViewComp.ts#L44-L80)
#### UI组件类型
-BuffComp管理多种UI组件:
+HeroViewComp管理多种UI组件:
| UI组件 | 功能 | 更新触发 |
|-------|------|---------|
@@ -350,7 +351,7 @@ BuffComp管理多种UI组件:
| 状态图标 | 显示负面状态 | 状态切换 |
**章节来源**
-- [BuffComp.ts](file://assets/script/game/hero/BuffComp.ts#L1-L80)
+- [HeroViewComp.ts](file://assets\script\game\hero\HeroViewComp.ts#L1-L80)
### Mon.ts - 怪物属性系统
@@ -366,7 +367,7 @@ Mon.ts继承了英雄的属性系统,但针对怪物进行了优化:
| UI更新 | 实时同步 | 基础显示 |
**章节来源**
-- [Mon.ts](file://assets/script/game/hero/Mon.ts#L87-L108)
+- [Mon.ts](file://assets\script\game\hero\Mon.ts#L87-L108)
## 依赖关系分析
@@ -381,8 +382,8 @@ C[GameEvent.ts]
end
subgraph "实体层"
D[Hero.ts]
-E[HeroViewComp.ts]
-F[BuffComp.ts]
+E[HeroAttrsComp.ts]
+F[HeroViewComp.ts]
end
subgraph "战斗层"
G[Mon.ts]
@@ -402,8 +403,8 @@ style E fill:#e8f5e8
```
**图表来源**
-- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L1-L20)
-- [Hero.ts](file://assets/script/game/hero/Hero.ts#L1-L20)
+- [HeroAttrs.ts](file://assets\script\game\common\config\HeroAttrs.ts#L1-L20)
+- [Hero.ts](file://assets\script\game\hero\Hero.ts#L1-L20)
### 模块间通信
@@ -417,7 +418,7 @@ style E fill:#e8f5e8
| 数据绑定 | 状态管理 | MVVM模式 |
**章节来源**
-- [GameEvent.ts](file://assets/script/game/common/config/GameEvent.ts#L1-L70)
+- [GameEvent.ts](file://assets\script\game\common\config\GameEvent.ts#L1-L70)
## 性能考虑
@@ -486,7 +487,7 @@ style E fill:#e8f5e8
3. 检查内存使用情况
**章节来源**
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L385-L425)
+- [HeroAttrsComp.ts](file://assets\script\game\hero\HeroAttrsComp.ts#L385-L425)
## 结论
@@ -498,4 +499,6 @@ style E fill:#e8f5e8
4. **实时UI同步**:确保属性变化能够即时反映在用户界面上
5. **性能优化**:通过多种优化策略保证系统的流畅运行
+**架构演进**:最新的代码重构将`is_atking`攻击状态从视图层迁移至数据层,实现了状态管理的集中化。这一变更遵循了ECS架构的最佳实践,提高了代码的可维护性和测试性。通过将数据状态与表现逻辑分离,系统变得更加健壮和可扩展。
+
该系统为游戏提供了坚实的战斗基础,支持丰富的角色定制和战斗策略,是整个游戏体验的重要组成部分。随着游戏的发展,这套属性系统已经证明了其良好的扩展性和稳定性,能够适应未来更多的功能需求。
\ No newline at end of file
diff --git a/.qoder/repowiki/zh/content/英雄系统/英雄系统.md b/.qoder/repowiki/zh/content/英雄系统/英雄系统.md
index 86b61c36..a468e6ca 100644
--- a/.qoder/repowiki/zh/content/英雄系统/英雄系统.md
+++ b/.qoder/repowiki/zh/content/英雄系统/英雄系统.md
@@ -7,12 +7,35 @@
- [TalSet.ts](file://assets/script/game/common/config/TalSet.ts)
- [Hero.ts](file://assets/script/game/hero/Hero.ts)
- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts)
- [BuffComp.ts](file://assets/script/game/hero/BuffComp.ts)
- [TalComp.ts](file://assets/script/game/hero/TalComp.ts)
- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts)
+- [HeroAtk.ts](file://assets/script/game/hero/HeroAtk.ts)
+- [EBusComp.ts](file://assets/script/game/hero/EBusComp.ts)
+## 更新摘要
+**变更内容**
+- 移除了 `SkillConComp` 组件,重构为基于ECS系统的技能控制机制
+- 将 `is_atking` 攻击状态从视图层 `HeroViewComp` 迁移到数据层 `HeroAttrsComp`
+- 拆分通用移动组件为专属的英雄和怪物移动系统
+- 在攻击和死亡事件中集成视觉反馈
+- 根据ECS框架重构角色视图和数据逻辑,新增事件总线组件 `EBusComp`
+
+**新增章节**
+- ECS架构下的技能系统
+- 攻击与死亡事件的视觉反馈
+
+**已移除章节**
+- 原有的 `SkillConComp` 技能控制组件相关内容
+
+**来源追踪系统更新**
+- 更新了受影响文件的引用链接和行号范围
+- 添加了新组件和系统的文件引用
+- 标记了已移除组件的废弃状态
+
## 目录
1. [简介](#简介)
2. [系统架构概览](#系统架构概览)
@@ -27,7 +50,7 @@
## 简介
-英雄系统是游戏的核心战斗机制,负责管理英雄的属性、技能、天赋和状态。本系统采用模块化设计,通过ECS架构实现组件间的松耦合通信,支持复杂的战斗逻辑和动态效果管理。
+英雄系统是游戏的核心战斗机制,负责管理英雄的属性、技能、天赋和状态。本系统采用模块化设计,通过ECS架构实现组件间的松耦合通信,支持复杂的战斗逻辑和动态效果管理。近期重构移除了 `SkillConComp` 组件,将技能控制逻辑迁移至基于ECS系统的 `HSkillSystem`,同时将攻击状态从视图层迁移至数据层,实现了更合理的数据与表现分离。
## 系统架构概览
@@ -41,25 +64,26 @@ BC[BuffComp
状态显示组件]
end
subgraph "控制层"
HC[Hero
英雄实体]
-SC[SkillConComp
技能控制组件]
+SS[HSkillSystem
技能系统]
TC[TalComp
天赋控制组件]
end
subgraph "配置层"
HA[HeroAttrs
属性配置]
-SS[SkillSet
技能配置]
+SSC[SkillSet
技能配置]
TS[TalSet
天赋配置]
end
subgraph "数据层"
+HAC[HeroAttrsComp
属性数据组件]
HM[HeroModelComp
模型数据]
MM[MonModelComp
怪物数据]
end
HC --> HV
-HC --> HM
-SC --> HV
+HC --> HAC
+SS --> HV
TC --> HV
HV --> BC
HV --> HA
-SC --> SS
+SS --> SSC
TC --> TS
HV --> MM
```
@@ -67,7 +91,7 @@ HV --> MM
**图表来源**
- [Hero.ts](file://assets/script/game/hero/Hero.ts#L1-L100)
- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L1-L100)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L1-L50)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L50)
- [TalComp.ts](file://assets/script/game/hero/TalComp.ts#L1-L50)
## 英雄属性系统
@@ -209,18 +233,54 @@ SkillConfig --> BuffConf
**图表来源**
- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L80-L148)
-### 技能控制逻辑
+### ECS架构下的技能系统
-技能释放遵循严格的时序控制:
+技能系统已重构为基于ECS的系统架构,主要包含以下组件:
+
+```mermaid
+classDiagram
+class CastSkillRequestComp {
++skillIndex : number
++targetPositions : Vec3[]
++reset() void
+}
+class SkillCastSystem {
++filter() IMatcher
++entityEnter(e : Entity) void
++checkCastConditions() boolean
++executeCast() void
++createSkillEntity() void
+}
+class SkillCDSystem {
++filter() IMatcher
++update(e : Entity) void
++updateCDs(dt : number) void
+}
+class SkillAutocastSystem {
++filter() IMatcher
++update(e : Entity) void
++selectTargets() Vec3[]
+}
+CastSkillRequestComp --> SkillCastSystem
+SkillCastSystem --> SkillCDSystem
+SkillAutocastSystem --> CastSkillRequestComp
+```
+
+**章节来源**
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L271)
+
+### 技能施法流程
+
+技能施法遵循ECS标记组件驱动的时序控制:
```mermaid
sequenceDiagram
participant Player as 玩家输入
-participant SC as SkillConComp
+participant SC as SkillAutocastSystem
participant HV as HeroViewComp
participant SE as SkillEnt
participant Target as 目标实体
-Player->>SC : 技能冷却完成
+Player->>SC : 添加CastSkillRequest
SC->>SC : 检查英雄状态
SC->>HV : 选择目标
HV-->>SC : 返回目标坐标
@@ -232,7 +292,7 @@ SE-->>HV : 更新状态
```
**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L50-L120)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L100-L150)
### 目标选择算法
@@ -252,11 +312,11 @@ H --> I
```
**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L130-L170)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L200-L250)
**章节来源**
- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts#L1-L148)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L1-L177)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L271)
## 天赋系统
@@ -355,7 +415,7 @@ P --> S[技能列表更新]
```mermaid
classDiagram
-class HeroViewComp {
+class HeroAttrsComp {
+BUFFS : Record~number, Array~
+BUFFS_TEMP : Record~number, Array~
+NeAttrs : Record~number, Object~
@@ -376,12 +436,12 @@ class NeAttrs {
+IN_BURN : 2
+IN_POISON : 3
}
-HeroViewComp --> BuffInfo
-HeroViewComp --> NeAttrs
+HeroAttrsComp --> BuffInfo
+HeroAttrsComp --> NeAttrs
```
**图表来源**
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L80-L120)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L80-L120)
### 属性计算公式
@@ -397,25 +457,25 @@ HeroViewComp --> NeAttrs
```mermaid
sequenceDiagram
participant Game as 游戏循环
-participant HV as HeroViewComp
+participant HAC as HeroAttrsComp
participant Buff as Buff系统
participant Attr as 属性计算
-Game->>HV : update(dt)
-HV->>Buff : updateTemporaryBuffsDebuffs(dt)
+Game->>HAC : update(dt)
+HAC->>Buff : updateTemporaryBuffsDebuffs(dt)
Buff->>Buff : 减少剩余时间
Buff->>Buff : 移除过期buff
Buff->>Attr : recalculateSingleAttr()
Attr->>Attr : 重新计算属性值
-Attr-->>HV : 更新后的属性
-HV->>HV : clampSingleAttr()
-HV-->>Game : 状态更新完成
+Attr-->>HAC : 更新后的属性
+HAC->>HAC : clampSingleAttr()
+HAC-->>Game : 状态更新完成
```
**图表来源**
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L400-L500)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L400-L500)
**章节来源**
-- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L1-L780)
+- [HeroAttrsComp.ts](file://assets/script/game/hero/HeroAttrsComp.ts#L1-L489)
- [BuffComp.ts](file://assets/script/game/hero/BuffComp.ts#L1-L213)
## 组件间通信机制
@@ -427,11 +487,11 @@ graph LR
subgraph "英雄实体"
E[Hero实体]
HV[HeroViewComp]
-HC[HeroConComp]
-BM[BattleMoveComp]
+HAC[HeroAttrsComp]
+BM[HeroMoveComp]
end
subgraph "技能系统"
-SC[SkillConComp]
+SS[HSkillSystem]
SE[SkillEnt]
end
subgraph "状态系统"
@@ -439,19 +499,19 @@ BC[BuffComp]
TC[TalComp]
end
E --> HV
-E --> HC
+E --> HAC
E --> BM
-HC --> SC
-SC --> SE
+HAC --> SS
+SS --> SE
HV --> BC
HV --> TC
TC --> HV
-SC --> HV
+SS --> HV
```
**图表来源**
- [Hero.ts](file://assets/script/game/hero/Hero.ts#L15-L35)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L15-L30)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L15-L30)
### 事件驱动通信
@@ -460,13 +520,13 @@ SC --> HV
| 事件类型 | 发送者 | 接收者 | 用途 |
|---------|-------|-------|------|
| GameEvent.MasterCalled | Hero | Talent系统 | 英雄召唤事件 |
-| GameEvent.CastHeroSkill | SkillCon | 其他组件 | 技能释放通知 |
+| GameEvent.CastHeroSkill | HSkillSystem | 其他组件 | 技能释放通知 |
| GameEvent.FightEnd | Battle | 所有组件 | 战斗结束事件 |
| GameEvent.HeroDead | HeroView | Talent系统 | 英雄死亡事件 |
**章节来源**
- [Hero.ts](file://assets/script/game/hero/Hero.ts#L1-L100)
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L1-L50)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L1-L50)
- [TalComp.ts](file://assets/script/game/hero/TalComp.ts#L1-L50)
## 关键功能实现
@@ -477,7 +537,7 @@ SC --> HV
```mermaid
flowchart TD
-A[玩家输入技能] --> B[SkillConComp接收]
+A[玩家输入技能] --> B[HSkillSystem接收]
B --> C{英雄状态检查}
C --> |眩晕/冰冻| D[阻止技能释放]
C --> |正常状态| E[检查冷却时间]
@@ -495,7 +555,7 @@ M --> O[技能释放成功]
```
**图表来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L50-L100)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L50-L100)
### 属性升级系统
@@ -557,10 +617,38 @@ P --> C
- [TalComp.ts](file://assets/script/game/hero/TalComp.ts#L100-L170)
**章节来源**
-- [SkillConComp.ts](file://assets/script/game/hero/SkillConComp.ts#L50-L177)
+- [HSkillSystem.ts](file://assets/script/game/hero/HSkillSystem.ts#L50-L271)
- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L500-L546)
- [TalComp.ts](file://assets/script/game/hero/TalComp.ts#L100-L171)
+### 攻击与死亡事件的视觉反馈
+
+攻击和死亡事件现在集成视觉反馈,增强游戏表现力:
+
+```mermaid
+sequenceDiagram
+participant Attack as 攻击事件
+participant HAC as HeroAttrsComp
+participant HV as HeroViewComp
+participant AtkSys as HeroAtkSystem
+Attack->>HAC : 发起攻击
+HAC->>AtkSys : doAttack()
+AtkSys->>HV : do_atked()
+HV->>HV : 显示伤害数字
+HV->>HV : 播放受击动画
+HV->>HV : 角色后退
+Attack->>HAC : 造成伤害
+HAC->>HAC : 更新血量
+HAC->>HV : 检查死亡
+HV->>HV : do_dead()
+HV->>HV : 播放死亡特效
+HV->>HV : 触发死亡事件
+```
+
+**章节来源**
+- [HeroAtk.ts](file://assets/script/game/hero/HeroAtk.ts#L1-L247)
+- [HeroViewComp.ts](file://assets/script/game/hero/HeroViewComp.ts#L200-L300)
+
## 性能优化考虑
### 内存管理优化
@@ -591,4 +679,4 @@ P --> C
4. **高效状态管理**: 实现了完整的Buff/Debuff生命周期管理
5. **松耦合架构**: 通过ECS和事件机制实现组件间的解耦通信
-该系统为游戏提供了坚实的战斗基础,支持复杂的游戏玩法和深度的角色养成体验。通过合理的架构设计和性能优化,确保了系统的稳定性和可扩展性。
\ No newline at end of file
+近期重构将技能控制逻辑迁移至ECS系统,移除了 `SkillConComp` 组件,同时将攻击状态从视图层迁移至数据层,实现了更合理的数据与表现分离。该系统为游戏提供了坚实的战斗基础,支持复杂的游戏玩法和深度的角色养成体验。通过合理的架构设计和性能优化,确保了系统的稳定性和可扩展性。
\ No newline at end of file
diff --git a/.qoder/repowiki/zh/meta/repowiki-metadata.json b/.qoder/repowiki/zh/meta/repowiki-metadata.json
index 7bb505b2..6797c985 100644
--- a/.qoder/repowiki/zh/meta/repowiki-metadata.json
+++ b/.qoder/repowiki/zh/meta/repowiki-metadata.json
@@ -1 +1 @@
-{"code_snippets":[{"id":"f1792db4ad8d94789b11cde132a58c15","path":"assets/script/game/map/MissionComp.ts","line_range":"1-151","gmt_create":"2025-10-29T16:45:26.9525361+08:00","gmt_modified":"2025-10-29T16:45:26.9525361+08:00"},{"id":"5c8708ef78c4ca548eb2ce6b279b75ed","path":"assets/script/game/map/VictoryComp.ts","line_range":"1-75","gmt_create":"2025-10-29T16:45:26.9559774+08:00","gmt_modified":"2025-10-29T16:45:26.9559774+08:00"},{"id":"3278c84d1eb6aecf068fb57c66f64e3e","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"1-41","gmt_create":"2025-10-29T16:45:26.9593309+08:00","gmt_modified":"2025-10-29T16:45:26.9593309+08:00"},{"id":"9bb3b0d6ae62d8a89e6d6bea191fac71","path":"assets/script/game/map/MissionComp.ts","line_range":"15-151","gmt_create":"2025-10-29T16:45:26.9632539+08:00","gmt_modified":"2025-10-29T16:45:26.9632539+08:00"},{"id":"7232a510e1fe5bf4baa29606d55a732a","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"20-41","gmt_create":"2025-10-29T16:45:26.966675+08:00","gmt_modified":"2025-10-29T16:45:26.966675+08:00"},{"id":"f94423bec96eddd2f3f51c41a5654881","path":"assets/script/game/map/VictoryComp.ts","line_range":"25-75","gmt_create":"2025-10-29T16:45:26.9705313+08:00","gmt_modified":"2025-10-29T16:45:26.9705313+08:00"},{"id":"72c29ea9fe1fd4c7e9189677fcfbd707","path":"assets/script/game/map/MissionHeroComp.ts","line_range":"1-81","gmt_create":"2025-10-29T16:45:26.974381+08:00","gmt_modified":"2025-10-29T16:45:26.974381+08:00"},{"id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","path":"assets/script/game/map/MissionMonComp.ts","line_range":"1-240","gmt_create":"2025-10-29T16:45:26.9777189+08:00","gmt_modified":"2025-10-29T16:45:26.9777189+08:00"},{"id":"19937d9863d6462cde11b752a8cdb27e","path":"assets/script/game/common/config/Mission.ts","line_range":"1-60","gmt_create":"2025-10-29T16:45:26.9826774+08:00","gmt_modified":"2025-10-29T16:45:26.9826774+08:00"},{"id":"d56b3ca6bf1962fb60a5651241006c2c","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"25-47","gmt_create":"2025-10-29T16:45:26.9866413+08:00","gmt_modified":"2025-10-29T16:45:26.9866413+08:00"},{"id":"546c749070d5836e4b3fae2548a9895a","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"1-544","gmt_create":"2025-10-29T16:45:26.9905355+08:00","gmt_modified":"2025-10-29T16:45:26.9905355+08:00"},{"id":"8d5ff907f0988cbdb88574bf8d540aed","path":"assets/script/game/common/config/TalSet.ts","line_range":"68-114","gmt_create":"2025-10-29T16:45:26.9944486+08:00","gmt_modified":"2025-10-29T16:45:26.9944486+08:00"},{"id":"312cd7280aa8d1ccd62d755d701c9fe5","path":"assets/script/game/map/MissionComp.ts","line_range":"40-50","gmt_create":"2025-10-29T16:45:26.997799+08:00","gmt_modified":"2025-10-29T16:45:26.997799+08:00"},{"id":"75dff503ca30d0964e43596822727ce2","path":"assets/script/game/map/MissionComp.ts","line_range":"80-95","gmt_create":"2025-10-29T16:45:27.0006132+08:00","gmt_modified":"2025-10-29T16:45:27.0006132+08:00"},{"id":"6af28cda4e019cc7dc14e024f099de35","path":"assets/script/game/map/VictoryComp.ts","line_range":"25-40","gmt_create":"2025-10-29T16:45:27.0044375+08:00","gmt_modified":"2025-10-29T16:45:27.0044375+08:00"},{"id":"947e5b1ccf20c4a4e3fde389b032aff6","path":"assets/script/game/map/MissionHeroComp.ts","line_range":"15-30","gmt_create":"2025-10-29T16:45:27.0088976+08:00","gmt_modified":"2025-10-29T16:45:27.0088976+08:00"},{"id":"205893a617207b5b5300d1c459ccfa82","path":"assets/script/game/map/MissionMonComp.ts","line_range":"40-60","gmt_create":"2025-10-29T16:45:27.0116618+08:00","gmt_modified":"2025-10-29T16:45:27.0116618+08:00"},{"id":"86a8863611343f013419fb6c5f486237","path":"assets/script/game/map/RogueConfig.ts","line_range":"279-310","gmt_create":"2025-10-29T16:45:27.0159787+08:00","gmt_modified":"2025-10-29T16:45:27.0159787+08:00"},{"id":"4f7c15d2dbfd4808706252c0e0196d6c","path":"assets/script/game/common/config/GameUIConfig.ts","line_range":"1-36","gmt_create":"2025-10-29T16:45:27.0199477+08:00","gmt_modified":"2025-10-29T16:45:27.0199477+08:00"},{"id":"45d35e995fd12eac98563d1f52f29c60","path":"assets/script/game/map/RogueConfig.ts","line_range":"1-50","gmt_create":"2025-10-29T16:45:39.5056227+08:00","gmt_modified":"2025-10-29T16:45:39.5056227+08:00"},{"id":"bc5b41b084fa2c3300df5c9ae6ea209d","path":"assets/script/game/map/MissionMonComp.ts","line_range":"1-40","gmt_create":"2025-10-29T16:45:39.5095803+08:00","gmt_modified":"2025-10-29T16:45:39.5095803+08:00"},{"id":"d6a5fee55d8026bdae651866b55a6ceb","path":"assets/script/game/map/RogueConfig.ts","line_range":"1-173","gmt_create":"2025-10-29T16:45:39.5134529+08:00","gmt_modified":"2025-10-29T16:45:39.5134529+08:00"},{"id":"b43e37e7d31c36e32b39d1e989faa564","path":"assets/script/game/map/MissionMonComp.ts","line_range":"1-200","gmt_create":"2025-10-29T16:45:39.5165178+08:00","gmt_modified":"2025-10-29T16:45:39.5165178+08:00"},{"id":"20993cd959ec406c9fc95cb4c9e6bb40","path":"assets/script/game/map/GameMap.ts","line_range":"1-35","gmt_create":"2025-10-29T16:45:39.5207865+08:00","gmt_modified":"2025-10-29T16:45:39.5207865+08:00"},{"id":"1442be86a13f6fb82799c2fb135a5fbc","path":"assets/script/game/map/RogueConfig.ts","line_range":"31-31","gmt_create":"2025-10-29T16:45:39.524637+08:00","gmt_modified":"2025-10-29T16:45:39.524637+08:00"},{"id":"be1c3f7acfda1fb5cab3d04092e92aef","path":"assets/script/game/map/RogueConfig.ts","line_range":"18-20","gmt_create":"2025-10-29T16:45:39.5285244+08:00","gmt_modified":"2025-10-29T16:45:39.5285244+08:00"},{"id":"0dc975b996cbf540896bca917461e40b","path":"assets/script/game/common/config/heroSet.ts","line_range":"20-215","gmt_create":"2025-10-29T16:45:39.5330849+08:00","gmt_modified":"2025-10-29T16:45:39.5330849+08:00"},{"id":"6376e28d42ccacfc5d390f109669687e","path":"assets/script/game/map/RogueConfig.ts","line_range":"95-173","gmt_create":"2025-10-29T16:45:39.5369056+08:00","gmt_modified":"2025-10-29T16:45:39.5369056+08:00"},{"id":"271e91a8467b8c4327d0a28bc8f7dc32","path":"assets/script/game/map/RogueConfig.ts","line_range":"35-40","gmt_create":"2025-10-29T16:45:39.5413474+08:00","gmt_modified":"2025-10-29T16:45:39.5413474+08:00"},{"id":"961d1d50dc5e36b4a50c34b9e3380a39","path":"assets/script/game/map/RogueConfig.ts","line_range":"45-56","gmt_create":"2025-10-29T16:45:39.5458904+08:00","gmt_modified":"2025-10-29T16:45:39.5458904+08:00"},{"id":"ede8bf9e076d0cf971b1f8255da908df","path":"assets/script/game/map/RogueConfig.ts","line_range":"69-73","gmt_create":"2025-10-29T16:45:39.5491688+08:00","gmt_modified":"2025-10-29T16:45:39.5491688+08:00"},{"id":"9538a29efbb0c28a5ae3cb1e7b3a60e6","path":"assets/script/game/map/MissionMonComp.ts","line_range":"102-136","gmt_create":"2025-10-29T16:45:39.5542176+08:00","gmt_modified":"2025-10-29T16:45:39.5542176+08:00"},{"id":"48aa606e2a65a47fa62613c913befb09","path":"assets/script/game/map/MissionMonComp.ts","line_range":"45-85","gmt_create":"2025-10-29T16:45:39.5598568+08:00","gmt_modified":"2025-10-29T16:45:39.5598568+08:00"},{"id":"e985a0cbfbcce38c9be0d4d9591857b6","path":"assets/script/game/map/GameMap.ts","line_range":"25-35","gmt_create":"2025-10-29T16:45:39.5632279+08:00","gmt_modified":"2025-10-29T16:45:39.5632279+08:00"},{"id":"58091848c95da91e8187a42ab636c9b8","path":"assets/script/game/map/MissionComp.ts","line_range":"75-95","gmt_create":"2025-10-29T16:45:39.5671544+08:00","gmt_modified":"2025-10-29T16:45:39.5671544+08:00"},{"id":"74629278d6d37cd0737ef8522248a611","path":"assets/script/game/map/MissionMonComp.ts","line_range":"40-50","gmt_create":"2025-10-29T16:45:39.5716095+08:00","gmt_modified":"2025-10-29T16:45:39.5716095+08:00"},{"id":"b44dd9330329d4f79260ce7b269c687f","path":"assets/script/game/map/model/MapModelComp.ts","line_range":"1-42","gmt_create":"2025-10-29T16:45:53.8530631+08:00","gmt_modified":"2025-10-29T16:45:53.8530631+08:00"},{"id":"0732b42f7e0c66b58c71a549fb9ba36d","path":"assets/script/game/map/view/MapViewComp.ts","line_range":"1-44","gmt_create":"2025-10-29T16:45:53.8570214+08:00","gmt_modified":"2025-10-29T16:45:53.8570214+08:00"},{"id":"847d14c7aff3114c46bc65a0aa7b4180","path":"assets/script/game/map/RogueConfig.ts","line_range":"1-310","gmt_create":"2025-10-29T16:45:53.8627866+08:00","gmt_modified":"2025-10-29T16:45:53.8627866+08:00"},{"id":"2c0b6d3ac7326428001e915dfad04fda","path":"assets/script/game/hero/Mon.ts","line_range":"1-108","gmt_create":"2025-10-29T16:45:53.8666868+08:00","gmt_modified":"2025-10-29T16:45:53.8666868+08:00"},{"id":"36d0aae654a4ab5cc9c6205c96a73c28","path":"assets/script/game/map/view/MapViewScene.ts","line_range":"1-76","gmt_create":"2025-10-29T16:45:53.8734144+08:00","gmt_modified":"2025-10-29T16:45:53.8734144+08:00"},{"id":"5326fb0ba15856a89e7ceb0a85f5ba18","path":"assets/script/game/map/view/map/layer/MapLayer.ts","line_range":"1-46","gmt_create":"2025-10-29T16:45:53.8784978+08:00","gmt_modified":"2025-10-29T16:45:53.8784978+08:00"},{"id":"85fb9bcdfda6d8bfd0a45798014e4d1b","path":"assets/script/game/map/view/map/layer/EntityLayer.ts","line_range":"1-38","gmt_create":"2025-10-29T16:45:53.883022+08:00","gmt_modified":"2025-10-29T16:45:53.883022+08:00"},{"id":"f160c7f4a5c15627d79ed49ca194b3ee","path":"assets/script/game/map/view/map/layer/SkillLayer.ts","line_range":"1-47","gmt_create":"2025-10-29T16:45:53.8870357+08:00","gmt_modified":"2025-10-29T16:45:53.8870357+08:00"},{"id":"6e63b2a364ca754b51e77bb5d612934e","path":"assets/script/game/map/RogueConfig.ts","line_range":"79-88","gmt_create":"2025-10-29T16:45:53.8944528+08:00","gmt_modified":"2025-10-29T16:45:53.8944528+08:00"},{"id":"4af410d9512c22ea1700b1ed40f45a38","path":"assets/script/game/hero/Mon.ts","line_range":"37-60","gmt_create":"2025-10-29T16:45:53.8989118+08:00","gmt_modified":"2025-10-29T16:45:53.8989118+08:00"},{"id":"ecb69f21af2c0a9ca39b58589047c2ce","path":"assets/script/game/map/MissionMonComp.ts","line_range":"19-25","gmt_create":"2025-10-29T16:45:53.9036071+08:00","gmt_modified":"2025-10-29T16:45:53.9036071+08:00"},{"id":"25662ed6c41a80693fb7a3d396d0da7d","path":"assets/script/game/map/MissionMonComp.ts","line_range":"177-191","gmt_create":"2025-10-29T16:45:53.9080521+08:00","gmt_modified":"2025-10-29T16:45:53.9080521+08:00"},{"id":"fc32e6130be7a1ba4d058a3ad1364222","path":"assets/script/game/hero/Mon.ts","line_range":"61-108","gmt_create":"2025-10-29T16:45:53.9124121+08:00","gmt_modified":"2025-10-29T16:45:53.9124121+08:00"},{"id":"4c5b7fc60d7644b2b51f5c105d03003b","path":"assets/resources/config/map/map.json","line_range":"1-11","gmt_create":"2025-10-29T16:45:53.9195251+08:00","gmt_modified":"2025-10-29T16:45:53.9195251+08:00"},{"id":"9f9d6e57f8784e13a3b01a9f224eb81d","path":"assets/resources/config/map/map_delivery.json","line_range":"1-29","gmt_create":"2025-10-29T16:45:53.9233476+08:00","gmt_modified":"2025-10-29T16:45:53.9233476+08:00"},{"id":"3afb16f8d81e36bba305ab123b824da7","path":"assets/script/game/map/MissionMonComp.ts","line_range":"1-239","gmt_create":"2025-10-29T16:45:53.9311607+08:00","gmt_modified":"2025-10-29T16:45:53.9311607+08:00"},{"id":"83e8b4c0b27ff843dbeb86a5227092f1","path":"assets/script/game/common/config/heroSet.ts","line_range":"1-151","gmt_create":"2025-10-29T16:45:53.9363025+08:00","gmt_modified":"2025-10-29T16:45:53.9363025+08:00"},{"id":"7d4659e3f4037ac293718bb2acc03e23","path":"assets/script/game/map/RogueConfig.ts","line_range":"31-88","gmt_create":"2025-10-29T16:47:31.7994165+08:00","gmt_modified":"2025-10-29T16:47:31.7994165+08:00"},{"id":"2d101fe07b03aadbe1b5dbfcf26de5ae","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"72-778","gmt_create":"2025-10-29T16:47:31.8045581+08:00","gmt_modified":"2025-10-29T16:47:31.8045581+08:00"},{"id":"df3805ee6cf63b4ad2dec695168605ba","path":"assets/script/game/hero/Mon.ts","line_range":"35-58","gmt_create":"2025-10-29T16:47:31.8096563+08:00","gmt_modified":"2025-10-29T16:47:31.8096563+08:00"},{"id":"e1edd04a4bd4d235e1b7cf47d8e5d4dd","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"10-271","gmt_create":"2025-10-29T16:47:31.8213861+08:00","gmt_modified":"2025-10-29T16:47:31.8213861+08:00"},{"id":"edd870772e59d6103353d2b4af4ff406","path":"assets/script/game/common/ecs/position/BattleMoveComp.ts","line_range":"3-15","gmt_create":"2025-10-29T16:47:31.8269652+08:00","gmt_modified":"2025-10-29T16:47:31.8269652+08:00"},{"id":"a4af501ccb4b798ce6e4446b283ef35c","path":"assets/script/game/common/config/heroSet.ts","line_range":"60-152","gmt_create":"2025-10-29T16:47:31.8326755+08:00","gmt_modified":"2025-10-29T16:47:31.8326755+08:00"},{"id":"d0de087696f83e63e9158e0f0edf6842","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"1-10","gmt_create":"2025-10-29T16:47:31.8394912+08:00","gmt_modified":"2025-10-29T16:47:31.8394912+08:00"},{"id":"531fec51305c0d692e33d02a84e83e2e","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"10-50","gmt_create":"2025-10-29T16:47:31.8453548+08:00","gmt_modified":"2025-10-29T16:47:31.8453548+08:00"},{"id":"b803464f63cf7bdefea90d1bde317179","path":"assets/script/game/map/VictoryComp.ts","line_range":"15-75","gmt_create":"2025-10-29T16:47:38.1404861+08:00","gmt_modified":"2025-10-29T16:47:38.1404861+08:00"},{"id":"91d725f6202f7ba0231f1738bf3667b0","path":"assets/script/game/map/MissionHeroComp.ts","line_range":"12-81","gmt_create":"2025-10-29T16:47:38.1456163+08:00","gmt_modified":"2025-10-29T16:47:38.1456163+08:00"},{"id":"84452177be5d44a04a15be16121b2ee0","path":"assets/script/game/map/MissionMonComp.ts","line_range":"15-240","gmt_create":"2025-10-29T16:47:38.1503746+08:00","gmt_modified":"2025-10-29T16:47:38.1503746+08:00"},{"id":"b7311385fba4b280d656ebc84fa6f3d4","path":"assets/script/game/map/MissionHomeComp.ts","line_range":"12-54","gmt_create":"2025-10-29T16:47:38.1564437+08:00","gmt_modified":"2025-10-29T16:47:38.1564437+08:00"},{"id":"ec0bf85d49105c08ed9c5a2751888915","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"25-195","gmt_create":"2025-10-29T16:47:38.16231+08:00","gmt_modified":"2025-10-29T16:47:38.16231+08:00"},{"id":"d4e4bdea8e072773032e6f30ebce57f6","path":"assets/script/game/map/MissionHomeComp.ts","line_range":"1-54","gmt_create":"2025-10-29T16:47:38.169063+08:00","gmt_modified":"2025-10-29T16:47:38.169063+08:00"},{"id":"9e0c68e50c643d5f7af407756d6adfce","path":"assets/script/game/map/MissionComp.ts","line_range":"32-35","gmt_create":"2025-10-29T16:47:38.1778639+08:00","gmt_modified":"2025-10-29T16:47:38.1778639+08:00"},{"id":"365e75c0bf2b76926c4223cb137c3028","path":"assets/script/game/common/config/GameEvent.ts","line_range":"40-41","gmt_create":"2025-10-29T16:47:38.1847878+08:00","gmt_modified":"2025-10-29T16:47:38.1847878+08:00"},{"id":"0a9b317310869ff6fdc9e9e59b553d73","path":"assets/script/game/common/config/GameUIConfig.ts","line_range":"12-13","gmt_create":"2025-10-29T16:47:38.1888073+08:00","gmt_modified":"2025-10-29T16:47:38.1888073+08:00"},{"id":"c9a38e9eae1cbfa5fe601fab3febad56","path":"assets/script/game/map/MissionComp.ts","line_range":"55-65","gmt_create":"2025-10-29T16:47:38.1933169+08:00","gmt_modified":"2025-10-29T16:47:38.1933169+08:00"},{"id":"099fc495f0332ae0b2d2719b92dec19f","path":"assets/script/game/map/MissionMonComp.ts","line_range":"15-199","gmt_create":"2025-10-29T16:47:38.2004621+08:00","gmt_modified":"2025-10-29T16:47:38.2004621+08:00"},{"id":"9b6f22f170e6137f879aad6572d4be18","path":"assets/script/game/map/MissionComp.ts","line_range":"47-52","gmt_create":"2025-10-29T16:47:38.2049092+08:00","gmt_modified":"2025-10-29T16:47:38.2049092+08:00"},{"id":"c5fe161d1d347bd0ab30ecefa4f94647","path":"assets/script/game/map/MissionMonComp.ts","line_range":"47-52","gmt_create":"2025-10-29T16:47:38.2108421+08:00","gmt_modified":"2025-10-29T16:47:38.2108421+08:00"},{"id":"a3f65f0057ec697d390f8df475c04a21","path":"assets/script/game/map/MissionHomeComp.ts","line_range":"25-35","gmt_create":"2025-10-29T16:47:38.2157801+08:00","gmt_modified":"2025-10-29T16:47:38.2157801+08:00"},{"id":"5e2bdb9582767e3b3d2662c0d58e8148","path":"assets/script/game/map/RogueConfig.ts","line_range":"65-73","gmt_create":"2025-10-29T16:47:38.2227186+08:00","gmt_modified":"2025-10-29T16:47:38.2227186+08:00"},{"id":"549d119d101793b19391ce7b37a146f2","path":"assets/script/game/map/VictoryComp.ts","line_range":"28-42","gmt_create":"2025-10-29T16:47:38.2279601+08:00","gmt_modified":"2025-10-29T16:47:38.2279601+08:00"},{"id":"72f760e39feb004d59c86d33671e7e40","path":"assets/script/game/map/VictoryComp.ts","line_range":"18-25","gmt_create":"2025-10-29T16:47:38.2325569+08:00","gmt_modified":"2025-10-29T16:47:38.2325569+08:00"},{"id":"05aa73eb4f723f96abe045e46a9fa7b3","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"45-65","gmt_create":"2025-10-29T16:47:38.2380678+08:00","gmt_modified":"2025-10-29T16:47:38.2380678+08:00"},{"id":"a203612193e05f2a76dbf9d2a73205e4","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"25-45","gmt_create":"2025-10-29T16:47:38.2433813+08:00","gmt_modified":"2025-10-29T16:47:38.2433813+08:00"},{"id":"9993b9e10feac19ed85b5a03998b61fe","path":"assets/script/game/map/MissionComp.ts","line_range":"130-140","gmt_create":"2025-10-29T16:47:38.2487138+08:00","gmt_modified":"2025-10-29T16:47:38.2487138+08:00"},{"id":"2f2f29cbf0539f28d076a551ba721dc4","path":"assets/script/game/map/VictoryComp.ts","line_range":"44-50","gmt_create":"2025-10-29T16:47:38.2581914+08:00","gmt_modified":"2025-10-29T16:47:38.2581914+08:00"},{"id":"3abeaf96fae91890c9ddeef80c0dbf61","path":"assets/script/game/map/VictoryComp.ts","line_range":"44-65","gmt_create":"2025-10-29T16:47:38.2646401+08:00","gmt_modified":"2025-10-29T16:47:38.2646401+08:00"},{"id":"20855fa3c479ba786c9b4102055d35ad","path":"assets/script/game/map/VictoryComp.ts","line_range":"44-75","gmt_create":"2025-10-29T16:47:38.2739604+08:00","gmt_modified":"2025-10-29T16:47:38.2739604+08:00"},{"id":"ad9fc393dbffdc1f87f168341900906f","path":"assets/script/game/map/MissionComp.ts","line_range":"140-151","gmt_create":"2025-10-29T16:47:38.2812819+08:00","gmt_modified":"2025-10-29T16:47:38.2812819+08:00"},{"id":"ee971c9c2eba0089530b38ab58776893","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"100-150","gmt_create":"2025-10-29T16:47:38.287218+08:00","gmt_modified":"2025-10-29T16:47:38.287218+08:00"},{"id":"7e01a78db6d0d1b47f507bcc9a225c5b","path":"assets/script/Main.ts","line_range":"1-41","gmt_create":"2025-10-29T16:47:39.4364544+08:00","gmt_modified":"2025-10-29T16:47:39.4364544+08:00"},{"id":"f8f423ce39f6aef6484456489dc3d7f0","path":"assets/script/game/initialize/Initialize.ts","line_range":"1-207","gmt_create":"2025-10-29T16:47:39.4413805+08:00","gmt_modified":"2025-10-29T16:47:39.4413805+08:00"},{"id":"f6204bd47a4ab402fc82502942e8e2ae","path":"assets/script/game/initialize/view/LoadingViewComp.ts","line_range":"1-91","gmt_create":"2025-10-29T16:47:39.4465759+08:00","gmt_modified":"2025-10-29T16:47:39.4465759+08:00"},{"id":"11603f48619a420f074e29a9fce83432","path":"assets/script/game/initialize/Initialize.ts","line_range":"25-40","gmt_create":"2025-10-29T16:47:39.4523409+08:00","gmt_modified":"2025-10-29T16:47:39.4523409+08:00"},{"id":"93e528ba990fd4b108b47405c34d63ae","path":"assets/script/game/initialize/view/LoadingViewComp.ts","line_range":"75-91","gmt_create":"2025-10-29T16:47:39.4582432+08:00","gmt_modified":"2025-10-29T16:47:39.4582432+08:00"},{"id":"d2047033b4b21ec79418ab611173354f","path":"assets/script/game/initialize/Initialize.ts","line_range":"42-207","gmt_create":"2025-10-29T16:47:39.4636639+08:00","gmt_modified":"2025-10-29T16:47:39.4636639+08:00"},{"id":"65365d0af6e09e40842dad0d46135fba","path":"assets/script/game/initialize/view/LoadingViewComp.ts","line_range":"50-91","gmt_create":"2025-10-29T16:47:39.4691972+08:00","gmt_modified":"2025-10-29T16:47:39.4691972+08:00"},{"id":"b9a7e30eb09bcefd0f401120b7f4ee90","path":"assets/script/game/common/config/GameEvent.ts","line_range":"1-70","gmt_create":"2025-10-29T16:47:39.4739071+08:00","gmt_modified":"2025-10-29T16:47:39.4739071+08:00"},{"id":"cab85760490510ff7b49d6a4cfa68f76","path":"doc/core/common/event.md","line_range":"1-44","gmt_create":"2025-10-29T16:47:39.4791357+08:00","gmt_modified":"2025-10-29T16:47:39.4791357+08:00"},{"id":"77afe4cff7ba3b829ddd89df108e43a8","path":"doc/core/common/loader.md","line_range":"1-91","gmt_create":"2025-10-29T16:47:39.4849899+08:00","gmt_modified":"2025-10-29T16:47:39.4849899+08:00"},{"id":"a36042df076f59536a7e789c89b09c7e","path":"doc/core/common/storage.md","line_range":"1-39","gmt_create":"2025-10-29T16:47:39.4899689+08:00","gmt_modified":"2025-10-29T16:47:39.4899689+08:00"},{"id":"89597afa0c8cea3ee5d848a27f2cfdd6","path":"assets/script/game/common/config/BoxSet.ts","line_range":"1-109","gmt_create":"2025-10-29T16:47:39.4953656+08:00","gmt_modified":"2025-10-29T16:47:39.4953656+08:00"},{"id":"801a299cee93b05d6ff689b2f9066b4c","path":"assets/script/game/map/RogueConfig.ts","line_range":"21-23","gmt_create":"2025-10-29T16:47:39.4998194+08:00","gmt_modified":"2025-10-29T16:47:39.4998194+08:00"},{"id":"bfbf4afa635806338197ae22839e7ddb","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"1-194","gmt_create":"2025-10-29T16:47:39.5082774+08:00","gmt_modified":"2025-10-29T16:47:39.5082774+08:00"},{"id":"f11a94deb1fe186076b31a00340b218b","path":"assets/script/game/map/RogueConfig.ts","line_range":"0-178","gmt_create":"2025-10-29T16:47:39.5158162+08:00","gmt_modified":"2025-10-29T16:47:39.5158162+08:00"}],"commits":[{"id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","message":"feat(怪物系统): 重构怪物生成逻辑并添加多种怪物类型","gmt_create":"2025-10-29T16:45:27.2668465+08:00","gmt_modified":"2025-10-29T16:45:27.2668465+08:00"},{"id":"166200af73e0d105a939a35ef32facab9fef8d21","message":"刷怪 未完成","gmt_create":"2025-10-29T16:45:39.7862809+08:00","gmt_modified":"2025-10-29T16:45:39.7862809+08:00"}],"knowledge_relations":[{"id":278,"source_id":"0a13f8c1-24c6-442a-9241-f01982a6b5dc","target_id":"d29a354a-fc25-4963-aa87-5664d66c3811","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0a13f8c1-24c6-442a-9241-f01982a6b5dc -\u003e d29a354a-fc25-4963-aa87-5664d66c3811","gmt_create":"2025-10-28T11:34:05+08:00","gmt_modified":"2025-10-28T11:34:05+08:00"},{"id":279,"source_id":"0a13f8c1-24c6-442a-9241-f01982a6b5dc","target_id":"39beb0ad-e23e-47ec-94f1-a96aba22c020","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0a13f8c1-24c6-442a-9241-f01982a6b5dc -\u003e 39beb0ad-e23e-47ec-94f1-a96aba22c020","gmt_create":"2025-10-28T11:34:05+08:00","gmt_modified":"2025-10-28T11:34:05+08:00"},{"id":280,"source_id":"0a13f8c1-24c6-442a-9241-f01982a6b5dc","target_id":"d81aca04-36f1-4006-8585-11c9082481d9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0a13f8c1-24c6-442a-9241-f01982a6b5dc -\u003e d81aca04-36f1-4006-8585-11c9082481d9","gmt_create":"2025-10-28T11:34:05+08:00","gmt_modified":"2025-10-28T11:34:05+08:00"},{"id":281,"source_id":"ebb9b717-3c81-41dd-882b-87e80cfd0240","target_id":"e4b64990-08b7-4e59-afc1-d10f360758d7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ebb9b717-3c81-41dd-882b-87e80cfd0240 -\u003e e4b64990-08b7-4e59-afc1-d10f360758d7","gmt_create":"2025-10-28T11:34:05+08:00","gmt_modified":"2025-10-28T11:34:05+08:00"},{"id":282,"source_id":"ebb9b717-3c81-41dd-882b-87e80cfd0240","target_id":"98dea568-f687-4236-95f9-cc996dadd644","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ebb9b717-3c81-41dd-882b-87e80cfd0240 -\u003e 98dea568-f687-4236-95f9-cc996dadd644","gmt_create":"2025-10-28T11:34:05+08:00","gmt_modified":"2025-10-28T11:34:05+08:00"},{"id":283,"source_id":"ebb9b717-3c81-41dd-882b-87e80cfd0240","target_id":"a4565400-edc7-4a2d-856b-bc79c5d942f8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ebb9b717-3c81-41dd-882b-87e80cfd0240 -\u003e a4565400-edc7-4a2d-856b-bc79c5d942f8","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":284,"source_id":"ebb9b717-3c81-41dd-882b-87e80cfd0240","target_id":"b94c71a5-c1f5-4ffd-abcb-b01ed6c8c5b0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ebb9b717-3c81-41dd-882b-87e80cfd0240 -\u003e b94c71a5-c1f5-4ffd-abcb-b01ed6c8c5b0","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":292,"source_id":"107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0","target_id":"ffc251d1-0ade-46f8-b3f4-476510152402","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0 -\u003e ffc251d1-0ade-46f8-b3f4-476510152402","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":293,"source_id":"107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0","target_id":"a6611122-3057-4a84-9bf9-636e56b15af5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0 -\u003e a6611122-3057-4a84-9bf9-636e56b15af5","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":294,"source_id":"107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0","target_id":"f33f7659-0332-4949-9b58-5420ff6534dc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0 -\u003e f33f7659-0332-4949-9b58-5420ff6534dc","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":295,"source_id":"107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0","target_id":"7ee27901-9955-4c81-b180-33cf3033c370","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0 -\u003e 7ee27901-9955-4c81-b180-33cf3033c370","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":296,"source_id":"107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0","target_id":"dacc2fcb-6e97-4fdf-9cac-f56a93ca1a60","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0 -\u003e dacc2fcb-6e97-4fdf-9cac-f56a93ca1a60","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":297,"source_id":"ec26c4e1-ce0e-4c03-9571-406920b91d0c","target_id":"182da3a0-12d6-4d18-b742-b441b0ee6c38","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ec26c4e1-ce0e-4c03-9571-406920b91d0c -\u003e 182da3a0-12d6-4d18-b742-b441b0ee6c38","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":298,"source_id":"ec26c4e1-ce0e-4c03-9571-406920b91d0c","target_id":"01e1db93-e5cf-49d2-996d-a0d81b519010","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ec26c4e1-ce0e-4c03-9571-406920b91d0c -\u003e 01e1db93-e5cf-49d2-996d-a0d81b519010","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":299,"source_id":"ec26c4e1-ce0e-4c03-9571-406920b91d0c","target_id":"159d642d-3c56-4002-9e34-9bbd7a4bbc50","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ec26c4e1-ce0e-4c03-9571-406920b91d0c -\u003e 159d642d-3c56-4002-9e34-9bbd7a4bbc50","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":300,"source_id":"9d9258de-be13-401b-8368-d77dead75e64","target_id":"22ae3672-3500-4960-befd-e2ec5a94245f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 9d9258de-be13-401b-8368-d77dead75e64 -\u003e 22ae3672-3500-4960-befd-e2ec5a94245f","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":301,"source_id":"9d9258de-be13-401b-8368-d77dead75e64","target_id":"20d07e15-56b8-4beb-8b5e-0b756d3bd0d2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 9d9258de-be13-401b-8368-d77dead75e64 -\u003e 20d07e15-56b8-4beb-8b5e-0b756d3bd0d2","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":302,"source_id":"9d9258de-be13-401b-8368-d77dead75e64","target_id":"e8f35846-5848-4f7f-959b-9463d65ef321","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 9d9258de-be13-401b-8368-d77dead75e64 -\u003e e8f35846-5848-4f7f-959b-9463d65ef321","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":303,"source_id":"9d9258de-be13-401b-8368-d77dead75e64","target_id":"74a1f75f-ae01-4771-b9c6-f3f4dc59f585","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 9d9258de-be13-401b-8368-d77dead75e64 -\u003e 74a1f75f-ae01-4771-b9c6-f3f4dc59f585","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":304,"source_id":"98dea568-f687-4236-95f9-cc996dadd644","target_id":"3ba7a10d-361d-4d03-90f8-e368b9caa14f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98dea568-f687-4236-95f9-cc996dadd644 -\u003e 3ba7a10d-361d-4d03-90f8-e368b9caa14f","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":305,"source_id":"98dea568-f687-4236-95f9-cc996dadd644","target_id":"42730c35-6947-4076-a381-fd56f8b100c9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98dea568-f687-4236-95f9-cc996dadd644 -\u003e 42730c35-6947-4076-a381-fd56f8b100c9","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":306,"source_id":"60e8c935-ed45-4f9f-a284-ae4de8f71ad7","target_id":"49d543a3-7880-444a-a582-96fded56f8bf","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 60e8c935-ed45-4f9f-a284-ae4de8f71ad7 -\u003e 49d543a3-7880-444a-a582-96fded56f8bf","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":307,"source_id":"60e8c935-ed45-4f9f-a284-ae4de8f71ad7","target_id":"0258adb5-2ff8-467e-b3fb-9ce228f85ca5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 60e8c935-ed45-4f9f-a284-ae4de8f71ad7 -\u003e 0258adb5-2ff8-467e-b3fb-9ce228f85ca5","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":308,"source_id":"60e8c935-ed45-4f9f-a284-ae4de8f71ad7","target_id":"e3ae1f8f-f8fc-415e-8516-b317471d66a3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 60e8c935-ed45-4f9f-a284-ae4de8f71ad7 -\u003e e3ae1f8f-f8fc-415e-8516-b317471d66a3","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":309,"source_id":"60e8c935-ed45-4f9f-a284-ae4de8f71ad7","target_id":"ec11fdb4-ba0f-44ad-8e23-d01a6923bd2d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 60e8c935-ed45-4f9f-a284-ae4de8f71ad7 -\u003e ec11fdb4-ba0f-44ad-8e23-d01a6923bd2d","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":310,"source_id":"dbd69313-c4a3-4133-a77f-b02c3b677d4c","target_id":"8d93c39c-d39e-4f31-8a04-2ee12de06ef1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dbd69313-c4a3-4133-a77f-b02c3b677d4c -\u003e 8d93c39c-d39e-4f31-8a04-2ee12de06ef1","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":311,"source_id":"dbd69313-c4a3-4133-a77f-b02c3b677d4c","target_id":"6df7bdcd-d5f5-4590-8058-771d347d7305","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dbd69313-c4a3-4133-a77f-b02c3b677d4c -\u003e 6df7bdcd-d5f5-4590-8058-771d347d7305","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":312,"source_id":"dbd69313-c4a3-4133-a77f-b02c3b677d4c","target_id":"54d5501d-4bb5-4611-b733-66f1dd8b0f59","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dbd69313-c4a3-4133-a77f-b02c3b677d4c -\u003e 54d5501d-4bb5-4611-b733-66f1dd8b0f59","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":313,"source_id":"a5e40246-3fb0-4bac-a1df-9d5c7fcca979","target_id":"1423e63a-5644-4c10-b135-5e7a56af8535","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a5e40246-3fb0-4bac-a1df-9d5c7fcca979 -\u003e 1423e63a-5644-4c10-b135-5e7a56af8535","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":314,"source_id":"a5e40246-3fb0-4bac-a1df-9d5c7fcca979","target_id":"a9de2c19-d4a1-4b64-a3ba-88d177bd75ce","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a5e40246-3fb0-4bac-a1df-9d5c7fcca979 -\u003e a9de2c19-d4a1-4b64-a3ba-88d177bd75ce","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":315,"source_id":"a5e40246-3fb0-4bac-a1df-9d5c7fcca979","target_id":"97b34f91-2306-47ba-8576-a468753c0fd3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a5e40246-3fb0-4bac-a1df-9d5c7fcca979 -\u003e 97b34f91-2306-47ba-8576-a468753c0fd3","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":326,"source_id":"42730c35-6947-4076-a381-fd56f8b100c9","target_id":"3381a563-018d-47ee-bbdf-cb561eeb0919","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42730c35-6947-4076-a381-fd56f8b100c9 -\u003e 3381a563-018d-47ee-bbdf-cb561eeb0919","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":327,"source_id":"42730c35-6947-4076-a381-fd56f8b100c9","target_id":"4a391b7a-e1f2-4069-ad6c-3e523ad16a77","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42730c35-6947-4076-a381-fd56f8b100c9 -\u003e 4a391b7a-e1f2-4069-ad6c-3e523ad16a77","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":328,"source_id":"42730c35-6947-4076-a381-fd56f8b100c9","target_id":"9c34142f-6da2-4692-afec-b02acc499e3c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42730c35-6947-4076-a381-fd56f8b100c9 -\u003e 9c34142f-6da2-4692-afec-b02acc499e3c","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":329,"source_id":"42730c35-6947-4076-a381-fd56f8b100c9","target_id":"a69998fa-4870-45b1-ad70-dca470d8570f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42730c35-6947-4076-a381-fd56f8b100c9 -\u003e a69998fa-4870-45b1-ad70-dca470d8570f","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":330,"source_id":"727a0a93-5ad1-4c61-bfe2-48f3da1a2f08","target_id":"dfdc4503-fbb1-40db-82fb-1726f1d1f05e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 727a0a93-5ad1-4c61-bfe2-48f3da1a2f08 -\u003e dfdc4503-fbb1-40db-82fb-1726f1d1f05e","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":331,"source_id":"727a0a93-5ad1-4c61-bfe2-48f3da1a2f08","target_id":"1ea25562-e2c7-4a6d-bfc7-95127c628533","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 727a0a93-5ad1-4c61-bfe2-48f3da1a2f08 -\u003e 1ea25562-e2c7-4a6d-bfc7-95127c628533","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":332,"source_id":"a9de2c19-d4a1-4b64-a3ba-88d177bd75ce","target_id":"629904a1-012a-4bad-9218-42a49a289a17","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9de2c19-d4a1-4b64-a3ba-88d177bd75ce -\u003e 629904a1-012a-4bad-9218-42a49a289a17","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":333,"source_id":"a9de2c19-d4a1-4b64-a3ba-88d177bd75ce","target_id":"126ae057-4cfe-4772-a43b-546a20ab24de","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9de2c19-d4a1-4b64-a3ba-88d177bd75ce -\u003e 126ae057-4cfe-4772-a43b-546a20ab24de","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":334,"source_id":"a9de2c19-d4a1-4b64-a3ba-88d177bd75ce","target_id":"11fba005-b594-44d9-b417-a70f44769d1b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9de2c19-d4a1-4b64-a3ba-88d177bd75ce -\u003e 11fba005-b594-44d9-b417-a70f44769d1b","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":335,"source_id":"a9de2c19-d4a1-4b64-a3ba-88d177bd75ce","target_id":"e0b48c74-4b18-43ef-826c-6011362c3e08","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9de2c19-d4a1-4b64-a3ba-88d177bd75ce -\u003e e0b48c74-4b18-43ef-826c-6011362c3e08","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":336,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"1ef3de5b733336220af07558e8524092","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-29T16:45:27.0232745+08:00","gmt_modified":"2025-10-29T16:45:27.0232745+08:00"},{"id":337,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"ce0ec3b705bb28e957d6d14681ffdca2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/Tasks.ts","gmt_create":"2025-10-29T16:45:27.0278665+08:00","gmt_modified":"2025-10-29T16:45:27.0278665+08:00"},{"id":338,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"07f8913ce2d72e8a58de070f0f32c097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-29T16:45:27.0317806+08:00","gmt_modified":"2025-10-29T16:45:27.0317806+08:00"},{"id":339,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"55b95d946e8311cf4b51347c35fdd239","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHeroComp.ts","gmt_create":"2025-10-29T16:45:27.0357402+08:00","gmt_modified":"2025-10-29T16:45:27.0357402+08:00"},{"id":340,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-29T16:45:27.039691+08:00","gmt_modified":"2025-10-29T16:45:27.039691+08:00"},{"id":341,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"76d8975e90e717d01c6dd43c3696f63b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-29T16:45:27.0442139+08:00","gmt_modified":"2025-10-29T16:45:27.0442139+08:00"},{"id":342,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"8c384aae8f912ab9228f0ad8185f7977","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/VictoryComp.ts","gmt_create":"2025-10-29T16:45:27.0486995+08:00","gmt_modified":"2025-10-29T16:45:27.0486995+08:00"},{"id":343,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"a179921633204a04508698cabd51dc3f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameUIConfig.ts","gmt_create":"2025-10-29T16:45:27.0525587+08:00","gmt_modified":"2025-10-29T16:45:27.0525587+08:00"},{"id":344,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-29T16:45:27.0565125+08:00","gmt_modified":"2025-10-29T16:45:27.0565125+08:00"},{"id":345,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-29T16:45:27.0607986+08:00","gmt_modified":"2025-10-29T16:45:27.0607986+08:00"},{"id":346,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"54e9ade54b1a5062bcca7bde48ab68a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-29T16:45:27.0657805+08:00","gmt_modified":"2025-10-29T16:45:27.0657805+08:00"},{"id":347,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"f0a95fd5b8d3a53b53f9b1fab22c4892","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/TalSet.ts","gmt_create":"2025-10-29T16:45:27.0697178+08:00","gmt_modified":"2025-10-29T16:45:27.0697178+08:00"},{"id":348,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-29T16:45:27.0746904+08:00","gmt_modified":"2025-10-29T16:45:27.0746904+08:00"},{"id":349,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"f1792db4ad8d94789b11cde132a58c15","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#1-151","gmt_create":"2025-10-29T16:45:27.080528+08:00","gmt_modified":"2025-10-29T16:45:27.080528+08:00"},{"id":350,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"f1792db4ad8d94789b11cde132a58c15","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-151","gmt_create":"2025-10-29T16:45:27.0849751+08:00","gmt_modified":"2025-10-29T16:45:27.0849751+08:00"},{"id":351,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"5c8708ef78c4ca548eb2ce6b279b75ed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#1-75","gmt_create":"2025-10-29T16:45:27.0899513+08:00","gmt_modified":"2025-10-29T16:45:27.0899513+08:00"},{"id":352,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"5c8708ef78c4ca548eb2ce6b279b75ed","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-75","gmt_create":"2025-10-29T16:45:27.0945526+08:00","gmt_modified":"2025-10-29T16:45:27.0945526+08:00"},{"id":353,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"3278c84d1eb6aecf068fb57c66f64e3e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#1-41","gmt_create":"2025-10-29T16:45:27.0989519+08:00","gmt_modified":"2025-10-29T16:45:27.0989519+08:00"},{"id":354,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"3278c84d1eb6aecf068fb57c66f64e3e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-41","gmt_create":"2025-10-29T16:45:27.102791+08:00","gmt_modified":"2025-10-29T16:45:27.102791+08:00"},{"id":355,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"9bb3b0d6ae62d8a89e6d6bea191fac71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#15-151","gmt_create":"2025-10-29T16:45:27.107831+08:00","gmt_modified":"2025-10-29T16:45:27.107831+08:00"},{"id":356,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9bb3b0d6ae62d8a89e6d6bea191fac71","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-151","gmt_create":"2025-10-29T16:45:27.1124567+08:00","gmt_modified":"2025-10-29T16:45:27.1124567+08:00"},{"id":357,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"7232a510e1fe5bf4baa29606d55a732a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#20-41","gmt_create":"2025-10-29T16:45:27.1170066+08:00","gmt_modified":"2025-10-29T16:45:27.1170066+08:00"},{"id":358,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"7232a510e1fe5bf4baa29606d55a732a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-41","gmt_create":"2025-10-29T16:45:27.1225165+08:00","gmt_modified":"2025-10-29T16:45:27.1225165+08:00"},{"id":359,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"f94423bec96eddd2f3f51c41a5654881","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#25-75","gmt_create":"2025-10-29T16:45:27.1298067+08:00","gmt_modified":"2025-10-29T16:45:27.1298067+08:00"},{"id":360,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"f94423bec96eddd2f3f51c41a5654881","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-75","gmt_create":"2025-10-29T16:45:27.1342952+08:00","gmt_modified":"2025-10-29T16:45:27.1342952+08:00"},{"id":361,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"72c29ea9fe1fd4c7e9189677fcfbd707","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#1-81","gmt_create":"2025-10-29T16:45:27.1398225+08:00","gmt_modified":"2025-10-29T16:45:27.1398225+08:00"},{"id":362,"source_id":"55b95d946e8311cf4b51347c35fdd239","target_id":"72c29ea9fe1fd4c7e9189677fcfbd707","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-81","gmt_create":"2025-10-29T16:45:27.1434301+08:00","gmt_modified":"2025-10-29T16:45:27.1434301+08:00"},{"id":363,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-240","gmt_create":"2025-10-29T16:45:27.1486475+08:00","gmt_modified":"2025-10-29T16:45:27.1486475+08:00"},{"id":364,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-240","gmt_create":"2025-10-29T16:45:27.1540897+08:00","gmt_modified":"2025-10-29T16:45:27.1540897+08:00"},{"id":365,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"19937d9863d6462cde11b752a8cdb27e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/Mission.ts#1-60","gmt_create":"2025-10-29T16:45:27.1596613+08:00","gmt_modified":"2025-10-29T16:45:27.1596613+08:00"},{"id":366,"source_id":"1ef3de5b733336220af07558e8524092","target_id":"19937d9863d6462cde11b752a8cdb27e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-60","gmt_create":"2025-10-29T16:45:27.1640752+08:00","gmt_modified":"2025-10-29T16:45:27.1640752+08:00"},{"id":367,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"d56b3ca6bf1962fb60a5651241006c2c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#25-47","gmt_create":"2025-10-29T16:45:27.1684959+08:00","gmt_modified":"2025-10-29T16:45:27.1684959+08:00"},{"id":368,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"d56b3ca6bf1962fb60a5651241006c2c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-47","gmt_create":"2025-10-29T16:45:27.1724323+08:00","gmt_modified":"2025-10-29T16:45:27.1724323+08:00"},{"id":369,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"546c749070d5836e4b3fae2548a9895a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#1-544","gmt_create":"2025-10-29T16:45:27.1780405+08:00","gmt_modified":"2025-10-29T16:45:27.1780405+08:00"},{"id":370,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"546c749070d5836e4b3fae2548a9895a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-544","gmt_create":"2025-10-29T16:45:27.1827038+08:00","gmt_modified":"2025-10-29T16:45:27.1827038+08:00"},{"id":371,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"8d5ff907f0988cbdb88574bf8d540aed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/TalSet.ts#68-114","gmt_create":"2025-10-29T16:45:27.1874344+08:00","gmt_modified":"2025-10-29T16:45:27.1874344+08:00"},{"id":372,"source_id":"f0a95fd5b8d3a53b53f9b1fab22c4892","target_id":"8d5ff907f0988cbdb88574bf8d540aed","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 68-114","gmt_create":"2025-10-29T16:45:27.1913096+08:00","gmt_modified":"2025-10-29T16:45:27.1913096+08:00"},{"id":373,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"312cd7280aa8d1ccd62d755d701c9fe5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#40-50","gmt_create":"2025-10-29T16:45:27.1960244+08:00","gmt_modified":"2025-10-29T16:45:27.1960244+08:00"},{"id":374,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"312cd7280aa8d1ccd62d755d701c9fe5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-50","gmt_create":"2025-10-29T16:45:27.2012423+08:00","gmt_modified":"2025-10-29T16:45:27.2012423+08:00"},{"id":375,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"75dff503ca30d0964e43596822727ce2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#80-95","gmt_create":"2025-10-29T16:45:27.2069604+08:00","gmt_modified":"2025-10-29T16:45:27.2069604+08:00"},{"id":376,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"75dff503ca30d0964e43596822727ce2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 80-95","gmt_create":"2025-10-29T16:45:27.2114121+08:00","gmt_modified":"2025-10-29T16:45:27.2114121+08:00"},{"id":377,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"6af28cda4e019cc7dc14e024f099de35","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#25-40","gmt_create":"2025-10-29T16:45:27.2170216+08:00","gmt_modified":"2025-10-29T16:45:27.2170216+08:00"},{"id":378,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"6af28cda4e019cc7dc14e024f099de35","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-40","gmt_create":"2025-10-29T16:45:27.2220666+08:00","gmt_modified":"2025-10-29T16:45:27.2220666+08:00"},{"id":379,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"947e5b1ccf20c4a4e3fde389b032aff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#15-30","gmt_create":"2025-10-29T16:45:27.2290076+08:00","gmt_modified":"2025-10-29T16:45:27.2290076+08:00"},{"id":380,"source_id":"55b95d946e8311cf4b51347c35fdd239","target_id":"947e5b1ccf20c4a4e3fde389b032aff6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-30","gmt_create":"2025-10-29T16:45:27.2331455+08:00","gmt_modified":"2025-10-29T16:45:27.2331455+08:00"},{"id":381,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"205893a617207b5b5300d1c459ccfa82","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#40-60","gmt_create":"2025-10-29T16:45:27.23765+08:00","gmt_modified":"2025-10-29T16:45:27.23765+08:00"},{"id":382,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"205893a617207b5b5300d1c459ccfa82","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-60","gmt_create":"2025-10-29T16:45:27.242672+08:00","gmt_modified":"2025-10-29T16:45:27.242672+08:00"},{"id":383,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"86a8863611343f013419fb6c5f486237","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#279-310","gmt_create":"2025-10-29T16:45:27.2477134+08:00","gmt_modified":"2025-10-29T16:45:27.2477134+08:00"},{"id":384,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"86a8863611343f013419fb6c5f486237","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 279-310","gmt_create":"2025-10-29T16:45:27.2527998+08:00","gmt_modified":"2025-10-29T16:45:27.2527998+08:00"},{"id":385,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"4f7c15d2dbfd4808706252c0e0196d6c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameUIConfig.ts#1-36","gmt_create":"2025-10-29T16:45:27.2578559+08:00","gmt_modified":"2025-10-29T16:45:27.2578559+08:00"},{"id":386,"source_id":"a179921633204a04508698cabd51dc3f","target_id":"4f7c15d2dbfd4808706252c0e0196d6c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-36","gmt_create":"2025-10-29T16:45:27.2622832+08:00","gmt_modified":"2025-10-29T16:45:27.2622832+08:00"},{"id":387,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","gmt_create":"2025-10-29T16:45:27.2701687+08:00","gmt_modified":"2025-10-29T16:45:27.2701687+08:00"},{"id":388,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-29T16:45:39.5784224+08:00","gmt_modified":"2025-10-29T16:45:39.5784224+08:00"},{"id":389,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-29T16:45:39.5839464+08:00","gmt_modified":"2025-10-29T16:45:39.5839464+08:00"},{"id":390,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-29T16:45:39.5885843+08:00","gmt_modified":"2025-10-29T16:45:39.5885843+08:00"},{"id":391,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"157f2716bf2263faca74bb5592afcf7f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/SkillSet.ts","gmt_create":"2025-10-29T16:45:39.5935345+08:00","gmt_modified":"2025-10-29T16:45:39.5935345+08:00"},{"id":392,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/GameMap.ts","gmt_create":"2025-10-29T16:45:39.5983482+08:00","gmt_modified":"2025-10-29T16:45:39.5983482+08:00"},{"id":393,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"45d35e995fd12eac98563d1f52f29c60","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#1-50","gmt_create":"2025-10-29T16:45:39.603229+08:00","gmt_modified":"2025-10-29T16:45:39.603229+08:00"},{"id":394,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"45d35e995fd12eac98563d1f52f29c60","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-29T16:45:39.607787+08:00","gmt_modified":"2025-10-29T16:45:39.607787+08:00"},{"id":395,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"bc5b41b084fa2c3300df5c9ae6ea209d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-40","gmt_create":"2025-10-29T16:45:39.6133842+08:00","gmt_modified":"2025-10-29T16:45:39.6133842+08:00"},{"id":396,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"bc5b41b084fa2c3300df5c9ae6ea209d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-40","gmt_create":"2025-10-29T16:45:39.6172844+08:00","gmt_modified":"2025-10-29T16:45:39.6172844+08:00"},{"id":397,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"d6a5fee55d8026bdae651866b55a6ceb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#1-173","gmt_create":"2025-10-29T16:45:39.6223353+08:00","gmt_modified":"2025-10-29T16:45:39.6223353+08:00"},{"id":398,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"d6a5fee55d8026bdae651866b55a6ceb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-173","gmt_create":"2025-10-29T16:45:39.6279416+08:00","gmt_modified":"2025-10-29T16:45:39.6279416+08:00"},{"id":399,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"b43e37e7d31c36e32b39d1e989faa564","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-200","gmt_create":"2025-10-29T16:45:39.6323395+08:00","gmt_modified":"2025-10-29T16:45:39.6323395+08:00"},{"id":400,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"b43e37e7d31c36e32b39d1e989faa564","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2025-10-29T16:45:39.6365395+08:00","gmt_modified":"2025-10-29T16:45:39.6365395+08:00"},{"id":401,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"20993cd959ec406c9fc95cb4c9e6bb40","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/GameMap.ts#1-35","gmt_create":"2025-10-29T16:45:39.6414407+08:00","gmt_modified":"2025-10-29T16:45:39.6414407+08:00"},{"id":402,"source_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","target_id":"20993cd959ec406c9fc95cb4c9e6bb40","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-35","gmt_create":"2025-10-29T16:45:39.6467991+08:00","gmt_modified":"2025-10-29T16:45:39.6467991+08:00"},{"id":403,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"1442be86a13f6fb82799c2fb135a5fbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#31-31","gmt_create":"2025-10-29T16:45:39.6508948+08:00","gmt_modified":"2025-10-29T16:45:39.6508948+08:00"},{"id":404,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"1442be86a13f6fb82799c2fb135a5fbc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-31","gmt_create":"2025-10-29T16:45:39.6553889+08:00","gmt_modified":"2025-10-29T16:45:39.6553889+08:00"},{"id":405,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"be1c3f7acfda1fb5cab3d04092e92aef","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#18-20","gmt_create":"2025-10-29T16:45:39.6609147+08:00","gmt_modified":"2025-10-29T16:45:39.6609147+08:00"},{"id":406,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"be1c3f7acfda1fb5cab3d04092e92aef","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-20","gmt_create":"2025-10-29T16:45:39.6653925+08:00","gmt_modified":"2025-10-29T16:45:39.6653925+08:00"},{"id":407,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"0dc975b996cbf540896bca917461e40b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/heroSet.ts#20-215","gmt_create":"2025-10-29T16:45:39.6724583+08:00","gmt_modified":"2025-10-29T16:45:39.6724583+08:00"},{"id":408,"source_id":"71296acfa18eb254aad4a491a38a0eeb","target_id":"0dc975b996cbf540896bca917461e40b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-215","gmt_create":"2025-10-29T16:45:39.6774623+08:00","gmt_modified":"2025-10-29T16:45:39.6774623+08:00"},{"id":409,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#95-173","gmt_create":"2025-10-29T16:45:39.6824783+08:00","gmt_modified":"2025-10-29T16:45:39.6824783+08:00"},{"id":410,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 95-173","gmt_create":"2025-10-29T16:45:39.6874576+08:00","gmt_modified":"2025-10-29T16:45:39.6874576+08:00"},{"id":411,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"271e91a8467b8c4327d0a28bc8f7dc32","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#35-40","gmt_create":"2025-10-29T16:45:39.6935509+08:00","gmt_modified":"2025-10-29T16:45:39.6935509+08:00"},{"id":412,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"271e91a8467b8c4327d0a28bc8f7dc32","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-40","gmt_create":"2025-10-29T16:45:39.6979531+08:00","gmt_modified":"2025-10-29T16:45:39.6979531+08:00"},{"id":413,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"961d1d50dc5e36b4a50c34b9e3380a39","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#45-56","gmt_create":"2025-10-29T16:45:39.7028969+08:00","gmt_modified":"2025-10-29T16:45:39.7028969+08:00"},{"id":414,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"961d1d50dc5e36b4a50c34b9e3380a39","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-56","gmt_create":"2025-10-29T16:45:39.7067031+08:00","gmt_modified":"2025-10-29T16:45:39.7067031+08:00"},{"id":415,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"ede8bf9e076d0cf971b1f8255da908df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#69-73","gmt_create":"2025-10-29T16:45:39.7123157+08:00","gmt_modified":"2025-10-29T16:45:39.7123157+08:00"},{"id":416,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"ede8bf9e076d0cf971b1f8255da908df","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 69-73","gmt_create":"2025-10-29T16:45:39.7168847+08:00","gmt_modified":"2025-10-29T16:45:39.7168847+08:00"},{"id":417,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"9538a29efbb0c28a5ae3cb1e7b3a60e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#102-136","gmt_create":"2025-10-29T16:45:39.7230094+08:00","gmt_modified":"2025-10-29T16:45:39.7230094+08:00"},{"id":418,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"9538a29efbb0c28a5ae3cb1e7b3a60e6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 102-136","gmt_create":"2025-10-29T16:45:39.7277093+08:00","gmt_modified":"2025-10-29T16:45:39.7277093+08:00"},{"id":419,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"48aa606e2a65a47fa62613c913befb09","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#45-85","gmt_create":"2025-10-29T16:45:39.733867+08:00","gmt_modified":"2025-10-29T16:45:39.733867+08:00"},{"id":420,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"48aa606e2a65a47fa62613c913befb09","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-85","gmt_create":"2025-10-29T16:45:39.7377537+08:00","gmt_modified":"2025-10-29T16:45:39.7377537+08:00"},{"id":421,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"e985a0cbfbcce38c9be0d4d9591857b6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/GameMap.ts#25-35","gmt_create":"2025-10-29T16:45:39.7427333+08:00","gmt_modified":"2025-10-29T16:45:39.7427333+08:00"},{"id":422,"source_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","target_id":"e985a0cbfbcce38c9be0d4d9591857b6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-35","gmt_create":"2025-10-29T16:45:39.7465815+08:00","gmt_modified":"2025-10-29T16:45:39.7465815+08:00"},{"id":423,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"07f8913ce2d72e8a58de070f0f32c097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-29T16:45:39.7509904+08:00","gmt_modified":"2025-10-29T16:45:39.7509904+08:00"},{"id":424,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"58091848c95da91e8187a42ab636c9b8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#75-95","gmt_create":"2025-10-29T16:45:39.7559663+08:00","gmt_modified":"2025-10-29T16:45:39.7559663+08:00"},{"id":425,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"58091848c95da91e8187a42ab636c9b8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 75-95","gmt_create":"2025-10-29T16:45:39.7619781+08:00","gmt_modified":"2025-10-29T16:45:39.7619781+08:00"},{"id":426,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"74629278d6d37cd0737ef8522248a611","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#40-50","gmt_create":"2025-10-29T16:45:39.7681779+08:00","gmt_modified":"2025-10-29T16:45:39.7681779+08:00"},{"id":427,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"74629278d6d37cd0737ef8522248a611","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-50","gmt_create":"2025-10-29T16:45:39.7736758+08:00","gmt_modified":"2025-10-29T16:45:39.7736758+08:00"},{"id":428,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","gmt_create":"2025-10-29T16:45:39.7818056+08:00","gmt_modified":"2025-10-29T16:45:39.7818056+08:00"},{"id":429,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"166200af73e0d105a939a35ef32facab9fef8d21","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 166200af73e0d105a939a35ef32facab9fef8d21","gmt_create":"2025-10-29T16:45:39.7895812+08:00","gmt_modified":"2025-10-29T16:45:39.7895812+08:00"},{"id":430,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/GameMap.ts","gmt_create":"2025-10-29T16:45:53.9457536+08:00","gmt_modified":"2025-10-29T16:45:53.9457536+08:00"},{"id":431,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-29T16:45:53.9502511+08:00","gmt_modified":"2025-10-29T16:45:53.9502511+08:00"},{"id":432,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"b9778ad6079066adc4b276ef182a43dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/Mon.ts","gmt_create":"2025-10-29T16:45:53.9546864+08:00","gmt_modified":"2025-10-29T16:45:53.9546864+08:00"},{"id":433,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"cb84194ad3ff858116a2e22ef24edf68","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/model/MapModelComp.ts","gmt_create":"2025-10-29T16:45:53.9597637+08:00","gmt_modified":"2025-10-29T16:45:53.9597637+08:00"},{"id":434,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"d7ee26dbb506f5bd77891b9f9e5fe619","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/MapViewComp.ts","gmt_create":"2025-10-29T16:45:53.9648203+08:00","gmt_modified":"2025-10-29T16:45:53.9648203+08:00"},{"id":435,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"b916aeaa6d2fbb6527e057fe2674a98b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/resources/config/map/map.json","gmt_create":"2025-10-29T16:45:53.9694084+08:00","gmt_modified":"2025-10-29T16:45:53.9694084+08:00"},{"id":436,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"aa984e214033ea289198ab72ee72ecce","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/resources/config/map/map_delivery.json","gmt_create":"2025-10-29T16:45:53.9740505+08:00","gmt_modified":"2025-10-29T16:45:53.9740505+08:00"},{"id":437,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-29T16:45:53.9811025+08:00","gmt_modified":"2025-10-29T16:45:53.9811025+08:00"},{"id":438,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-29T16:45:53.9891543+08:00","gmt_modified":"2025-10-29T16:45:53.9891543+08:00"},{"id":439,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"b8eb3238a98a3ea5aaaecf9a1cf9afb2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/MapViewScene.ts","gmt_create":"2025-10-29T16:45:54.0000271+08:00","gmt_modified":"2025-10-29T16:45:54.0000271+08:00"},{"id":440,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"22d6ce7ceac7856710c4d644d607e9e1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/map/layer/MapLayer.ts","gmt_create":"2025-10-29T16:45:54.0076798+08:00","gmt_modified":"2025-10-29T16:45:54.0076798+08:00"},{"id":441,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"4ac77391af6e46a8f92c32f8328b252c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/map/layer/EntityLayer.ts","gmt_create":"2025-10-29T16:45:54.0123414+08:00","gmt_modified":"2025-10-29T16:45:54.0123414+08:00"},{"id":442,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"369370e14074b4e928913799f4a8034c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/map/layer/SkillLayer.ts","gmt_create":"2025-10-29T16:45:54.0174248+08:00","gmt_modified":"2025-10-29T16:45:54.0174248+08:00"},{"id":443,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"20993cd959ec406c9fc95cb4c9e6bb40","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/GameMap.ts#1-35","gmt_create":"2025-10-29T16:45:54.0218607+08:00","gmt_modified":"2025-10-29T16:45:54.0218607+08:00"},{"id":444,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"b44dd9330329d4f79260ce7b269c687f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/model/MapModelComp.ts#1-42","gmt_create":"2025-10-29T16:45:54.0287871+08:00","gmt_modified":"2025-10-29T16:45:54.0287871+08:00"},{"id":445,"source_id":"cb84194ad3ff858116a2e22ef24edf68","target_id":"b44dd9330329d4f79260ce7b269c687f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-42","gmt_create":"2025-10-29T16:45:54.0335967+08:00","gmt_modified":"2025-10-29T16:45:54.0335967+08:00"},{"id":446,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"0732b42f7e0c66b58c71a549fb9ba36d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/MapViewComp.ts#1-44","gmt_create":"2025-10-29T16:45:54.0377045+08:00","gmt_modified":"2025-10-29T16:45:54.0377045+08:00"},{"id":447,"source_id":"d7ee26dbb506f5bd77891b9f9e5fe619","target_id":"0732b42f7e0c66b58c71a549fb9ba36d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-44","gmt_create":"2025-10-29T16:45:54.0427112+08:00","gmt_modified":"2025-10-29T16:45:54.0427112+08:00"},{"id":448,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"847d14c7aff3114c46bc65a0aa7b4180","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#1-310","gmt_create":"2025-10-29T16:45:54.047674+08:00","gmt_modified":"2025-10-29T16:45:54.047674+08:00"},{"id":449,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"847d14c7aff3114c46bc65a0aa7b4180","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-310","gmt_create":"2025-10-29T16:45:54.0521053+08:00","gmt_modified":"2025-10-29T16:45:54.0521053+08:00"},{"id":450,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"2c0b6d3ac7326428001e915dfad04fda","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#1-108","gmt_create":"2025-10-29T16:45:54.0578312+08:00","gmt_modified":"2025-10-29T16:45:54.0578312+08:00"},{"id":451,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"2c0b6d3ac7326428001e915dfad04fda","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-108","gmt_create":"2025-10-29T16:45:54.0640837+08:00","gmt_modified":"2025-10-29T16:45:54.0640837+08:00"},{"id":452,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"36d0aae654a4ab5cc9c6205c96a73c28","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/MapViewScene.ts#1-76","gmt_create":"2025-10-29T16:45:54.0715391+08:00","gmt_modified":"2025-10-29T16:45:54.0715391+08:00"},{"id":453,"source_id":"b8eb3238a98a3ea5aaaecf9a1cf9afb2","target_id":"36d0aae654a4ab5cc9c6205c96a73c28","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-76","gmt_create":"2025-10-29T16:45:54.0784338+08:00","gmt_modified":"2025-10-29T16:45:54.0784338+08:00"},{"id":454,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"5326fb0ba15856a89e7ceb0a85f5ba18","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/map/layer/MapLayer.ts#1-46","gmt_create":"2025-10-29T16:45:54.0841315+08:00","gmt_modified":"2025-10-29T16:45:54.0841315+08:00"},{"id":455,"source_id":"22d6ce7ceac7856710c4d644d607e9e1","target_id":"5326fb0ba15856a89e7ceb0a85f5ba18","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-46","gmt_create":"2025-10-29T16:45:54.0892533+08:00","gmt_modified":"2025-10-29T16:45:54.0892533+08:00"},{"id":456,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"85fb9bcdfda6d8bfd0a45798014e4d1b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/map/layer/EntityLayer.ts#1-38","gmt_create":"2025-10-29T16:45:54.095646+08:00","gmt_modified":"2025-10-29T16:45:54.095646+08:00"},{"id":457,"source_id":"4ac77391af6e46a8f92c32f8328b252c","target_id":"85fb9bcdfda6d8bfd0a45798014e4d1b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-38","gmt_create":"2025-10-29T16:45:54.1001564+08:00","gmt_modified":"2025-10-29T16:45:54.1001564+08:00"},{"id":458,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"f160c7f4a5c15627d79ed49ca194b3ee","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/map/layer/SkillLayer.ts#1-47","gmt_create":"2025-10-29T16:45:54.1063179+08:00","gmt_modified":"2025-10-29T16:45:54.1063179+08:00"},{"id":459,"source_id":"369370e14074b4e928913799f4a8034c","target_id":"f160c7f4a5c15627d79ed49ca194b3ee","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-47","gmt_create":"2025-10-29T16:45:54.1122046+08:00","gmt_modified":"2025-10-29T16:45:54.1122046+08:00"},{"id":460,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"1442be86a13f6fb82799c2fb135a5fbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#31-31","gmt_create":"2025-10-29T16:45:54.1196181+08:00","gmt_modified":"2025-10-29T16:45:54.1196181+08:00"},{"id":461,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#79-88","gmt_create":"2025-10-29T16:45:54.1247501+08:00","gmt_modified":"2025-10-29T16:45:54.1247501+08:00"},{"id":462,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 79-88","gmt_create":"2025-10-29T16:45:54.1310122+08:00","gmt_modified":"2025-10-29T16:45:54.1310122+08:00"},{"id":463,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"4af410d9512c22ea1700b1ed40f45a38","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#37-60","gmt_create":"2025-10-29T16:45:54.1363808+08:00","gmt_modified":"2025-10-29T16:45:54.1363808+08:00"},{"id":464,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"4af410d9512c22ea1700b1ed40f45a38","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-60","gmt_create":"2025-10-29T16:45:54.1425168+08:00","gmt_modified":"2025-10-29T16:45:54.1425168+08:00"},{"id":465,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#95-173","gmt_create":"2025-10-29T16:45:54.1484994+08:00","gmt_modified":"2025-10-29T16:45:54.1484994+08:00"},{"id":466,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"ecb69f21af2c0a9ca39b58589047c2ce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#19-25","gmt_create":"2025-10-29T16:45:54.1541222+08:00","gmt_modified":"2025-10-29T16:45:54.1541222+08:00"},{"id":467,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"ecb69f21af2c0a9ca39b58589047c2ce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-25","gmt_create":"2025-10-29T16:45:54.1610474+08:00","gmt_modified":"2025-10-29T16:45:54.1610474+08:00"},{"id":468,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"25662ed6c41a80693fb7a3d396d0da7d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#177-191","gmt_create":"2025-10-29T16:45:54.1681105+08:00","gmt_modified":"2025-10-29T16:45:54.1681105+08:00"},{"id":469,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"25662ed6c41a80693fb7a3d396d0da7d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 177-191","gmt_create":"2025-10-29T16:45:54.1742922+08:00","gmt_modified":"2025-10-29T16:45:54.1742922+08:00"},{"id":470,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"fc32e6130be7a1ba4d058a3ad1364222","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#61-108","gmt_create":"2025-10-29T16:45:54.1813184+08:00","gmt_modified":"2025-10-29T16:45:54.1813184+08:00"},{"id":471,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"fc32e6130be7a1ba4d058a3ad1364222","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 61-108","gmt_create":"2025-10-29T16:45:54.1858974+08:00","gmt_modified":"2025-10-29T16:45:54.1858974+08:00"},{"id":472,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"4c5b7fc60d7644b2b51f5c105d03003b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/resources/config/map/map.json#1-11","gmt_create":"2025-10-29T16:45:54.1966603+08:00","gmt_modified":"2025-10-29T16:45:54.1966603+08:00"},{"id":473,"source_id":"b916aeaa6d2fbb6527e057fe2674a98b","target_id":"4c5b7fc60d7644b2b51f5c105d03003b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-11","gmt_create":"2025-10-29T16:45:54.2017727+08:00","gmt_modified":"2025-10-29T16:45:54.2017727+08:00"},{"id":474,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"9f9d6e57f8784e13a3b01a9f224eb81d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/resources/config/map/map_delivery.json#1-29","gmt_create":"2025-10-29T16:45:54.2073232+08:00","gmt_modified":"2025-10-29T16:45:54.2073232+08:00"},{"id":475,"source_id":"aa984e214033ea289198ab72ee72ecce","target_id":"9f9d6e57f8784e13a3b01a9f224eb81d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-29","gmt_create":"2025-10-29T16:45:54.2140615+08:00","gmt_modified":"2025-10-29T16:45:54.2140615+08:00"},{"id":476,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"3afb16f8d81e36bba305ab123b824da7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-239","gmt_create":"2025-10-29T16:45:54.2267026+08:00","gmt_modified":"2025-10-29T16:45:54.2267026+08:00"},{"id":477,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"3afb16f8d81e36bba305ab123b824da7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-239","gmt_create":"2025-10-29T16:45:54.2324564+08:00","gmt_modified":"2025-10-29T16:45:54.2324564+08:00"},{"id":478,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"83e8b4c0b27ff843dbeb86a5227092f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/heroSet.ts#1-151","gmt_create":"2025-10-29T16:45:54.2408814+08:00","gmt_modified":"2025-10-29T16:45:54.2408814+08:00"},{"id":479,"source_id":"71296acfa18eb254aad4a491a38a0eeb","target_id":"83e8b4c0b27ff843dbeb86a5227092f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-151","gmt_create":"2025-10-29T16:45:54.2470981+08:00","gmt_modified":"2025-10-29T16:45:54.2470981+08:00"},{"id":480,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","gmt_create":"2025-10-29T16:45:54.2651684+08:00","gmt_modified":"2025-10-29T16:45:54.2651684+08:00"},{"id":481,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"166200af73e0d105a939a35ef32facab9fef8d21","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 166200af73e0d105a939a35ef32facab9fef8d21","gmt_create":"2025-10-29T16:45:54.2715135+08:00","gmt_modified":"2025-10-29T16:45:54.2715135+08:00"},{"id":482,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"b9778ad6079066adc4b276ef182a43dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/Mon.ts","gmt_create":"2025-10-29T16:47:31.8501402+08:00","gmt_modified":"2025-10-29T16:47:31.8501402+08:00"},{"id":483,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"54e9ade54b1a5062bcca7bde48ab68a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-29T16:47:31.8555116+08:00","gmt_modified":"2025-10-29T16:47:31.8555116+08:00"},{"id":484,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-29T16:47:31.8638969+08:00","gmt_modified":"2025-10-29T16:47:31.8638969+08:00"},{"id":485,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-29T16:47:31.8699254+08:00","gmt_modified":"2025-10-29T16:47:31.8699254+08:00"},{"id":486,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"1bdf0135febf814703a132d4fafd505c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/ecs/position/BattleMoveComp.ts","gmt_create":"2025-10-29T16:47:31.8748283+08:00","gmt_modified":"2025-10-29T16:47:31.8748283+08:00"},{"id":487,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"4199d1159ca21ba580dfeab42ad5a17a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroViewComp.ts","gmt_create":"2025-10-29T16:47:31.8855576+08:00","gmt_modified":"2025-10-29T16:47:31.8855576+08:00"},{"id":488,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"7d4659e3f4037ac293718bb2acc03e23","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#31-88","gmt_create":"2025-10-29T16:47:31.8932504+08:00","gmt_modified":"2025-10-29T16:47:31.8932504+08:00"},{"id":489,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"7d4659e3f4037ac293718bb2acc03e23","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-88","gmt_create":"2025-10-29T16:47:31.9015209+08:00","gmt_modified":"2025-10-29T16:47:31.9015209+08:00"},{"id":490,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"2d101fe07b03aadbe1b5dbfcf26de5ae","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#72-778","gmt_create":"2025-10-29T16:47:31.909862+08:00","gmt_modified":"2025-10-29T16:47:31.909862+08:00"},{"id":491,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"2d101fe07b03aadbe1b5dbfcf26de5ae","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 72-778","gmt_create":"2025-10-29T16:47:31.9186407+08:00","gmt_modified":"2025-10-29T16:47:31.9186407+08:00"},{"id":492,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"df3805ee6cf63b4ad2dec695168605ba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#35-58","gmt_create":"2025-10-29T16:47:31.9262719+08:00","gmt_modified":"2025-10-29T16:47:31.9262719+08:00"},{"id":493,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"df3805ee6cf63b4ad2dec695168605ba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-58","gmt_create":"2025-10-29T16:47:31.9324143+08:00","gmt_modified":"2025-10-29T16:47:31.9324143+08:00"},{"id":494,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#79-88","gmt_create":"2025-10-29T16:47:31.9392566+08:00","gmt_modified":"2025-10-29T16:47:31.9392566+08:00"},{"id":495,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"ca315eae9d37ba907f4a7150d7c8063b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/ecs/position/BattleMoveSystem.ts","gmt_create":"2025-10-29T16:47:31.9471289+08:00","gmt_modified":"2025-10-29T16:47:31.9471289+08:00"},{"id":496,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"e1edd04a4bd4d235e1b7cf47d8e5d4dd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#10-271","gmt_create":"2025-10-29T16:47:31.9528494+08:00","gmt_modified":"2025-10-29T16:47:31.9528494+08:00"},{"id":497,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"e1edd04a4bd4d235e1b7cf47d8e5d4dd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-271","gmt_create":"2025-10-29T16:47:31.9598463+08:00","gmt_modified":"2025-10-29T16:47:31.9598463+08:00"},{"id":498,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"edd870772e59d6103353d2b4af4ff406","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveComp.ts#3-15","gmt_create":"2025-10-29T16:47:31.9664053+08:00","gmt_modified":"2025-10-29T16:47:31.9664053+08:00"},{"id":499,"source_id":"1bdf0135febf814703a132d4fafd505c","target_id":"edd870772e59d6103353d2b4af4ff406","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-15","gmt_create":"2025-10-29T16:47:31.9734053+08:00","gmt_modified":"2025-10-29T16:47:31.9734053+08:00"},{"id":500,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"a4af501ccb4b798ce6e4446b283ef35c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/heroSet.ts#60-152","gmt_create":"2025-10-29T16:47:31.9815234+08:00","gmt_modified":"2025-10-29T16:47:31.9815234+08:00"},{"id":501,"source_id":"71296acfa18eb254aad4a491a38a0eeb","target_id":"a4af501ccb4b798ce6e4446b283ef35c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 60-152","gmt_create":"2025-10-29T16:47:31.9917174+08:00","gmt_modified":"2025-10-29T16:47:31.9917174+08:00"},{"id":502,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"d0de087696f83e63e9158e0f0edf6842","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#1-10","gmt_create":"2025-10-29T16:47:32.0016198+08:00","gmt_modified":"2025-10-29T16:47:32.0016198+08:00"},{"id":503,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"d0de087696f83e63e9158e0f0edf6842","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-10","gmt_create":"2025-10-29T16:47:32.0072529+08:00","gmt_modified":"2025-10-29T16:47:32.0072529+08:00"},{"id":504,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"531fec51305c0d692e33d02a84e83e2e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#10-50","gmt_create":"2025-10-29T16:47:32.0148538+08:00","gmt_modified":"2025-10-29T16:47:32.0148538+08:00"},{"id":505,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"531fec51305c0d692e33d02a84e83e2e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-50","gmt_create":"2025-10-29T16:47:32.0234766+08:00","gmt_modified":"2025-10-29T16:47:32.0234766+08:00"},{"id":506,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","gmt_create":"2025-10-29T16:47:32.0335564+08:00","gmt_modified":"2025-10-29T16:47:32.0335564+08:00"},{"id":507,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"07f8913ce2d72e8a58de070f0f32c097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-29T16:47:38.2918013+08:00","gmt_modified":"2025-10-29T16:47:38.2918013+08:00"},{"id":508,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"8c384aae8f912ab9228f0ad8185f7977","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/VictoryComp.ts","gmt_create":"2025-10-29T16:47:38.2991365+08:00","gmt_modified":"2025-10-29T16:47:38.2991365+08:00"},{"id":509,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"55b95d946e8311cf4b51347c35fdd239","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHeroComp.ts","gmt_create":"2025-10-29T16:47:38.3049119+08:00","gmt_modified":"2025-10-29T16:47:38.3049119+08:00"},{"id":510,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-29T16:47:38.3106547+08:00","gmt_modified":"2025-10-29T16:47:38.3106547+08:00"},{"id":511,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"76d8975e90e717d01c6dd43c3696f63b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-29T16:47:38.323181+08:00","gmt_modified":"2025-10-29T16:47:38.323181+08:00"},{"id":512,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"149ad16f650a03be2be72bfdcb3a8ff2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameEvent.ts","gmt_create":"2025-10-29T16:47:38.3299383+08:00","gmt_modified":"2025-10-29T16:47:38.3299383+08:00"},{"id":513,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"a179921633204a04508698cabd51dc3f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameUIConfig.ts","gmt_create":"2025-10-29T16:47:38.3375774+08:00","gmt_modified":"2025-10-29T16:47:38.3375774+08:00"},{"id":514,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-29T16:47:38.343433+08:00","gmt_modified":"2025-10-29T16:47:38.343433+08:00"},{"id":515,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-29T16:47:38.3499425+08:00","gmt_modified":"2025-10-29T16:47:38.3499425+08:00"},{"id":516,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"9bb3b0d6ae62d8a89e6d6bea191fac71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#15-151","gmt_create":"2025-10-29T16:47:38.3574264+08:00","gmt_modified":"2025-10-29T16:47:38.3574264+08:00"},{"id":517,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"b803464f63cf7bdefea90d1bde317179","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#15-75","gmt_create":"2025-10-29T16:47:38.3642697+08:00","gmt_modified":"2025-10-29T16:47:38.3642697+08:00"},{"id":518,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"b803464f63cf7bdefea90d1bde317179","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-75","gmt_create":"2025-10-29T16:47:38.3693229+08:00","gmt_modified":"2025-10-29T16:47:38.3693229+08:00"},{"id":519,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"91d725f6202f7ba0231f1738bf3667b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#12-81","gmt_create":"2025-10-29T16:47:38.3788238+08:00","gmt_modified":"2025-10-29T16:47:38.3788238+08:00"},{"id":520,"source_id":"55b95d946e8311cf4b51347c35fdd239","target_id":"91d725f6202f7ba0231f1738bf3667b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-81","gmt_create":"2025-10-29T16:47:38.3855057+08:00","gmt_modified":"2025-10-29T16:47:38.3855057+08:00"},{"id":521,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"84452177be5d44a04a15be16121b2ee0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#15-240","gmt_create":"2025-10-29T16:47:38.3951152+08:00","gmt_modified":"2025-10-29T16:47:38.3951152+08:00"},{"id":522,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"84452177be5d44a04a15be16121b2ee0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-240","gmt_create":"2025-10-29T16:47:38.4010635+08:00","gmt_modified":"2025-10-29T16:47:38.4010635+08:00"},{"id":523,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"b7311385fba4b280d656ebc84fa6f3d4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHomeComp.ts#12-54","gmt_create":"2025-10-29T16:47:38.4091663+08:00","gmt_modified":"2025-10-29T16:47:38.4091663+08:00"},{"id":524,"source_id":"76d8975e90e717d01c6dd43c3696f63b","target_id":"b7311385fba4b280d656ebc84fa6f3d4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-54","gmt_create":"2025-10-29T16:47:38.4166752+08:00","gmt_modified":"2025-10-29T16:47:38.4166752+08:00"},{"id":525,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"ec0bf85d49105c08ed9c5a2751888915","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#25-195","gmt_create":"2025-10-29T16:47:38.4238299+08:00","gmt_modified":"2025-10-29T16:47:38.4238299+08:00"},{"id":526,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"ec0bf85d49105c08ed9c5a2751888915","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-195","gmt_create":"2025-10-29T16:47:38.4298634+08:00","gmt_modified":"2025-10-29T16:47:38.4298634+08:00"},{"id":527,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"f1792db4ad8d94789b11cde132a58c15","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#1-151","gmt_create":"2025-10-29T16:47:38.4368224+08:00","gmt_modified":"2025-10-29T16:47:38.4368224+08:00"},{"id":528,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"5c8708ef78c4ca548eb2ce6b279b75ed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#1-75","gmt_create":"2025-10-29T16:47:38.4455283+08:00","gmt_modified":"2025-10-29T16:47:38.4455283+08:00"},{"id":529,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"72c29ea9fe1fd4c7e9189677fcfbd707","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#1-81","gmt_create":"2025-10-29T16:47:38.4562226+08:00","gmt_modified":"2025-10-29T16:47:38.4562226+08:00"},{"id":530,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-240","gmt_create":"2025-10-29T16:47:38.4628915+08:00","gmt_modified":"2025-10-29T16:47:38.4628915+08:00"},{"id":531,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"d4e4bdea8e072773032e6f30ebce57f6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHomeComp.ts#1-54","gmt_create":"2025-10-29T16:47:38.4699485+08:00","gmt_modified":"2025-10-29T16:47:38.4699485+08:00"},{"id":532,"source_id":"76d8975e90e717d01c6dd43c3696f63b","target_id":"d4e4bdea8e072773032e6f30ebce57f6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-54","gmt_create":"2025-10-29T16:47:38.4792473+08:00","gmt_modified":"2025-10-29T16:47:38.4792473+08:00"},{"id":533,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"9e0c68e50c643d5f7af407756d6adfce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#32-35","gmt_create":"2025-10-29T16:47:38.4857893+08:00","gmt_modified":"2025-10-29T16:47:38.4857893+08:00"},{"id":534,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9e0c68e50c643d5f7af407756d6adfce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-35","gmt_create":"2025-10-29T16:47:38.4920747+08:00","gmt_modified":"2025-10-29T16:47:38.4920747+08:00"},{"id":535,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"365e75c0bf2b76926c4223cb137c3028","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameEvent.ts#40-41","gmt_create":"2025-10-29T16:47:38.4999034+08:00","gmt_modified":"2025-10-29T16:47:38.4999034+08:00"},{"id":536,"source_id":"149ad16f650a03be2be72bfdcb3a8ff2","target_id":"365e75c0bf2b76926c4223cb137c3028","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-41","gmt_create":"2025-10-29T16:47:38.5051689+08:00","gmt_modified":"2025-10-29T16:47:38.5051689+08:00"},{"id":537,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"0a9b317310869ff6fdc9e9e59b553d73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameUIConfig.ts#12-13","gmt_create":"2025-10-29T16:47:38.5111366+08:00","gmt_modified":"2025-10-29T16:47:38.5111366+08:00"},{"id":538,"source_id":"a179921633204a04508698cabd51dc3f","target_id":"0a9b317310869ff6fdc9e9e59b553d73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-13","gmt_create":"2025-10-29T16:47:38.5191535+08:00","gmt_modified":"2025-10-29T16:47:38.5191535+08:00"},{"id":539,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"c9a38e9eae1cbfa5fe601fab3febad56","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#55-65","gmt_create":"2025-10-29T16:47:38.5263993+08:00","gmt_modified":"2025-10-29T16:47:38.5263993+08:00"},{"id":540,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"c9a38e9eae1cbfa5fe601fab3febad56","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 55-65","gmt_create":"2025-10-29T16:47:38.5335511+08:00","gmt_modified":"2025-10-29T16:47:38.5335511+08:00"},{"id":541,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"099fc495f0332ae0b2d2719b92dec19f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#15-199","gmt_create":"2025-10-29T16:47:38.5458201+08:00","gmt_modified":"2025-10-29T16:47:38.5458201+08:00"},{"id":542,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"099fc495f0332ae0b2d2719b92dec19f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-199","gmt_create":"2025-10-29T16:47:38.5529044+08:00","gmt_modified":"2025-10-29T16:47:38.5529044+08:00"},{"id":543,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"9b6f22f170e6137f879aad6572d4be18","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#47-52","gmt_create":"2025-10-29T16:47:38.559175+08:00","gmt_modified":"2025-10-29T16:47:38.559175+08:00"},{"id":544,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9b6f22f170e6137f879aad6572d4be18","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-52","gmt_create":"2025-10-29T16:47:38.5647316+08:00","gmt_modified":"2025-10-29T16:47:38.5647316+08:00"},{"id":545,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"c5fe161d1d347bd0ab30ecefa4f94647","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#47-52","gmt_create":"2025-10-29T16:47:38.5716719+08:00","gmt_modified":"2025-10-29T16:47:38.5716719+08:00"},{"id":546,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"c5fe161d1d347bd0ab30ecefa4f94647","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-52","gmt_create":"2025-10-29T16:47:38.5779987+08:00","gmt_modified":"2025-10-29T16:47:38.5779987+08:00"},{"id":547,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"a3f65f0057ec697d390f8df475c04a21","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHomeComp.ts#25-35","gmt_create":"2025-10-29T16:47:38.5835404+08:00","gmt_modified":"2025-10-29T16:47:38.5835404+08:00"},{"id":548,"source_id":"76d8975e90e717d01c6dd43c3696f63b","target_id":"a3f65f0057ec697d390f8df475c04a21","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-35","gmt_create":"2025-10-29T16:47:38.5897422+08:00","gmt_modified":"2025-10-29T16:47:38.5897422+08:00"},{"id":549,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"1442be86a13f6fb82799c2fb135a5fbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#31-31","gmt_create":"2025-10-29T16:47:38.5980641+08:00","gmt_modified":"2025-10-29T16:47:38.5980641+08:00"},{"id":550,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#95-173","gmt_create":"2025-10-29T16:47:38.606924+08:00","gmt_modified":"2025-10-29T16:47:38.606924+08:00"},{"id":551,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"5e2bdb9582767e3b3d2662c0d58e8148","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#65-73","gmt_create":"2025-10-29T16:47:38.6156438+08:00","gmt_modified":"2025-10-29T16:47:38.6156438+08:00"},{"id":552,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"5e2bdb9582767e3b3d2662c0d58e8148","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 65-73","gmt_create":"2025-10-29T16:47:38.6218855+08:00","gmt_modified":"2025-10-29T16:47:38.6218855+08:00"},{"id":553,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"549d119d101793b19391ce7b37a146f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#28-42","gmt_create":"2025-10-29T16:47:38.6303331+08:00","gmt_modified":"2025-10-29T16:47:38.6303331+08:00"},{"id":554,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"549d119d101793b19391ce7b37a146f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 28-42","gmt_create":"2025-10-29T16:47:38.6365466+08:00","gmt_modified":"2025-10-29T16:47:38.6365466+08:00"},{"id":555,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"72f760e39feb004d59c86d33671e7e40","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#18-25","gmt_create":"2025-10-29T16:47:38.6454265+08:00","gmt_modified":"2025-10-29T16:47:38.6454265+08:00"},{"id":556,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"72f760e39feb004d59c86d33671e7e40","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-25","gmt_create":"2025-10-29T16:47:38.6511157+08:00","gmt_modified":"2025-10-29T16:47:38.6511157+08:00"},{"id":557,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"05aa73eb4f723f96abe045e46a9fa7b3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#45-65","gmt_create":"2025-10-29T16:47:38.6574779+08:00","gmt_modified":"2025-10-29T16:47:38.6574779+08:00"},{"id":558,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"05aa73eb4f723f96abe045e46a9fa7b3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-65","gmt_create":"2025-10-29T16:47:38.6650776+08:00","gmt_modified":"2025-10-29T16:47:38.6650776+08:00"},{"id":559,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"a203612193e05f2a76dbf9d2a73205e4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#25-45","gmt_create":"2025-10-29T16:47:38.671281+08:00","gmt_modified":"2025-10-29T16:47:38.671281+08:00"},{"id":560,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"a203612193e05f2a76dbf9d2a73205e4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-45","gmt_create":"2025-10-29T16:47:38.6776405+08:00","gmt_modified":"2025-10-29T16:47:38.6776405+08:00"},{"id":561,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"9993b9e10feac19ed85b5a03998b61fe","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#130-140","gmt_create":"2025-10-29T16:47:38.685143+08:00","gmt_modified":"2025-10-29T16:47:38.685143+08:00"},{"id":562,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9993b9e10feac19ed85b5a03998b61fe","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 130-140","gmt_create":"2025-10-29T16:47:38.6913586+08:00","gmt_modified":"2025-10-29T16:47:38.6913586+08:00"},{"id":563,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"2f2f29cbf0539f28d076a551ba721dc4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#44-50","gmt_create":"2025-10-29T16:47:38.6996732+08:00","gmt_modified":"2025-10-29T16:47:38.6996732+08:00"},{"id":564,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"2f2f29cbf0539f28d076a551ba721dc4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-50","gmt_create":"2025-10-29T16:47:38.7059787+08:00","gmt_modified":"2025-10-29T16:47:38.7059787+08:00"},{"id":565,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"3abeaf96fae91890c9ddeef80c0dbf61","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#44-65","gmt_create":"2025-10-29T16:47:38.7130675+08:00","gmt_modified":"2025-10-29T16:47:38.7130675+08:00"},{"id":566,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"3abeaf96fae91890c9ddeef80c0dbf61","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-65","gmt_create":"2025-10-29T16:47:38.7187377+08:00","gmt_modified":"2025-10-29T16:47:38.7187377+08:00"},{"id":567,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"20855fa3c479ba786c9b4102055d35ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#44-75","gmt_create":"2025-10-29T16:47:38.725104+08:00","gmt_modified":"2025-10-29T16:47:38.725104+08:00"},{"id":568,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"20855fa3c479ba786c9b4102055d35ad","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-75","gmt_create":"2025-10-29T16:47:38.7321173+08:00","gmt_modified":"2025-10-29T16:47:38.7321173+08:00"},{"id":569,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"ad9fc393dbffdc1f87f168341900906f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#140-151","gmt_create":"2025-10-29T16:47:38.7435244+08:00","gmt_modified":"2025-10-29T16:47:38.7435244+08:00"},{"id":570,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"ad9fc393dbffdc1f87f168341900906f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 140-151","gmt_create":"2025-10-29T16:47:38.7493098+08:00","gmt_modified":"2025-10-29T16:47:38.7493098+08:00"},{"id":571,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"ee971c9c2eba0089530b38ab58776893","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#100-150","gmt_create":"2025-10-29T16:47:38.7567205+08:00","gmt_modified":"2025-10-29T16:47:38.7567205+08:00"},{"id":572,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"ee971c9c2eba0089530b38ab58776893","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 100-150","gmt_create":"2025-10-29T16:47:38.7637912+08:00","gmt_modified":"2025-10-29T16:47:38.7637912+08:00"},{"id":573,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","gmt_create":"2025-10-29T16:47:38.7714737+08:00","gmt_modified":"2025-10-29T16:47:38.7714737+08:00"},{"id":574,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"166200af73e0d105a939a35ef32facab9fef8d21","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 166200af73e0d105a939a35ef32facab9fef8d21","gmt_create":"2025-10-29T16:47:38.7774812+08:00","gmt_modified":"2025-10-29T16:47:38.7774812+08:00"},{"id":575,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"97fa0b4a759e9c84a09d7c6576af2ad9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/initialize/Initialize.ts","gmt_create":"2025-10-29T16:47:39.5210123+08:00","gmt_modified":"2025-10-29T16:47:39.5210123+08:00"},{"id":576,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"46fce2862caa7076385508f79421f313","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/initialize/view/LoadingViewComp.ts","gmt_create":"2025-10-29T16:47:39.5259234+08:00","gmt_modified":"2025-10-29T16:47:39.5259234+08:00"},{"id":577,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"149ad16f650a03be2be72bfdcb3a8ff2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameEvent.ts","gmt_create":"2025-10-29T16:47:39.5321126+08:00","gmt_modified":"2025-10-29T16:47:39.5321126+08:00"},{"id":578,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"3b5310e63f2b7b3bbf3e0852062ce0c3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/BoxSet.ts","gmt_create":"2025-10-29T16:47:39.5368947+08:00","gmt_modified":"2025-10-29T16:47:39.5368947+08:00"},{"id":579,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"34840ed043448df3e2d822bfce6f3cd9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/Main.ts","gmt_create":"2025-10-29T16:47:39.5425815+08:00","gmt_modified":"2025-10-29T16:47:39.5425815+08:00"},{"id":580,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/GameMap.ts","gmt_create":"2025-10-29T16:47:39.548555+08:00","gmt_modified":"2025-10-29T16:47:39.548555+08:00"},{"id":581,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-29T16:47:39.5536303+08:00","gmt_modified":"2025-10-29T16:47:39.5536303+08:00"},{"id":582,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"134588a5ee3c64b37a2b9e6a9b7a2846","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/core/common/event.md","gmt_create":"2025-10-29T16:47:39.5587857+08:00","gmt_modified":"2025-10-29T16:47:39.5587857+08:00"},{"id":583,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"11ddf6386c9a1d4eb208723cb69eb4d9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/core/common/loader.md","gmt_create":"2025-10-29T16:47:39.565761+08:00","gmt_modified":"2025-10-29T16:47:39.565761+08:00"},{"id":584,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"513ea52f734ed68f1dc8bad330c8d097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/core/common/storage.md","gmt_create":"2025-10-29T16:47:39.572133+08:00","gmt_modified":"2025-10-29T16:47:39.572133+08:00"},{"id":585,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-29T16:47:39.5807044+08:00","gmt_modified":"2025-10-29T16:47:39.5807044+08:00"},{"id":586,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"b9778ad6079066adc4b276ef182a43dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/Mon.ts","gmt_create":"2025-10-29T16:47:39.5863866+08:00","gmt_modified":"2025-10-29T16:47:39.5863866+08:00"},{"id":587,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"7e01a78db6d0d1b47f507bcc9a225c5b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/Main.ts#1-41","gmt_create":"2025-10-29T16:47:39.5956886+08:00","gmt_modified":"2025-10-29T16:47:39.5956886+08:00"},{"id":588,"source_id":"34840ed043448df3e2d822bfce6f3cd9","target_id":"7e01a78db6d0d1b47f507bcc9a225c5b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-41","gmt_create":"2025-10-29T16:47:39.6004174+08:00","gmt_modified":"2025-10-29T16:47:39.6004174+08:00"},{"id":589,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"f8f423ce39f6aef6484456489dc3d7f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#1-207","gmt_create":"2025-10-29T16:47:39.6060699+08:00","gmt_modified":"2025-10-29T16:47:39.6060699+08:00"},{"id":590,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"f8f423ce39f6aef6484456489dc3d7f0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-207","gmt_create":"2025-10-29T16:47:39.6129938+08:00","gmt_modified":"2025-10-29T16:47:39.6129938+08:00"},{"id":591,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"f6204bd47a4ab402fc82502942e8e2ae","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/view/LoadingViewComp.ts#1-91","gmt_create":"2025-10-29T16:47:39.6183546+08:00","gmt_modified":"2025-10-29T16:47:39.6183546+08:00"},{"id":592,"source_id":"46fce2862caa7076385508f79421f313","target_id":"f6204bd47a4ab402fc82502942e8e2ae","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-91","gmt_create":"2025-10-29T16:47:39.6240553+08:00","gmt_modified":"2025-10-29T16:47:39.6240553+08:00"},{"id":593,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"11603f48619a420f074e29a9fce83432","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#25-40","gmt_create":"2025-10-29T16:47:39.6309184+08:00","gmt_modified":"2025-10-29T16:47:39.6309184+08:00"},{"id":594,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"11603f48619a420f074e29a9fce83432","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-40","gmt_create":"2025-10-29T16:47:39.6367323+08:00","gmt_modified":"2025-10-29T16:47:39.6367323+08:00"},{"id":595,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"93e528ba990fd4b108b47405c34d63ae","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/view/LoadingViewComp.ts#75-91","gmt_create":"2025-10-29T16:47:39.6460149+08:00","gmt_modified":"2025-10-29T16:47:39.6460149+08:00"},{"id":596,"source_id":"46fce2862caa7076385508f79421f313","target_id":"93e528ba990fd4b108b47405c34d63ae","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 75-91","gmt_create":"2025-10-29T16:47:39.6511352+08:00","gmt_modified":"2025-10-29T16:47:39.6511352+08:00"},{"id":597,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"d2047033b4b21ec79418ab611173354f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#42-207","gmt_create":"2025-10-29T16:47:39.6590601+08:00","gmt_modified":"2025-10-29T16:47:39.6590601+08:00"},{"id":598,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"d2047033b4b21ec79418ab611173354f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-207","gmt_create":"2025-10-29T16:47:39.6655404+08:00","gmt_modified":"2025-10-29T16:47:39.6655404+08:00"},{"id":599,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"65365d0af6e09e40842dad0d46135fba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/view/LoadingViewComp.ts#50-91","gmt_create":"2025-10-29T16:47:39.6715852+08:00","gmt_modified":"2025-10-29T16:47:39.6715852+08:00"},{"id":600,"source_id":"46fce2862caa7076385508f79421f313","target_id":"65365d0af6e09e40842dad0d46135fba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 50-91","gmt_create":"2025-10-29T16:47:39.680398+08:00","gmt_modified":"2025-10-29T16:47:39.680398+08:00"},{"id":601,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"b9a7e30eb09bcefd0f401120b7f4ee90","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameEvent.ts#1-70","gmt_create":"2025-10-29T16:47:39.6874488+08:00","gmt_modified":"2025-10-29T16:47:39.6874488+08:00"},{"id":602,"source_id":"149ad16f650a03be2be72bfdcb3a8ff2","target_id":"b9a7e30eb09bcefd0f401120b7f4ee90","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-70","gmt_create":"2025-10-29T16:47:39.6926283+08:00","gmt_modified":"2025-10-29T16:47:39.6926283+08:00"},{"id":603,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"cab85760490510ff7b49d6a4cfa68f76","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/core/common/event.md#1-44","gmt_create":"2025-10-29T16:47:39.7003236+08:00","gmt_modified":"2025-10-29T16:47:39.7003236+08:00"},{"id":604,"source_id":"134588a5ee3c64b37a2b9e6a9b7a2846","target_id":"cab85760490510ff7b49d6a4cfa68f76","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-44","gmt_create":"2025-10-29T16:47:39.7065611+08:00","gmt_modified":"2025-10-29T16:47:39.7065611+08:00"},{"id":605,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"77afe4cff7ba3b829ddd89df108e43a8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/core/common/loader.md#1-91","gmt_create":"2025-10-29T16:47:39.7144901+08:00","gmt_modified":"2025-10-29T16:47:39.7144901+08:00"},{"id":606,"source_id":"11ddf6386c9a1d4eb208723cb69eb4d9","target_id":"77afe4cff7ba3b829ddd89df108e43a8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-91","gmt_create":"2025-10-29T16:47:39.7201751+08:00","gmt_modified":"2025-10-29T16:47:39.7201751+08:00"},{"id":607,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"a36042df076f59536a7e789c89b09c7e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/core/common/storage.md#1-39","gmt_create":"2025-10-29T16:47:39.7303872+08:00","gmt_modified":"2025-10-29T16:47:39.7303872+08:00"},{"id":608,"source_id":"513ea52f734ed68f1dc8bad330c8d097","target_id":"a36042df076f59536a7e789c89b09c7e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-39","gmt_create":"2025-10-29T16:47:39.7362853+08:00","gmt_modified":"2025-10-29T16:47:39.7362853+08:00"},{"id":609,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"89597afa0c8cea3ee5d848a27f2cfdd6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/BoxSet.ts#1-109","gmt_create":"2025-10-29T16:47:39.7427603+08:00","gmt_modified":"2025-10-29T16:47:39.7427603+08:00"},{"id":610,"source_id":"3b5310e63f2b7b3bbf3e0852062ce0c3","target_id":"89597afa0c8cea3ee5d848a27f2cfdd6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-109","gmt_create":"2025-10-29T16:47:39.7508132+08:00","gmt_modified":"2025-10-29T16:47:39.7508132+08:00"},{"id":611,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"801a299cee93b05d6ff689b2f9066b4c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#21-23","gmt_create":"2025-10-29T16:47:39.7656868+08:00","gmt_modified":"2025-10-29T16:47:39.7656868+08:00"},{"id":612,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"801a299cee93b05d6ff689b2f9066b4c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-23","gmt_create":"2025-10-29T16:47:39.7709263+08:00","gmt_modified":"2025-10-29T16:47:39.7709263+08:00"},{"id":613,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"ede8bf9e076d0cf971b1f8255da908df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#69-73","gmt_create":"2025-10-29T16:47:39.7768058+08:00","gmt_modified":"2025-10-29T16:47:39.7768058+08:00"},{"id":614,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#79-88","gmt_create":"2025-10-29T16:47:39.7846432+08:00","gmt_modified":"2025-10-29T16:47:39.7846432+08:00"},{"id":615,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#95-173","gmt_create":"2025-10-29T16:47:39.790266+08:00","gmt_modified":"2025-10-29T16:47:39.790266+08:00"},{"id":616,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-29T16:47:39.7960573+08:00","gmt_modified":"2025-10-29T16:47:39.7960573+08:00"},{"id":617,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"099fc495f0332ae0b2d2719b92dec19f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#15-199","gmt_create":"2025-10-29T16:47:39.801202+08:00","gmt_modified":"2025-10-29T16:47:39.801202+08:00"},{"id":618,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"bfbf4afa635806338197ae22839e7ddb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#1-194","gmt_create":"2025-10-29T16:47:39.8093461+08:00","gmt_modified":"2025-10-29T16:47:39.8093461+08:00"},{"id":619,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"bfbf4afa635806338197ae22839e7ddb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-194","gmt_create":"2025-10-29T16:47:39.8161141+08:00","gmt_modified":"2025-10-29T16:47:39.8161141+08:00"},{"id":620,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"f11a94deb1fe186076b31a00340b218b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#0-178","gmt_create":"2025-10-29T16:47:39.8218245+08:00","gmt_modified":"2025-10-29T16:47:39.8218245+08:00"},{"id":621,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"f11a94deb1fe186076b31a00340b218b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 0-178","gmt_create":"2025-10-29T16:47:39.8295304+08:00","gmt_modified":"2025-10-29T16:47:39.8295304+08:00"},{"id":622,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","gmt_create":"2025-10-29T16:47:39.8385933+08:00","gmt_modified":"2025-10-29T16:47:39.8385933+08:00"},{"id":623,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"0797f0ee-2c61-4a0b-b3ad-31cb1d123c22","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7 -\u003e 0797f0ee-2c61-4a0b-b3ad-31cb1d123c22","gmt_create":"2025-10-29T16:47:40.0671191+08:00","gmt_modified":"2025-10-29T16:47:40.0671191+08:00"},{"id":624,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"58ae8543-8e57-4e56-a256-c1c75880e136","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7 -\u003e 58ae8543-8e57-4e56-a256-c1c75880e136","gmt_create":"2025-10-29T16:47:40.0755273+08:00","gmt_modified":"2025-10-29T16:47:40.0755273+08:00"},{"id":625,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"c4533873-5d96-4dce-ac79-74df71673fb8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7 -\u003e c4533873-5d96-4dce-ac79-74df71673fb8","gmt_create":"2025-10-29T16:47:40.0821803+08:00","gmt_modified":"2025-10-29T16:47:40.0821803+08:00"},{"id":626,"source_id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","target_id":"a8e09c27-24b4-435c-a3ea-8355540d28bc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7 -\u003e a8e09c27-24b4-435c-a3ea-8355540d28bc","gmt_create":"2025-10-29T16:47:40.0872887+08:00","gmt_modified":"2025-10-29T16:47:40.0872887+08:00"},{"id":627,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"8dc5ffb1-25da-4650-9e23-d613e2517258","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6dbc5d43-ed54-4ddd-9a66-8e4dc783df75 -\u003e 8dc5ffb1-25da-4650-9e23-d613e2517258","gmt_create":"2025-10-29T16:47:40.0968407+08:00","gmt_modified":"2025-10-29T16:47:40.0968407+08:00"},{"id":628,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"a5e40246-3fb0-4bac-a1df-9d5c7fcca979","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6dbc5d43-ed54-4ddd-9a66-8e4dc783df75 -\u003e a5e40246-3fb0-4bac-a1df-9d5c7fcca979","gmt_create":"2025-10-29T16:47:40.1026899+08:00","gmt_modified":"2025-10-29T16:47:40.1026899+08:00"},{"id":629,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6dbc5d43-ed54-4ddd-9a66-8e4dc783df75 -\u003e 7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","gmt_create":"2025-10-29T16:47:40.1103129+08:00","gmt_modified":"2025-10-29T16:47:40.1103129+08:00"},{"id":630,"source_id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","target_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6dbc5d43-ed54-4ddd-9a66-8e4dc783df75 -\u003e 42f07ffd-d313-4497-bd38-483e18d4aedc","gmt_create":"2025-10-29T16:47:40.1155732+08:00","gmt_modified":"2025-10-29T16:47:40.1155732+08:00"},{"id":631,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"60e8c935-ed45-4f9f-a284-ae4de8f71ad7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b905a937-ccbe-40ec-8a1d-61fba5d9b32c -\u003e 60e8c935-ed45-4f9f-a284-ae4de8f71ad7","gmt_create":"2025-10-29T16:47:40.1242977+08:00","gmt_modified":"2025-10-29T16:47:40.1242977+08:00"},{"id":632,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"dbd69313-c4a3-4133-a77f-b02c3b677d4c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b905a937-ccbe-40ec-8a1d-61fba5d9b32c -\u003e dbd69313-c4a3-4133-a77f-b02c3b677d4c","gmt_create":"2025-10-29T16:47:40.1316106+08:00","gmt_modified":"2025-10-29T16:47:40.1316106+08:00"},{"id":633,"source_id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","target_id":"579f9f00-9d06-471c-a509-57913226bc15","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b905a937-ccbe-40ec-8a1d-61fba5d9b32c -\u003e 579f9f00-9d06-471c-a509-57913226bc15","gmt_create":"2025-10-29T16:47:40.1375608+08:00","gmt_modified":"2025-10-29T16:47:40.1375608+08:00"},{"id":634,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"d2d71ab1-7fb1-4684-89d8-b67fc1260dcb","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 579f9f00-9d06-471c-a509-57913226bc15 -\u003e d2d71ab1-7fb1-4684-89d8-b67fc1260dcb","gmt_create":"2025-10-29T16:47:40.1622568+08:00","gmt_modified":"2025-10-29T16:47:40.1622568+08:00"},{"id":635,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"019c0048-c15d-428b-9894-80ca0ee892b4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 579f9f00-9d06-471c-a509-57913226bc15 -\u003e 019c0048-c15d-428b-9894-80ca0ee892b4","gmt_create":"2025-10-29T16:47:40.1702791+08:00","gmt_modified":"2025-10-29T16:47:40.1702791+08:00"},{"id":636,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"1353e307-3ba5-41d1-9980-902317ff65f3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 579f9f00-9d06-471c-a509-57913226bc15 -\u003e 1353e307-3ba5-41d1-9980-902317ff65f3","gmt_create":"2025-10-29T16:47:40.1781901+08:00","gmt_modified":"2025-10-29T16:47:40.1781901+08:00"},{"id":637,"source_id":"579f9f00-9d06-471c-a509-57913226bc15","target_id":"bff9df09-cd74-4860-a200-d86f7b714fcc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 579f9f00-9d06-471c-a509-57913226bc15 -\u003e bff9df09-cd74-4860-a200-d86f7b714fcc","gmt_create":"2025-10-29T16:47:40.1863903+08:00","gmt_modified":"2025-10-29T16:47:40.1863903+08:00"},{"id":638,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"5c5b6d2c-6ef7-4ea2-a8a1-88169906d2f5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 7407fc87-6d3d-4fd5-8c59-9c5084cd60f9 -\u003e 5c5b6d2c-6ef7-4ea2-a8a1-88169906d2f5","gmt_create":"2025-10-29T16:47:40.1973136+08:00","gmt_modified":"2025-10-29T16:47:40.1973136+08:00"},{"id":639,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"de41c53b-774d-4cd3-bdca-d4a66d811537","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 7407fc87-6d3d-4fd5-8c59-9c5084cd60f9 -\u003e de41c53b-774d-4cd3-bdca-d4a66d811537","gmt_create":"2025-10-29T16:47:40.2072294+08:00","gmt_modified":"2025-10-29T16:47:40.2072294+08:00"},{"id":640,"source_id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","target_id":"d7059f4f-5348-4da1-88ea-88a3b2023fac","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 7407fc87-6d3d-4fd5-8c59-9c5084cd60f9 -\u003e d7059f4f-5348-4da1-88ea-88a3b2023fac","gmt_create":"2025-10-29T16:47:40.21397+08:00","gmt_modified":"2025-10-29T16:47:40.21397+08:00"},{"id":641,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"727a0a93-5ad1-4c61-bfe2-48f3da1a2f08","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42f07ffd-d313-4497-bd38-483e18d4aedc -\u003e 727a0a93-5ad1-4c61-bfe2-48f3da1a2f08","gmt_create":"2025-10-29T16:47:40.2214242+08:00","gmt_modified":"2025-10-29T16:47:40.2214242+08:00"},{"id":642,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"47351ee5-1254-418b-8e5b-00e83c2ee30a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42f07ffd-d313-4497-bd38-483e18d4aedc -\u003e 47351ee5-1254-418b-8e5b-00e83c2ee30a","gmt_create":"2025-10-29T16:47:40.2284233+08:00","gmt_modified":"2025-10-29T16:47:40.2284233+08:00"},{"id":643,"source_id":"42f07ffd-d313-4497-bd38-483e18d4aedc","target_id":"4da3cbdc-b89c-43be-88a8-2448547691dc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42f07ffd-d313-4497-bd38-483e18d4aedc -\u003e 4da3cbdc-b89c-43be-88a8-2448547691dc","gmt_create":"2025-10-29T16:47:40.2348634+08:00","gmt_modified":"2025-10-29T16:47:40.2348634+08:00"}],"source_files":[{"id":"1ef3de5b733336220af07558e8524092","path":"assets/script/game/common/config/Mission.ts","filename":"Mission.ts","gmt_create":"2025-10-29T16:45:26.9032462+08:00","gmt_modified":"2025-10-29T16:45:26.9032462+08:00"},{"id":"ce0ec3b705bb28e957d6d14681ffdca2","path":"assets/script/game/common/config/Tasks.ts","filename":"Tasks.ts","gmt_create":"2025-10-29T16:45:26.9077149+08:00","gmt_modified":"2025-10-29T16:45:26.9077149+08:00"},{"id":"07f8913ce2d72e8a58de070f0f32c097","path":"assets/script/game/map/MissionComp.ts","filename":"MissionComp.ts","gmt_create":"2025-10-29T16:45:26.9116745+08:00","gmt_modified":"2025-10-29T16:45:26.9116745+08:00"},{"id":"55b95d946e8311cf4b51347c35fdd239","path":"assets/script/game/map/MissionHeroComp.ts","filename":"MissionHeroComp.ts","gmt_create":"2025-10-29T16:45:26.9150043+08:00","gmt_modified":"2025-10-29T16:45:26.9150043+08:00"},{"id":"70e98a62cc69b9276b26e1627a592fd5","path":"assets/script/game/map/MissionMonComp.ts","filename":"MissionMonComp.ts","gmt_create":"2025-10-29T16:45:26.9183025+08:00","gmt_modified":"2025-10-29T16:45:26.9183025+08:00"},{"id":"76d8975e90e717d01c6dd43c3696f63b","path":"assets/script/game/map/MissionHomeComp.ts","filename":"MissionHomeComp.ts","gmt_create":"2025-10-29T16:45:26.921056+08:00","gmt_modified":"2025-10-29T16:45:26.921056+08:00"},{"id":"8c384aae8f912ab9228f0ad8185f7977","path":"assets/script/game/map/VictoryComp.ts","filename":"VictoryComp.ts","gmt_create":"2025-10-29T16:45:26.9251116+08:00","gmt_modified":"2025-10-29T16:45:26.9251116+08:00"},{"id":"a179921633204a04508698cabd51dc3f","path":"assets/script/game/common/config/GameUIConfig.ts","filename":"GameUIConfig.ts","gmt_create":"2025-10-29T16:45:26.9294724+08:00","gmt_modified":"2025-10-29T16:45:26.9294724+08:00"},{"id":"4475315b5ec34a67f2e7dc19d93b9817","path":"assets/script/game/common/SingletonModuleComp.ts","filename":"SingletonModuleComp.ts","gmt_create":"2025-10-29T16:45:26.9325496+08:00","gmt_modified":"2025-10-29T16:45:26.9325496+08:00"},{"id":"71296acfa18eb254aad4a491a38a0eeb","path":"assets/script/game/common/config/heroSet.ts","filename":"heroSet.ts","gmt_create":"2025-10-29T16:45:26.9368818+08:00","gmt_modified":"2025-10-29T16:45:26.9368818+08:00"},{"id":"54e9ade54b1a5062bcca7bde48ab68a7","path":"assets/script/game/common/config/HeroAttrs.ts","filename":"HeroAttrs.ts","gmt_create":"2025-10-29T16:45:26.9406622+08:00","gmt_modified":"2025-10-29T16:45:26.9406622+08:00"},{"id":"f0a95fd5b8d3a53b53f9b1fab22c4892","path":"assets/script/game/common/config/TalSet.ts","filename":"TalSet.ts","gmt_create":"2025-10-29T16:45:26.9449273+08:00","gmt_modified":"2025-10-29T16:45:26.9449273+08:00"},{"id":"6fe19f7a3876795ce719853671c9601a","path":"assets/script/game/map/RogueConfig.ts","filename":"RogueConfig.ts","gmt_create":"2025-10-29T16:45:26.9483848+08:00","gmt_modified":"2025-10-29T16:45:26.9483848+08:00"},{"id":"157f2716bf2263faca74bb5592afcf7f","path":"assets/script/game/common/config/SkillSet.ts","filename":"SkillSet.ts","gmt_create":"2025-10-29T16:45:39.4983106+08:00","gmt_modified":"2025-10-29T16:45:39.4983106+08:00"},{"id":"8c139dc4cdda963ac6ba8f5d3d7c716a","path":"assets/script/game/map/GameMap.ts","filename":"GameMap.ts","gmt_create":"2025-10-29T16:45:39.5017398+08:00","gmt_modified":"2025-10-29T16:45:39.5017398+08:00"},{"id":"b9778ad6079066adc4b276ef182a43dd","path":"assets/script/game/hero/Mon.ts","filename":"Mon.ts","gmt_create":"2025-10-29T16:45:53.80582+08:00","gmt_modified":"2025-10-29T16:45:53.80582+08:00"},{"id":"cb84194ad3ff858116a2e22ef24edf68","path":"assets/script/game/map/model/MapModelComp.ts","filename":"MapModelComp.ts","gmt_create":"2025-10-29T16:45:53.8106095+08:00","gmt_modified":"2025-10-29T16:45:53.8106095+08:00"},{"id":"d7ee26dbb506f5bd77891b9f9e5fe619","path":"assets/script/game/map/view/MapViewComp.ts","filename":"MapViewComp.ts","gmt_create":"2025-10-29T16:45:53.8151503+08:00","gmt_modified":"2025-10-29T16:45:53.8151503+08:00"},{"id":"b916aeaa6d2fbb6527e057fe2674a98b","path":"assets/resources/config/map/map.json","filename":"map.json","gmt_create":"2025-10-29T16:45:53.8190327+08:00","gmt_modified":"2025-10-29T16:45:53.8190327+08:00"},{"id":"aa984e214033ea289198ab72ee72ecce","path":"assets/resources/config/map/map_delivery.json","filename":"map_delivery.json","gmt_create":"2025-10-29T16:45:53.8223659+08:00","gmt_modified":"2025-10-29T16:45:53.8223659+08:00"},{"id":"b8eb3238a98a3ea5aaaecf9a1cf9afb2","path":"assets/script/game/map/view/MapViewScene.ts","filename":"MapViewScene.ts","gmt_create":"2025-10-29T16:45:53.826919+08:00","gmt_modified":"2025-10-29T16:45:53.826919+08:00"},{"id":"22d6ce7ceac7856710c4d644d607e9e1","path":"assets/script/game/map/view/map/layer/MapLayer.ts","filename":"MapLayer.ts","gmt_create":"2025-10-29T16:45:53.8309512+08:00","gmt_modified":"2025-10-29T16:45:53.8309512+08:00"},{"id":"4ac77391af6e46a8f92c32f8328b252c","path":"assets/script/game/map/view/map/layer/EntityLayer.ts","filename":"EntityLayer.ts","gmt_create":"2025-10-29T16:45:53.8432+08:00","gmt_modified":"2025-10-29T16:45:53.8432+08:00"},{"id":"369370e14074b4e928913799f4a8034c","path":"assets/script/game/map/view/map/layer/SkillLayer.ts","filename":"SkillLayer.ts","gmt_create":"2025-10-29T16:45:53.8479996+08:00","gmt_modified":"2025-10-29T16:45:53.8479996+08:00"},{"id":"1bdf0135febf814703a132d4fafd505c","path":"assets/script/game/common/ecs/position/BattleMoveComp.ts","filename":"BattleMoveComp.ts","gmt_create":"2025-10-29T16:47:31.7891063+08:00","gmt_modified":"2025-10-29T16:47:31.7891063+08:00"},{"id":"4199d1159ca21ba580dfeab42ad5a17a","path":"assets/script/game/hero/HeroViewComp.ts","filename":"HeroViewComp.ts","gmt_create":"2025-10-29T16:47:31.7934712+08:00","gmt_modified":"2025-10-29T16:47:31.7934712+08:00"},{"id":"ca315eae9d37ba907f4a7150d7c8063b","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","filename":"BattleMoveSystem.ts","gmt_create":"2025-10-29T16:47:31.8164044+08:00","gmt_modified":"2025-10-29T16:47:31.8164044+08:00"},{"id":"149ad16f650a03be2be72bfdcb3a8ff2","path":"assets/script/game/common/config/GameEvent.ts","filename":"GameEvent.ts","gmt_create":"2025-10-29T16:47:38.1346515+08:00","gmt_modified":"2025-10-29T16:47:38.1346515+08:00"},{"id":"97fa0b4a759e9c84a09d7c6576af2ad9","path":"assets/script/game/initialize/Initialize.ts","filename":"Initialize.ts","gmt_create":"2025-10-29T16:47:39.3927322+08:00","gmt_modified":"2025-10-29T16:47:39.3927322+08:00"},{"id":"46fce2862caa7076385508f79421f313","path":"assets/script/game/initialize/view/LoadingViewComp.ts","filename":"LoadingViewComp.ts","gmt_create":"2025-10-29T16:47:39.3982037+08:00","gmt_modified":"2025-10-29T16:47:39.3982037+08:00"},{"id":"3b5310e63f2b7b3bbf3e0852062ce0c3","path":"assets/script/game/common/config/BoxSet.ts","filename":"BoxSet.ts","gmt_create":"2025-10-29T16:47:39.4050084+08:00","gmt_modified":"2025-10-29T16:47:39.4050084+08:00"},{"id":"34840ed043448df3e2d822bfce6f3cd9","path":"assets/script/Main.ts","filename":"Main.ts","gmt_create":"2025-10-29T16:47:39.4123117+08:00","gmt_modified":"2025-10-29T16:47:39.4123117+08:00"},{"id":"134588a5ee3c64b37a2b9e6a9b7a2846","path":"doc/core/common/event.md","filename":"event.md","gmt_create":"2025-10-29T16:47:39.4168195+08:00","gmt_modified":"2025-10-29T16:47:39.4168195+08:00"},{"id":"11ddf6386c9a1d4eb208723cb69eb4d9","path":"doc/core/common/loader.md","filename":"loader.md","gmt_create":"2025-10-29T16:47:39.4212894+08:00","gmt_modified":"2025-10-29T16:47:39.4212894+08:00"},{"id":"513ea52f734ed68f1dc8bad330c8d097","path":"doc/core/common/storage.md","filename":"storage.md","gmt_create":"2025-10-29T16:47:39.4288652+08:00","gmt_modified":"2025-10-29T16:47:39.4288652+08:00"}],"wiki_catalogs":[{"id":"0a890826-612d-4e2e-9093-6ef241735729","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"项目概述","description":"project-overview","prompt":"创建全面的内容,重点介绍heros项目的整体架构与核心目标。解释该项目作为一款基于Cocos Creator开发的微信小游戏,融合了Roguelike塔防玩法与中国历史人物英雄设定的设计理念。阐述其技术栈组成,包括TypeScript、Cocos引擎、Oops Plugin Framework(MVVM)和微信云开发SDK的集成方式。描述项目的主要功能模块如英雄系统、地图系统、奖励机制、自动战斗等之间的关系。为初学者提供清晰的项目全景图,同时为高级开发者说明关键技术选型背后的架构决策。结合heros.md和Design.md中的设计思路,展示游戏的核心循环与用户流程,并引用实际代码结构进行佐证。","progress_status":"completed","dependent_files":"assets/script/heros.md,assets/script/Design.md,doc/using.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:48:06+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02elJtBUgH0Ns0veIx1WPtM9wwkxI+/XAqHLxJLlHB8wV4EL0m43R3OVx06pJ6ypJqbrpVss1xKCzdhrhagL5/BiPuQg0gUnYTraUhYjt15HlPZ07gfnGRXlhmH4kyecBhrPtWzAI7MiC1uJ79nWRzoaJrdbAO4KD+TbWMfKWVLJQRmTgQMH6wmdgDC5INpsVyXM/nxUGNvKdZZvA05+5uGmjGyv7ETMGMwQAv2zZJirl4qd/b4+ZwnxumSUyVzo+UFmm3M9OQQSDXUwT34wn6dN/6GbN5ruX9puf1SqQXEYOqjmZYW2Ka6s7ljFOdv8IJt2Efx8n1MmoOTHvsdBuBosnkHBsFT35+S8qaJlvFotYtXKXH8zGnJbYjTPv8qzWPQyyzrdimeW8xdJdjZQaj4ERUMEkpOn35VLSywQpFDAQ+xqMlc3GiLJ+1BKayhR/Jl2zTZeIv8hnblxzB3gZKhPvmKSpMW7pm1n3xtEt6fzQHaTxh5ptsJlLgGg6S7IiWVR9NKm0D9Um7LUjLZnFohLkPkIYvxwjKTaE9tHvVaNa6kn0tNJJPiuNBW+tzseqc3Ng8IJPGGgln9CFLn0Z9hDbN+qv7pa6P4N/lpWTplvD9yZfIZdT4Y8PCChECJ/3I8MC6iBjUr8gnn2Kvs/THzJaGLMuEv2bEzwOOrQ+dDvmpqgpIDstXFKd8RaHeTuJocgUVb/PFJkX9emXw3BUvCI7CH22se3odkJAECaKBrTPBVLm1rM8RwLIcoeVmgiobYo16CdTC1zY7gKC9pjPORR9tmCyLedF9J1wS3Gd3y3ct4qOPix5mKpjN9drh+ly+ujcK0YdL8eVGGlnM4W5dNRUU2rvh/90l5rtAlXRM8JwHeyM9oVfzuxr1m3oJbon1vemJ5we0biOeoNWUHA3nuFMFOaUeDM5b5kD44AJamICC2v/osiah6Dc2fHjk4ylg7v7UWnhA0TM+aKz706K5N5nE9jvXqYZYieeiAUDu7ufOC2rNWt5iguimVOH26CUSuB3tIJ6FbGubzLs5Ry77Gxyxu0oCRW+s8KpHiG6rvpuyJj3B/7YFO4TFVji27RMmOLJmutGlSagMVRPfez01wOtqL1fV7fVRvd6pPs/xkUs6Uy0bP6eAqA4nE2+3jqM2TJKCXCtQJJYIb45l5WFld+F9g7wcGpXCr6HOhczK2zgb+WMU2FoLKZZ+1+TiORN2seaU97WXZaQHtn0Osoa7B/wbjWMuqkz1Em8lNCsTa/nhP8GGja5KOwokfke/TKMCvV7GsXrhSu1y2IzckUWiNh"},{"id":"a6ffd8e2-cc9e-4627-aca0-2be07267d104","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"英雄属性系统","description":"hero-attributes","prompt":"深入解析英雄属性系统的实现机制,基于Hero.ts中hero_init方法说明英雄基础属性(HP、MP、攻击力、防御力、速度等)的初始化流程,并结合HeroAttrs.ts阐述属性配置的数据结构设计。详细描述属性如何通过Attrs和NeAttrs进行动态计算与叠加,包括基础属性与成长属性的融合逻辑。提供代码示例展示属性加载、更新及在战斗中的实际应用方式,阐明属性系统与UI组件(如血条、能量条)的联动机制。分析属性变更事件的触发与监听模式,说明其在状态同步中的作用。","parent_id":"f79b3e3f-7266-4943-923c-fd05847c8278","progress_status":"completed","dependent_files":"assets/script/game/hero/Hero.ts,assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-28T10:43:31+08:00","gmt_modified":"2025-10-28T10:58:47+08:00","raw_data":"WikiEncrypted:F2QDLeqk3bPdyOmFrazHRMii3vwQkgHAvIPuRotTiX/vB9QrIk7kD/TzCbeQsh4dY/UwB41BrtPOnjVangYk9IRNCFBgszr3I3GPGza7mqG52vCtJ/HK/TYOpkw7kv169hOOwL/TlUZb6DEwUCA6huGdsh4SKPgQUFQ4+6JSxx8ePkTDjjklv5EpavmWgjyChIdlkd93QWqekqkWt26hdV6eF0zY6B/tZ1VP7trSUe3sM88ftHjXDH2gq8j6/BydcZISRjxX5IJsml7S1xFLd2u8awnRHbk7oofJ5W2/4W3xlKTbfRP9DyPGn+i5HrwX/XRo0O33T3PgRS7YaB1m6/Kae3mUHH4/ZqZU5wEZjSOXvw+OVrj3pKj4iZiKD3EjfkslaBLrUzIcplo59ch7ck2hP+roGPg/YfvVOU7GgZIURaY8VkAnbzdM7khMokpnOS4HurWok5AeEgV7+cOLK2YhoWVTihIuYMMoficyMUhNFWT2CuzhlzAQZgZBeCHPOXc07FupHsD0YaMUZwrbtkG694R6hj/mPNLV+BOmDzIcIG0lA0Dqm94jMy87mdthTTtnouvdeM/r46CYn2QTu14XyWCgmPjaSyoP8BHiCZsMcN/xe5jWJ4wRR/q+BmW0qBEiIsmojULRXgzsuxmyK85r1m97NAwkqO5I9U+qKd6kgfPMW7AMyQpgM+HBPelRSV7VauzY9GyGxSumzQUxvrcQ5hwmoBZbJWCerBgnxX/yNXyJL6eUWaGd5zVKaW6kzH1K1HfX6TGWK/DEsC/YitaNoewQrGw+eCfzPelxJJefPXorpx2erkKTLFoEOfMNEGRGxuSee7+5jiOJhWAsR2n4aTtRI01oGcJJcBybXGJg7cmiJx26/nnTfLkwoR2mtVZnYRj0pwj8RsWozvnRvM2wLfgeKdchFpYxHUJ3A2VjyxvunDFrRSneH05g57SOeKRCdB0lH9+7g2I/iY5wAvKSUS3e/ZPpII4cmNal3UKIqA4TBHeVh54DitJkFISAx9fHTbxCqu1C/JbC5bnRrxfr9nTldBwMVULBIzHgo3/hmxGUQr+rfk0jyiHKikl8YMjaYtUXlqlNIiFjNoVAKqjFnpdhb9NIKn+fmvRbcDJO2pHl4w0xIAw/LekmEiIm/Dw+1jcURxJnfqq4mltIQ61/DW+gfUuOOM8QXWCe6NG1LKAkx15S6oyYWNOhyInx09dyb0QSCq/S0XRxkIDAUA==","layer_level":1},{"id":"22995973-3621-45e6-9e84-32c5fef384e2","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"ECS架构","description":"ecs-architecture","prompt":"深入撰写关于本项目ECS(实体-组件-系统)架构的文档,解释其如何实现游戏逻辑的数据与行为解耦。结合ecs.md中的框架说明,详细阐述组件(Comp)的注册、添加、移除机制,以及实体(Entity)的生命周期管理。分析BattleMoveComp、BattleMoveSystem和EcsPositionSystem等实际代码,说明组件如何存储数据、系统如何处理逻辑,并展示系统通过filter()筛选具备特定组件的实体进行更新的机制。提供代码示例说明实体创建、组件绑定及系统执行流程,阐明ECS如何提升代码的模块化与可扩展性,并指导开发者如何定义新组件和系统。","parent_id":"1bae5647-f555-4ca7-973f-465df25f24d1","progress_status":"completed","dependent_files":"doc/ecs/ecs.md,assets/script/game/common/ecs\\position/BattleMoveComp.ts,assets/script/game/common/ecs\\position/BattleMoveSystem.ts,assets/script/game/common/ecs\\position/EcsPositionSystem.ts","gmt_create":"2025-10-28T10:43:37+08:00","gmt_modified":"2025-10-28T10:52:32+08:00","raw_data":"WikiEncrypted:M1X0ykhTDR4yAOgk8+o53HcGhlPC9LfSHl3zyBdBTYTN98G0mtkEZZwRSBNSqUBnhMhj2jWW4dFcCbznWisx0gcuDjLvbR6FxAH0g+I/ySCtEKUcIgvcjieyqWFntiDvlYiceYMwaT8ENq+ssBriTUqtb9GWTVzwzu7sLghkQqqxTFeRmmhzA9SsqJsxhfB5aN5YEF+wpez/6ma+vfq2QEzVMBWACnfL2OcmE5i2qeM1UXvl5+1dG2IT+g4plEUpztVAQSU/efKuey2TWycRLKbhytTCVqp60IoSBmFYBrbEWY4+BvhoDjkH9Sx99L+Kas+q4v4uv5K2hYCFlINwsIxZ4Lh6KUq8OktCkANe3RynP3aPuPWa+Y1MOKNlPOEWMEF1JcplQhF0j9q6Gxtl9//YEXlIJvz3VEmE8ozAH5EkxI3Pld+WC1PVbXtqw0EAR8QOcXfbf6bUJfo7gMebk6ZsDcZLYxPB7sYS1HMqKu1sHOu+uSuz1dRZZ2kzv69CzyQpZRlXv/5rD+4qD/Ulf0//bzasPmAiqxb1RCqkj3zg/8ngRSPu4Qg+m8t9Medj375o9TYu7+14jpLMfTRxSqvddLTpX2dyPO0J1R3PwIWo7PqQZY3w1QeLjq9qMcdSSxwO/B5/cJS6Sx0zBzTRS7fv/+5Vf/o1CCGql3kWmdkGuIW2t6LQ1bS8mbUtMNFyG5tuMNeOamUFPinEna7p9oysvbO4BZu0W5FNTMXiw9MwIxZdAZPLHXD85pnnQqODXDWMubVZsVPIa2qQwANIfa2Z/8uGdDZTbzrk2buKRl/KjyHYyVvkEYD1+5WY6s+iXTD2/4k2oI2dL9Zz6Sw1DMz/jD4tAu+gfr2N0h6bjL+Q21EUaVLMNhL9pmDkEjMhLDuan/6hj5Q1qvMr2+ePAPHYPGCZYy+lrkB+OExA86t1DGeEm64TIv8dtdMi4I8Oo9uucL/srJ3XH7QCMfSS3rVW1KS8LeeEaP4GNhpR5tnfQmkT/sHF5ieb7jb/gnEVLWQBhBk3m8Ag5rqV62bgB1DyUAMai/GzqJG9nysZm5fIbgRS2EDvOgcjofrbg0OYIrCXQ0BUbsDEhvznbpx3AuKtKh8JX64iovxBCZK2/Mkxq/egx69Zf6s8Ft2QawsQNbg5u0jUTcUSMfWaz77fAEu3JEl6zy2LdwlkTD68Rdb/z43tPn14RWCHMHekl3th6HOM+oTHzeBOQgiBl0bUE8z+Cbii+wcLYOT7eNhWut9YZ/wrMTH9oNzxhUAPhm0NyWYp0iTMpTqxmGktXVjDc+Ls9h6CTjAvm7lklQrhnFIBVfQyth741o9ywQRz+4a3aRNiNY54ezOYhKKRD4Az8JK1maPY3DBN3PFbNMX9xNrGrJwngNdG1Z+IQ393J3aG9TAsRBq3iuVaAI/SI+1ZgutQSgoz1B25Jaj8+hPrF6HMvW8kSQ/n6yzK+Pm2w3WrbAfWWCtwzogyrjhTHa6eMg==","layer_level":1},{"id":"77dbb69f-54a3-4c4e-a1a6-a6742bd50f57","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"初始化系统","description":"core-initialization","prompt":"开发详细内容以覆盖游戏启动时的初始化流程。解释Initialize.ts中基于ECS架构的init()方法如何通过AsyncQueue串行执行加载任务,包括loadCustom、loadLanguage、loadCommon和onComplete等阶段。说明loadGameDataUnified()如何根据运行环境(微信客户端或非微信客户端)决定从云端还是本地加载游戏数据,并描述initWxCloudEnv()和WxCloudApi.login()在云环境初始化与用户登录中的作用。结合LoadingViewComp.ts说明加载界面的UI绑定与进度反馈机制。提供代码示例展示如何扩展自定义加载逻辑,并指出常见问题如云环境ID未配置、语言包加载失败的排查方法及性能优化建议,例如资源预加载与异步队列调度。","parent_id":"72c56791-2a86-4429-a822-384c79c48732","progress_status":"completed","dependent_files":"assets/script/game/initialize/Initialize.ts,assets/script/game/initialize/view/LoadingViewComp.ts","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T10:52:34+08:00","raw_data":"WikiEncrypted:NMpG4jhY8r9zsYBp1pIpU4v3eYC55M+6N9V4DrZymuAsPXnz+tn0Zn6IAdpFt1KUZOYsCcwVATsNWYnskl1qchf8YRtWD3jKBVZAHdxgzeXAxi49t6xb3RaRLgzSjmunmMf2441PV6WzXPjl09zYbpcyYa7dea2gv873AUwd9NNTe+gBpm2OuHRAKrorwLFriKVnR72ii22dtMfsOHsMPx7W8IoMPlrtQb4YHhw3LYmsznhS8lgkHHJl534X8JYzYvKpP2XfLUSaRTmw3yeIy7yO+8yTPc/rrDBy61P6rqdV5L13tTqBaJ/e9jvhW9gIgZHaNAq7jrJ11tOUKeLnTiS+3r1N5+O/9ithq9iPd03zyLLy7q0PjOdFodnXiX4W7QdekRJ4tuooqOaqlnmftkbn4NXu057Y4H6ptJfdd9yudIZaWQyek5EGwT8thVa2JFNf3pi1R9KLIlcc27TXAQwlPZRL9SSvChsYcIalPQzjpZCG8b2zPLsfG7VGZGIOIqv6koPCmIgNX+5VBRpnbL3McrT/1d3ypa2iCRpO5EnpX47r5XCZBtOocS3+ZN3twNcMtQD22QWGsCUVk1IX5OOyOfjctuMcXb1YBvcumKFI3RazSF2/7E70vKGkT9f7n2y8j3v7Dljuj2Rq28z8mZfy6X3HTU6GVDPHHizLIliEy5E+HtdXhCwfW3sppz+VpZgib5tQrr37hhK01NsJ1K1Eyqr2eVqO2cUHsE1AVWNO4EDEgu90MDSnDmDlh0WIp/HUq5qFv2RVX0LeEqC4Tf0EQHNS8CNwiIW0zqaLTNVXyuUCHhsLBJKwn2kBHJLWMy10qoOOrhFW/BZcSAT5+GiL71wWhcr+fNYU7dD+XHKs1Mqbk2jhrTAKSrMLo/VsGDQsijbzA4+EAjfVOXgaDvQYdeGf0e7zbLGcRwCQEBZ+gEqLq9bQH7ChFq8O8jGRpeIdaSVR0jVj+ns6Es36UIe63SRKWKy06R+TvKPHvUwhM/GTkVFpmNiiYUp6NwqenW9+Q1CBYNBf0hMiYdfLdHtJpA7ov5vH5ZC/B5bBTplKYNSS0s01S4sWoz1M4mxFGhZGfUmzna2v9DGGkeXxe5Qnfb2YLEiBoqMyeocK+utlLtoZhDJl2CkRScgdTzqseOK+5udtNM77yMzMlOf2iWdXIi9vJ+HF5NJLhqcNDZdQZ8Vs7xJ1kMtCw7xIJrEq286FLtXbZgSRTa4YCFuhIX8XrtvQIE0eIH2gackYSZPZOkxpbzYpwop9egEDVX+oh60u0oPaeW5pdcTX6o7SSBAkW1meQiN6Am2LxTUcy/mBLqUBCctOjt1yOq1auOkn8A74er9OI+YVFtWkloHe+CDgnSpHfr8nEMwfhNdl/jYnx1hNTUhr9OHWj7M+y4yvcbm3qWWSUGDdvImNvOnmk+NP2OsSEzczSRckQ2BSa62A9sYCCy/i21tUi2ngWcop","layer_level":1},{"id":"302d516c-946a-47b1-9354-c2758c07b447","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励机制","description":"reward-mechanism","prompt":"详细阐述奖励系统的整体机制,重点描述三选一奖励的触发条件与实现逻辑。基于Mission.ts中的FightSet常量配置,解释奖励类型(如金币、经验、钻石)的定义与数值设定。分析MissionComp.ts中rewards数组和game_data对象的结构,说明奖励数据的收集与分发流程。描述do_drop方法如何处理掉落物品和游戏数据更新,并结合代码示例展示奖励发放的具体实现。解释MissionComp组件如何通过事件监听(如FightEnd)触发奖励界面的展示,并说明与Victory界面的数据传递机制。提供扩展新奖励类型的指导,包括配置修改和代码集成步骤。","parent_id":"0f35f30b-6bc1-4276-8b17-066199b14058","progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts,assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:44:09+08:00","gmt_modified":"2025-10-28T10:59:30+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvMKyXdrrGqzU5WIGnC+NQMoEV+317DqE8D06iBTx/VCO8C0+tg12IWg9zcpw61LXfilTI11ixOd2cSL00dM3qzOYjICk7srMGpWQprAya4emlvzzeF1anoLu0czcHJby5uxxxm8GYO6f/jbDT7QIzqB473Aam8rJEs2pciFTYuxcpnplkjYv8+S7i2bLF9GCsc0g2mJX62wonTCfEYe2dNq14HTl52Ld7Ktb1CllQMqJZSgXI5lGebbd/AqkFkKLRNPxTOc04RhG5yRfMKVpQ06C390JEotLes3X6hnONAiHLn6pEogJFr/4yRh6aTiYSxPiwu+2x4/eObM6d1SPI9bT/EfPB2TULgHuqmjDvHA7EbK/Y3OUEnD4630XLXWnkIkLd3cKIsQldDlLhHnb7xjw1KUZN92P4mKGz200g76NIfda7s5c3BAvjW3/i4TTXqUtm7AQOaREsv8di0gd2/HiT1atksES8FFULZX6d0JyZdyFrbpfW1upNKElR7r9oTr+cSMj6I2qJe/WOREpY/UytxK0KkrzAK8aB7nx5VJgH2/I1tESVP9Lh5Fj7FM31G5MbQBcMFFckl+xpQ1u44XfESJlZz2g2Cu+12aAiMud5krdUPwKsYhlPKiv9RrvpwyTF24/oZSviZxTo7jouhLKsTnEQrGAB5Y9ZnpKkGCmSCBW2Qi8UnNUhC3m70APxJW2BRPR5yrwoQ8Zey7t6j4AqMxowq2cIWWX/MHNYSx5eLL0b4FHLnpaybEeSjNFHAyDXkYoBfPE3QCxKwTRWNlPcGoFmu1FR/MeIRVx741EXOVKF6o6XZ2q5W6D05eSs+b+JfGLw0n8vpZPcpzLyRHhpR9uHe47h3WW4jKgn+dYkxgauIR7EtOtIXdirpBXk5yZ06ExT4wkDLSG3vv87hkzz7hxnCFPIB6NFT3f2EOYZahai9coCXzvE2FbGVkE/gQodMhNSVFWL4wVbZ4gakHwlCsashbZjwS9fzWnClkE7LvKagEEQa1AeyLKba6Roi3ff/z3EzivX5rPEr0aMWM4VzVo3Z3XoNlQAcI72fsPgRDlOzhBPjOmyv1J3g0Qt8oaRH6NG9f/Zk1ReV3/BIqgaXMRBaE5+JamLEMln6c7s/hkqLS2Vlkgi5JXa837nZ3g0I8fnzwRT7yhsnRYmavewlHI+eKvFkuWdpy1QmDh+UgkYw0AJHd9wSgSYLg7sTytbcsWN7QvChSQrLJUcGAbAnVW1tSx2QRk//RKbqfTAIMoiwsDwHtiaTk/Hfb36V4J0A2FTUOcnrGbpJ0KOP4zF42sISef75/foZvuV2mW","layer_level":1},{"id":"83eb0a2c-74d9-499f-aff1-6671315879c1","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"地图模型","description":"map-model","prompt":"详尽描述MapModelComp组件的设计与职责,作为地图系统的数据层核心,管理地图资源路径、关卡配置及地图跳转逻辑。结合GameMap.ts中对MapModel的引用,说明其在ECS架构中的初始化流程。解析map.json中地图基本信息(ID、名称、可跳转关卡)的结构定义,以及map_delivery.json中地图连接点(pos)、目标地图(toMapId)和出生点(start)的数据组织方式。提供如何添加新地图节点、配置多路径跳转及实现地图解锁条件的实例说明。阐述数据驱动设计如何提升关卡配置灵活性。","parent_id":"a0745634-c4a3-4095-889a-e14932a9983f","progress_status":"completed","dependent_files":"assets/script/game/map/model/MapModelComp.ts,assets/script/game/map/GameMap.ts,assets/resources/config/map/map.json,assets/resources/config/map/map_delivery.json","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-28T10:53:51+08:00","raw_data":"WikiEncrypted:4gUd6hf06eTpHC8RPaK8Uj14Ead1HyVu6OCZ6MswP42LwItXwc+E2eXmC0+XvTD3EskH68TAo8A9FILp2KnwC5T6QEheWKRJA+feV+6RYLRVb24lXQ+FICmbLn60HC4w58rErl/AAln7PX3R3bQvSM16d7CwGDeiBvfYvVMozinV2XE3oL8zvVF4w6lj1FirQ/txMtyd7FVWG2fFE2vpz98McB4xsOM68SblBO0GcwzlhqJ6XbZw7dpfuMhnNat1mbA2FgzD5HVFqQy3KvDDPmcbI8BBr3MnggqENh6WaORyUtiZFw27r3myB6MLdXsNsI7LrG5/gc27qp2psjbFAuTySRI8p/bSpwlkJ4Y25Kb479q88G6qUR6lderxqfZcu+6WVtr3MLgB/CN+YMsYFCJl0jMQ9dlEUgr37AOpPUbjFIqQM4yJpbLu2KESJZhLUY6YAiF7oOcJ0pLevgBFSrk2Xw6busNOd4Rp2HCc75qAXlWVomltTVvTL/GUSNm5EiaP2reQSVE1rcioPYbW0aimWFNzuyowMskh+/JwvoTbj3DFQEB0i0WfGL6qjhQZSA4dfO2IS+xn9WD/YXXm0YCYsMTKHH1inzkb3dqNC+VeAtr6MvLA3Y1ZxfrdRpB0mHjGyj5fN8gtkAHVV4p0OlJ4HNAyV1OnNHpTy4obDIEBYDFFTAayD+yj3n3kS3Au6FizYome5nreEA7ZNYMHy22BOKGAea8YGL2vqZhIZ6UfmN+jmlTrEoPL7JB+fQ89ymUgQ2a5z2wS7H2wV3sCthzQByKh+jDeJcwBg/2pACC1Xn/wJPKZnDvwHb6HP/ixzBX5mUrGXAI6VV4oUSF1fTpvpcgxuwkk8fclkyNcnlBQCjPqkc7I8ENkN7UHTgS90w79Lw0RWa8AWDZxeSghdBADi5UUtyR/8jg23UNsbgMr+/D41j4bqQ9DOd/b8TqCrlmhOcWMXuUzNCi68hMe0TTQIJ9dliTdFtU4zF2a7fU5Vh0NYFhxBlCEU3ojO0+HIl6IT3cIm9cYMbzcQ3ZVhbwzc4laQBtIsW0ty7UzSq5rpFclDCPsLwnkAdmfajpSGq+9RVCJdQND7vNpe5/MC1GzYuwWSGVOBUKuBb0rJ43/qhfLDp36fVlNenlQgVK80y0baDVoeo/BE6NtOm5K/JQ3CbFGlw/2kyB4C2OUZvrTQMVxZSgbrDir/+0ud+Me8mon3UISdnrm59KKiTX6LMSDbWUHluPPBJIkdCuM9b48RN85VWAURz2LGlT4M7iJz3vtFnq/FXj1b+jeNVM/40cdriG4RzSw/nctfRQsSqu2ujgTYQ2CW72zcVJWGpKL","layer_level":1},{"id":"5a36905a-2ad9-4491-8169-7c28155a3783","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"英雄信息面板","description":"ui-hero-info","prompt":"详细撰写HInfoComp.ts实现的英雄信息面板功能,涵盖英雄属性展示(名称、类型、攻防血量等)、英雄切换动画逻辑与平滑滚动机制。说明该组件如何通过getHeroList()获取英雄列表,并利用Tween实现左右滑动时的节点重排与动态加载。描述中心位置(pos_index=3)的缩放特效处理及动画冲突防止机制(isMoving标志与moveTimeoutId)。解释UI数据绑定方式,如何响应smc.fight_hero变化并更新ProgressBar和Label。提供英雄购买逻辑(buy_hero)与战斗启动流程(start_mission)的实现细节,并说明与全局状态管理smc的交互方式。","parent_id":"6f870e6f-9799-4354-8648-2abbdb72f7ad","progress_status":"completed","dependent_files":"assets/script/game/map/HInfoComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T10:55:04+08:00","raw_data":"WikiEncrypted:KpZl7GyQv6fOHe2D/hJKhasyFDPRFmL1Qk9pzMOYNeLl7sEAuAm78HI8EEA7GSSDLyaiJ7/BximHhLefHqQESP9Ql6DrDRmln1qXeb0/MzXiwDY6g9xxP/LpCzmw95xIeeSMxG+LcR3i4XQV1mg7v4SLsQo7eRZIZ3s8zOGTDzgD1cAkyM9Mg5RQPkE0FUZsDYwoGJ5wTuPw3kk6bnWnbQa7kzi8f8YtVn/lxNi6Mu3xT5wZDtBawq6jdeNKSlAvaoLrDWThxv5+VH0aqj7sYYMKI+b2OzRa6eUNcn1eccSjF51m0RMXmx5fFvRAXeHuTl2/s1KqTUJNTNaLtSWZlHxzGb2YOlFtHXcHEE+FO6gn0EdIx0K8HyYt9nKxnH47N5Aawg4/sEl/nJAg3Yt8hg7HO4UoNP3o2ePoXzSkB2ZB+59H4FQ/mTaNL50LjCqXlyFELJ+WALEftBibqgCkEliDXJL8kPjjg5TiFJxrufxj+4Td2kDTarjHUyQMphL0LPk/ykxuP5WXzgRKWB9NvXl5WM9wzrQCbO7TXJNeN+GT0nQTMoiyOciuV63i8kI6UnnTxWhPrje0Qh8MNr2nGfABwx6YDBfp6LBOoRMh9QJswIJQXdDqxv82vyZ4cGJZe1Sfz1wTmj1tPbmiNojEPQA8cFomiNYAniR51co7HudnC68EdVyJSjfu6HjZnLr/SZHOSD5AJ4ProlE4JMEiUQpA+hyz4x9dqhAyz+XKS2dggiVJ3D/kmwvaZCAqyzk9AU5q9q7qF7V0idjuXWWf65O2SZ53zPnfRuFTnKDEZOnQCeWEXqd3kBB2j14gPIUl653K3UqzNS9gNUhJU3kpUWpz0bMxUMeV7T2ES+0OJ+I02PN7yRbO87Mx2ygupqqbcdczimTseDZP8r2q13h8yyivnunQ7Be8B6Yyh1D7J5l5xLbqtVF9RzamSoTvbHalp6JaRNCwLPpTx/xVhuiro/9lZPMYHO+d9FnUu6n7AVtQwIG2PTd87KaYhlXesjE8PqLQ3Gxpo7zYBs6eiF6X/GKIMDe9AayU7T88wW4D7i/81pJjzO7TS0h3FqyOhZtfpziihZbGGGi1dapCnk9032xRlpbGRq1czrcloniRJyRx0gHneg+H4H/tnhsbO1Zn4XM0V4DY1qA69q6i5jeINHmpUx8/0+SQ1t4iONSJ3O6TelwmM8ONdawW7f3bsW7Ufjlgbm2aAe1hmRQ+OLIcdId13zVOM1YOo0JijF13nzk=","layer_level":1},{"id":"5d78ac41-4578-4d6a-a938-63f9800b992b","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"新手引导系统","description":"guidance-system","prompt":"详细记录新手引导系统的实现机制,基于Guide.ts说明引导配置的数据结构与ID定义,结合GuideConComp.ts分析引导流程的控制逻辑、事件监听与进度管理,通过GuideSetpComp.ts解析UI高亮、触摸响应与步骤切换的具体实现。文档需涵盖引导类型的处理(提示、点击、拖拽、等待)、目标节点查找机制、回调完成逻辑以及与Oops GUI系统的集成方式。提供实际代码示例展示如何新增一个三步引导流程,包括配置引导数据、触发引导启动、处理用户交互及完成回调。同时说明skipButton的跳过逻辑与资源清理机制,确保开发者能够完整理解并扩展引导功能。","parent_id":"17e2ecdc-81c5-49c0-b0a2-c142654c1366","progress_status":"completed","dependent_files":"assets/script/game/common/config/Guide.ts,assets/script/game/map/GuideConComp.ts,assets/script/game/map/GuideSetpComp.ts,assets/script/game/common/config/GameUIConfig.ts","gmt_create":"2025-10-28T10:44:39+08:00","gmt_modified":"2025-10-28T10:56:16+08:00","raw_data":"WikiEncrypted:bUQ/UQN+IiOV5raeK2ph2hGcENopxZFheRe+SKrinn671KbSkC9RoZxB2Gbm5tQBd0/cNwNSjTdPKR15rvh0vSN2ci19ihngGIYzP8h1clrkqGXjJB3oQMmBJYDk40nh+MRLW65xv/9DuLt+a46JqLe/jGtdXf1yWmcDBQmXdpFglbtbI46DGupSLyeu3KfMK7UwdisEEDIEfbo+G6f4oaRUBkSeGFIDsZUmbzLWOAGT9mMbev7qdWic3TSZCx5CjgTdewX4oy90OjQ91sj7fss3QWzUiEg9bpBUpE4eatlRpEEutz5EGtTsaw09OGqDDUTULai8EmDPzRC5zkYSlZZnBuU0h/5Iq3Zy26sDX3hyV4YG5+XgHz+aMpRYGfLJoMRUHv8D8e8JjEjbA9upKGhouVpu84gwKv/4UYIUScRVJPL2rhuJcnVOU8/avMki9aTTyGyaVEooq2SvWogoit7CfI2ZRbXBxVP/krVDuiQP36V0oAHAyQ65defykhwP9t8B+yStCKcFaSRAmz2SuPkyE67pWvI1K24cwIjlhayEDi8Zgu+OvOQMnun6HZ6yuDVKNm3zhhdNJ7N93+kPbQkQIG+lEdy1I9xxOCNC06LsAX+GXY/FcGQ51Aw0j/MkR+Ks/Ie5d3vyRhquo2faK0Z/Ue6TUsYSKrGNVGMnW61GFLW2+Q0TkTu9j8Wv2/Rqm/MIj2gg1qi4JScwqgc3idmTCFq+YHydE1dTU2GOIbXyNWH1lNqEGK/OPmU9OLnNv5hZlft2RHeekbOpUnTeqx0JYbFh9PNechULoZ+7lxtpVt800NV0kFEa5xgDGblD2zNOFh6n7e1YC3TmcPVvex8ICN7uwvw9TVTa7aSDsYnESd5oXwHKdAWzFOsA/9Ig2jzUJE677XjBlDThj74k3UH4v741VaA1FUG7KAHRJpRv3yZJLfagKkepuWCFavXhrIyoTxDnP5U+pqBqczZJp9NaKlDwwQ4fLzjn1DC0JwYHZtAtZdV+egCp7bo4ojYm5wzV20fUe2MdDUBsUbain8Z8F/LJkSiv8r6yfDJviRtV9Lu6BC7pzK9OdwHlxUf337wLDfTmVyVxCNwRt4UMH8ItiM/vLsw/IaNgbHot1FblDCidZCOR63tHaS2P5uNC5yVwoQ/Zk61r+Cx+Lkz3fbHy9vQmifmhUQANOcnJg8s2t6GJHgQRjBes+XC1i3foIztF3/m4LT+K1Cwnwc8063LHMM7lr1FiWnIj8B9mibw0GRWy/XMBjy17rlo0mUbC/TxDzQ9psYYQMM1BwlCTXz6/YqIcIkdG3KM4P3KuRQXwC22r8IRSwyk21gWxTtpAwbjTQBEVzyoW7B1Rxvu2ST/lGNScazQsteyrGdSzxRU4giyxyCebmBkk10zTVaWtzaX0PjEmHk1JTj4YJAj2Elz1y/yMpCUDCWJUxr4tmp7H37D/7xoUl/Q4wZM3rWkp38pLsM+sdJsQddEwZSWAmw==","layer_level":1},{"id":"d0415876-9b22-47a3-92d4-dfdc30a29d9d","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能配置表结构","description":"skill-config-schema","prompt":"全面解析SkillSet.ts中定义的技能配置表结构。详细说明SkillConfig接口的每个字段含义:uuid(技能唯一标识)、name(技能名称)、sp_name(特效资源名)、TGroup(目标群体:自身/敌方/友方等)、SType(技能类型:伤害/治疗/护盾/增益等)、DType(伤害类型:物理/魔法)、ap(攻击力百分比)、cd(冷却时间)、cost(资源消耗)、buffs(附加效果列表)等。结合代码示例6001(挥击)和6005(火球术)说明配置的实际应用。解释枚举类型TGroup、SType、DType的设计逻辑及其在战斗系统中的作用机制。提供新增技能的完整配置流程与验证方法。","parent_id":"c184e717-725a-4230-b0eb-702cebb87246","progress_status":"completed","dependent_files":"assets/script/game/common/config/SkillSet.ts","gmt_create":"2025-10-28T10:44:41+08:00","gmt_modified":"2025-10-28T11:18:18+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzCahgg1FPXaSgGdV+UMEGsNFaVF5L1Q3SOd3GsynkFD30B2xGGvtteQ/b5fe2msqwsCSySEoB1lavFo3uxG0YduAtoaruRhTH0xt/3um6JTBJNkpumgMTsl1UuZFwGZ56V9KUTlA32iSeXa6F+KpZi669BF0sP6R593GYiReYL/XkQSF4oS4H9fDdecJYk+v5yR2YylMRS74IAw4PW/v2d22uRD/V4Y+Cqi2jPSlWHwuF34XbMJxUMXCwHS2xl0mPRIHiRHjCdY+JCATKCF6c/H6UgOj3CuDBx3CN0R3wlwQkkB1ajgpG3tLDIcXJdi126gLVx7YXnyeIznNi9v80Byo2lRoPji65GAAfkp1TP1yR6MMROILVzNp2a8jIQ3yoS4jml4W6tDk/8eR/mEfu4yRUGSMfx6tRFO1s6YB9+8yJ4POsy7P/PYFzcXp/ODcXIEaX4+Od410NXqUHQwo8hJrFpX+742de9Pa37616nVLAue6Wsv4L2KD3v06+0Jo+rPNpuqC4DeD2BINCuHuhV4C8e+0pPzaMPtBV7VET6Gqf38LUXU0BBkZu/N4lK49vNBR0p5gbeHsm0iPQXWhzAUgzw02D5sO48dCE9KK9fDWLP0Wob1fGzozKL1dKjGkF96kpCk2l62/RIgFO1tSOabBkTFuog9o9RUwophGI4+aplS7ulcAhyz7OmEL4FxfjzGjRe/YzHWMZojQpT7a87AZbHkDpRTeKsVkcPunNf2JqJAYow4HweTDrJnrxqZEl10aFg4gNOhERLEPEpdbQMa+FNAr28xj72SNvA7jxDm50vyGHkTCVeMHcBLWLnhV+zO92P1bPnV0zyNvEzrZmc1LZjuXuX4kQxboWZuWdSC2Z3p/xtmahY58ytt8pzxyuN6p0rc4MIZLNh5o0fSd1PhOqw1GmgzSz1flFpoF3ds1qh1p010Fixx7tScJ/FqM0aiTz8ATjcdpxcFku8eXKdrhRNZXVy5KLgBBBBFAvz5guSGw7osU8hhIV5k8eA+38jxMI9lVodw8rVAg3yPUpfeEAvPgm4PUlaINQ9/AGyaYt/e7PZccpAWwgGjvo00Kg2x9PuBcUnGQ2y8iA/C4VSLIrJVIgrJP809E6MbmoGH5lU+we5CqXJ71UYdgWQUGpZxHZLAAo7S1GlkxjvoZeYa+fEcYRftWhO4LT8X7wlkwh9deylQjCC+v5F5+dJJHyotRkA8qnN7HOD1pTSvnGb3XnTIkIloZ3jyj1aQxqZBlC7zCXEdN3OHudZ4wIYxjpgJ5JOXkPES5gNrH0m9cPh0m0LZASDb+5fak2lv7sJlE","layer_level":2},{"id":"4881e416-094c-4e01-a682-f10fdf06454b","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"云数据同步","description":"cloud-synchronization","prompt":"创建关于微信云开发集成的详细文档,重点阐述WxCloudApi.ts中init、login、save、get四个静态方法的实现机制与调用流程。结合index.js云函数代码,说明服务端如何处理登录、数据保存与获取请求,包括数据库初始化、用户自动创建(getOrCreaterUser)、数据更新逻辑及错误处理策略。文档需包含完整的请求/响应数据结构定义,解释code=200成功状态与各类失败码的含义。提供前端调用示例代码,展示如何在游戏逻辑中安全地进行用户登录、进度上传与云端拉取。说明云函数部署流程(deploy.md)、环境配置(config.json)及安全性考虑(如_openid权限控制)。分析客户端与服务端的数据一致性保障机制,提出网络异常时的重试与缓存策略建议。","parent_id":"8a2baaf7-cf40-4469-b83e-2a3a85976b9b","progress_status":"completed","dependent_files":"assets/script/game/wx_clound_client_api/WxCloudApi.ts,build-templates/wechatgame/cloud_functions/cocos_cloud/index.js","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T10:57:19+08:00","raw_data":"WikiEncrypted:42GucIVlAI9L6q+fifwcxR15ytJw02g76WlEVhExnMrOkZ42k+RjkiNb2Pflkswp+zTtNcy42dI6b6sWluxBMtnSN6yblNW6CS6Iehf1lHH+xXnsmzqnYCY7LHiJU9kXUm/X1ffrfBy7smXxoQOkfhJ6PJMAe0ufoiyZwGpwMpVeGc17KEE6Nc6v7jGVIgcfAdVL4MXejXDQnzlW2AZ99elV5haKxIfUqq1ZMjlWqnLuxR/+0yrgpGqQke1UUP0iKY3udixYTnfGF3koLFPkslO6mx0dHSrLpDKmdGNz7Gvg0qgNjadvFhLhFno7z8ukE95riYi53j/9K7Ld6Rdln9Mqp1ad+y3x0s2iHaEmkVB+QaJfly9MFQUhbPdg2oZ2+/jYV1WUtfhdOYFF3JiEG/7XnzeJ+a/iU5bk4JUdyjUuOhYTKtAQl6waMnu4eZ5AOQdfqCTrRDzCc344m7fdrPQC0q05+JeHu3/SustzFHvnPX3Tf4Ehno+iHevuRAUPv+Ex7kKE0N6OlIZNzU/Ut4pg8WknnetJ88snX7bRJatH5nlCyiPGTsY6aFtPYj+GlmV3fJHPxFilACMP/h1M9Dcw9VUGYqH38oGyzfq6GgNQ54/uOxzmFHWSIFqTHcUefaiMO/4ZqJVcy1HaOqdMKrfK9O6qNM8g+c3u1Lcyh+ae3COzxU0R3XZJKrRlEj+VqKFnKV3GjmAmLB5FrFCEt6tjpPTzsw8rOWr1jRn4eLr4R7AFLSP87/i7JAKtLVFRZCYtSILWZlprY+DODKGWP8NFYZH8p495MyOCCZVeERzoottI3jFugm5hDrLEtiQnUAbgmysi5T8oi2qbaIEmz0c1CwAlEXw8RiMfyT2UWU19rmxUeg+EIS8AY0Ssy+izA2JtaBHMs7WRIul7WO+3WzPrGltLDQMrHl2Ppz7E1dWVhxxuNT6tBlGCFdRGKQEWeipjq1LnghSici+Zj1yfGQyK4Z3A2GvIt66zkLiQ38slU5K6NZ1SDN00ASteOMLOA/JA6tvMmwPeGJCJ9OTc7q4JH/lT8iMCrXWRT5MQFhVNCTU9/42d8tCF7w7bTtuK+PvgkKmS8OXB4crWWr3qf8kSlID/4j8nZsu24d4DmliL/DyGM3aK4BeIyWMkIQOBULfrYVs9f1wbbeOnHNqwop9FgWvrk7iypoSOO+51p+/q8orauJhHC8/719oblQyNx52eOArUau+c/Wq9eyHgBGOr/lnZczog+TZo+rN6h3Q8IT28uK1RQDSoo8MIM/zFpzjoRyQMWoZRRSoydO61ySuI1VYgkFHml/M4zX/D/YGDvo8MDIfPuTccrhmo1xx+tSu99HozfK5doGIWOHa3AwaNUwlN69meopXLERLZjlJHJs/sgErwViWUbpEvyTNAr34Tm4BNCLgUojB4wwl/7XYF167sJqJprCKRP939odsiv2REoo93ETrMJnkrz89XuOmUeC2CE4sUZz6a0cLwb5GjxBk0Yyx5ss/yWZTFLJYN3xqBwIDjbBWmdxRTAx4UVoopdjPBPqhtDrwIywyqD2eKOV5sSYoOrkeLBrnlmGDnp52k5hPQ8AOYMYeCklTh1DAohb5NmasSXDyAN6MaK8roJIIDL7eeuLw3G0d1zKZTawxkjGRRnwS+d48EdkvS","layer_level":1},{"id":"50b74287-5f12-4548-8d2b-25bf355b37b1","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"战斗奖励配置","description":"battle-reward-configuration","prompt":"深入解析基于Mission.ts文件的战斗奖励触发机制,重点围绕FightSet枚举中的BOSS_WAVE_UP、SKILL_WAVE_UP、EQUIP_WAVE_UP等波次常量,说明其在战斗流程中如何控制奖励的生成时机。详细解释ATK_ADD_COUNT、ATK_ADD_GLOD等参数对奖励数值的影响机制,并结合实际战斗流程说明属性提升、金币获取、技能解锁等奖励类型的配置逻辑。提供代码示例展示如何调整奖励触发波次或修改奖励数值。说明FightSet中各常量的业务含义及其与地图系统、怪物波次的联动关系。文档需包含配置加载方式、运行时访问路径以及常见问题如奖励未触发的排查方法。","parent_id":"75df5580-3a63-41da-a5d4-61f5e51b2de0","progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-28T10:45:09+08:00","gmt_modified":"2025-10-28T11:19:00+08:00","raw_data":"WikiEncrypted:FLszsY1J26G8VWTgMvIqxopSkab6qPM7grY61ttE3equeM8Gzpr4uNLJO+8PvZlWWiS6MjTJixYE1IuG7OGdopzKZofib5fuDG8XIT8us6bwcPzOvECX4g7dJhXelmrtAP5bG3fIexlPszxa4fD45O+Ml4KHAZ3z3gyq3tfxm8f+x6II6RWnX/C3mBCmQSx7oEXEWQWKR/Eqwu1y3BHraSFJJqqxpSOSnsy9wxtC1gkZW5iJlgPqzJhKA2Na1dAxLPdgnOoqtluwSNi1hFZyuO0QzAZcA7qyUnkWOBCVsrteLN0sdB0CQHCokO7DMPxLcIBL/9JvMdcejwfU/FA/WDYRorEY8IhNRkebE/Hdxh6VHYbwoGf8SuGaddUYT0YuIDXGDFjSDzuNPfzwKWj2CwtXHEuQhpc7/ZjOXKOR/5/E5iKuIHVq5RqXo9lu3lIZYoW23sO6zIlFKlHNVg84PloaBUZqDSYlVZ8fQMyTkl0T0oP9myri7tpM1I0r0s2XNltggc2QH73hef+FURlGzXd2ZXkMUGo2pE4NFAhdpkwMZ5QVhep0cTY6fGUa7QENkvwFEMFf/1cs/j7Kdnfj0L2B8jqGHyBcptjLDsbsPrHmag9bZY1qX6e8mNKkcQKbbCfNkOB2gzxI1XqySCgZr4i4LmAx+bKJZU4iHOBlcpcbYNQruf70hdIFKPY5Jjr7cbnz74qJ506C2iARSJAym39go5Gq+6WTANeboTDS2CG1jrvQ4uE+PGZya5jtQv4RJtL/9r43GF0K+woCOTP+78rb9RC+2fVoYgeEb5wBGiImRkVcunJip5cFBMMZe2q3J2w71p/UpsC0U7/1q0wKGpYamSnooBQ7F29ElGeoZnBPzaP2ME3As/Tdh15Ih4Tua1h1ds7Wm+w4hJX/nh6Z2GYlgp+knmeSmx3z6hU27TxW0im8cJx6H8UVskfgIOhtX7lKfcgniQLLPqt+hsi4jeP/e4q+rXDE0R6UV2qOrbw4EsXFZP7Dg4hXIXEGBsPSjIB1x9ECOcnHlUhHcQaOV1F45uJZd0olC+vkyla170Z3aDsHJawnwWL/g4nQ6sfQh3RphT92yAY+gkGnIUNWNnDnmtg3FrNqnCTwCmAXokuLYpJhnAhmkXxnQ+Tlpw8Je2rluophy0jPWWSDKyG1wV9+WHKe62CFVaEHiNCaHnEcKb5gKayiso/omzaE6sE2G5AYGfuUqp9nlKtUuHxG++GeYNBs68chP42Ba/urQAJFWPGp80diiNGPfW1sUr4+KtuB2HFRN2ql1pDIi9gosBYiEDgD2xGEE2QGa5AoRkM=","layer_level":2},{"id":"444d9cf9-1369-4aa9-a3ec-e2643449a253","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励配置","description":"reward-configuration","prompt":"详细解析Mission.ts文件中FightSet枚举的奖励相关配置项,包括金币(GREEN_GOLD、BLUE_GOLD等)、经验、钻石的数值定义与获取规则。解释TAL_NUM天赋数量、MORE_RC广告奖励次数等常量在奖励机制中的作用。结合代码示例说明如何通过修改FightSet常量调整奖励平衡性,并提供新增奖励类型(如特殊道具)的配置方法。阐述配置数据与运行时逻辑的映射关系,以及如何确保配置变更在游戏中的正确加载。","parent_id":"302d516c-946a-47b1-9354-c2758c07b447","progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:18:19+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvJ7HMNkzZcgHniUTwiXO9I4RqTwSXbtMrRbPf3L9KSnrKWjvi3CLNjbYYY5lmd8vinOvewexmPuiRH3TCYORypvS2XwjMvpIgYTO/6ES3eXnECAeVsnHcg8iYeu2NkWionm3/8xZcMFv12NpdwUz3fLSQlOSFep5ibgfZPIL1YI4p3cGKTkNicJY3rqBfi2wuWEhWXGklYxZcZ3wl5QRHN4dpe6kImygLiLOOzaubkNilk0NHBf6AgpI5tq3YSq1N80Gc1b7qfjMXaX3Qfq3JRAgmTfl51Xf5rMLczEWEZzg0sS67SskNa04r+N1SK4HAJQI2QSyGqYQ2d311qpKP5jKpctG7cIeffviSTY6jjWpFFVgCDYR64Uabhpuad6Ef0GILypk4EpnsfZFoqYWWezBEe4kRCw2FrP5llzG1FMY5D5YB6U7ZhcFOzuRHTEMBwFy7qOoxtF7IZyGNDsQVGexnzJ8WtQzvb++cNzVuxJpnATVcsr2VwCPOhsKVoyRyPGnBplghE4/AYT3wOUZZZEWAShTuGfuZWpzkzpU3VGgZJt65SUmBRIHxOKF980tGUblc6CI8ZHzx3dkBjszPxk9sSdWbHwTPOFqKvH/yr3ZlXph1YwVcp/1qWwcw6ZFHzsOYNEmSZmsK2z8rjdXTV8MBlaJs3EE6HG/c17bLYgBnUyRISp1qfuIbfmIhMSSm5gT9SaSX9qpwcV7bvVD/SQQbl20FsHN1saPoHirmA+TSl9PAWLOimzXvN0az/cBaDTaSQL7ceFGsoJNRgMFC9y9gcd/6PYolnWfAg0ibwTwxl16xjhfRJCRLtKuY/P97qghQ1SZrW8QXZjXNcJ00WJTko1e7xRHpuxyzSUsrZCKGoAOAGZuNE1g7fRfl2p87gpKY3xlXfXQt3cXsShP/nVoJOqGQRC/MuuSoaNyDP9GPNauRP34k2PDEOedHS2QgJcSm0VJO8FDUzT6ed16hQbRMK79iJPblCcYEQX3YBWO","layer_level":2},{"id":"3bebf6cc-72b9-4b67-96ef-cb755e8657f6","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"MissionComp事件处理机制","description":"mission-comp-event-handling","prompt":"详细分析MissionComp.ts中的事件监听与处理逻辑,重点说明onLoad方法中注册的GameEvent事件(如MissionStart、FightEnd、HeroDead等)的触发条件和响应行为。解释fight_end方法如何在战斗结束后延迟清理游戏实体,并通过cleanComponents方法移除英雄、攻击和技能相关组件。描述do_hero_dead方法在英雄死亡时如何判断游戏失败并打开Victory界面。提供代码示例展示事件派发与监听的完整流程,包括参数传递和UI打开逻辑。说明data_init方法在每局开始时对奖励数组和游戏数据的初始化过程。","parent_id":"d6f30777-c757-4b2a-a262-0e6cb15e5a2f","progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:19:06+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVU+adUpgSmsm39KyMhloq9qrW/Ml6b8Mwv6aQ8FRTu++kSD0l+zI/xOnllBFHu59xr0Xu0awQSgHeaQAZ4AUenWo9WYuhqaT9Qo9Ixdq76XEyNYzCDGFAtTGt6ifm5IpYNiHluibOmv0OQW5X56LlGQVYQup61aQi8e0XtidAM3dZjAi5YkTp/oHUKEgZHdX/0FtUMU3Q6LiWQk8RBB3eOi4Y0u+byyAvMd99Ea2l6eiImO2WyHSUQSG6W+XuRe4EJBUK7GXktfph+wWTHPxTnYOr6kTipnR+89f/+FqmOVWJch7hbBTzjRj9aQBdg/bHKOY7IiSySNLECx/cYNLr4t+aFX/YdLnTHg/V1RfySIikhtPOiXuOzTUJQLtCNudDRBQEuKOcYK/oouVzXyWDnxzT7QdcVlUUeVtD1ocOUDinmtmNh17G/Q7Q8Ej55h+JEDg3TwPVUfQ416qW2GCqPYTaMHflzyKvwygjyP6Vg7uSQZtACl5NHJBlUeNjxacoMV+oG3Nl+ibYLHgaF6NNSeKJ/MfX6RxpDnzDU1VU4SB8sR8Ub7G2c6wAPl28197kZI2S4zt4WWUTdW3Ge27SB/OLialjDV+QvBIejW5nu4tm6/14Ndr4bA6vlbUPFZcO5Y1iFGTL2PM3hDuYVRgyvSESRsn6zpseM14NDQd72uJMRAiDJJcO60n3PVvD0LpNIDsMLMEkDD8Y/ERz56LfpXAYbW7RYNblDeYBh/WnQsWEHrtdcikeu7h6uKCXkWZs2pBI6w/x3TQNwoC/rUvyQBcgNYmklAisGcQy1IUFFNnqfZrGFuctuqk2sNbG+959bHCREa0Th5279O8q8uNDvlGnFrjNNIQayJ72KpDwfqNbLzcGFQplzOaORHg375HW373zLSu3lfoqpEVYFWeJt0XtnP7dxkPmVVkwcQ25m1FdSGA4YDz+QyhTRQ4QHV0Y11ZiqkF/DcRIrVC8TLC2iiJoYDVoiUCr1HMReIBe7IdwrKZbMxtD8w5X+IbJ7coRPetkAe/UElsuRB4NpzmMd6y/GFR+JqW5m9yEDK0aISqncOup3sCXUX5JYU+HE81ErMgyyi6rY6Pc83zXpnuFgkvzDHkcTQNOz6uZZgAx2GTRfYjQw7h7LpPSy6T+B3eF0sYw9rNLzwI6vooHOoJuaU=","layer_level":2},{"id":"1acac556-2ede-4601-885c-8f35c1ab48d8","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"关卡生成规则","description":"rogue-stage-rules","prompt":"深入解析RogueConfig.ts中实现的关卡类型判定逻辑,重点阐述getStageType函数如何根据关卡号与玩家等级动态决定关卡类型(普通、精英、Boss、事件)。详细说明StageConfigRules中各关卡类型的怪物配置规则,包括基础数量、最小/最大数量范围及其随关卡递增的扩展机制。结合代码示例展示第10关、第5级等特殊规则的实现方式,并解释calculateMonsterCount函数如何基于关卡进度动态调整怪物数量。提供修改难度曲线、调整关卡频率及新增特殊关卡类型的配置方法,同时说明与GameMap.ts的集成调用时机。","parent_id":"143ddb5f-8cee-4348-bf32-f0d070e5ba12","progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-28T10:45:32+08:00","gmt_modified":"2025-10-28T11:19:25+08:00","raw_data":"WikiEncrypted:PTm23USGky7oBojbIKFGEyiS32hiOcQEPv6G25KJx5UFOL3MR76SnCpRO6X99t+lthxc1D7x/j54aAhipBZRswbBFx9DBdCyTMTzeiCRTJjsIQymSwNvP03eZchKnREfHiujAFEZmx1KhcWLog2BfXEw8YSBv4FPjFU6fhh5U8w7BhjrY4ZbdNq/F+vPNN/O1aAw7mivJpuzjdNJaOEhRUYYamPrc9iOuAC/RIPl0pWw0WB8NTHd4wSnfybr+0ZWo9PgjJuIHZCaihlSMiFqWAereEZiCwMWDG/mEyaeaFar0mC/sE6Wgi14tyZW+mYgezP+wYnX3Dt1z4DQVYjypcZV/3BjWwVovaOh66pR2WnnKnksPfn/TJsBqxZXBcI/AfR2ut1LxTfbH9IbWdNys+nMdytgXPToCePJmrY1Om7Ysl39Zc8luy3Qy1fmPKbLP1TFxpfaOhVI04260hpZAxcqR0ucDYqNdu9Dqe0mIHWqPZDcwXiweEq5hJ1AaqbQBurqe/SweW9ZM9FbNswrX4ClYVMW4Eh0M4HVK44AV/fGcQIB5HBkp9R1uvQMwP3LaMAZviVR6tyE20OPctxWI1sHDfh9YlOG4ctkFLCEFTvTUtEmTTGQEyLU3ys5xOpntyJL90vb0ms4VW16vTkQqMLn/c0hKqMPH9jAg0oOMc6muJfjypxPQb+8bTiDe2JnB1aOHqW8DvzR8CNl9pBr3kiRY4MtZr5hrqXTOihxhw6M3ZFPjx02vs/w1d7aLNKiXNVp5Ng+lx6p91pBRwYrGwadLWra3rXWnuQmNLlWnwtZujsjGs25AOOI1KZe6wAGKyHPgqgxcdXguvekb0oHIpANNtApvMHQ8zstW9gAd1CaFF3/v/maykUVnAzA32yPeDYJfkjXzxbw5m6J/QTyCyca89wxWySgmtsKgkCLW2GdTEWypGyxAMwTP7WzZytYhiJimCMrXUtxBtEoztxQa7KF/zqWM28ovnbCitH2l4xS+xmcYx5bH5hoJJgU3Zh3TWYwPUuI9zn2S1YI2CLElzzLYQTLw12HC2D4kz3pkgObuMPuag1A3MYdruYZsUEoQ7WgjzWg9bTTQI/TH78Np6XJTqaR5v8ZB8GASbtdhDfyPjtS6bu2Ju/RSmPtB6u5emCivs9Zlu6x7MUFkdKodMsddnuj3hwKcg+DSy4qRt/4unZbsAr1AayOMIn73VLjw5oNElbGfvR104CwAsEqyunCG6AxeVJPjB20lzl8ycTS7Uzs/s7dM2F74DvbANzG","layer_level":2},{"id":"b928ad9c-af98-4851-a30c-879fc351a271","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"地图视图控制","description":"map-view-control","prompt":"深入解析MapViewComp作为地图表现层的核心控制器,负责初始化地图场景、加载资源及管理生命周期。结合MapView.ts说明地图逻辑与视图的交互机制,阐述MapViewScene.ts如何组织场景节点结构并实现视图分层挂载。详细描述onLoad、start、update等方法中的事件监听与定时器管理逻辑,解释scene属性如何获取并关联MapViewScene实例。提供视图初始化流程、组件依赖注入与性能优化建议,并结合实际代码展示常见问题如资源未释放、事件重复监听的解决方案。","parent_id":"11673b58-6aa6-42e7-97bd-ced0af44ddd6","progress_status":"completed","dependent_files":"assets/script/game/map/view/MapViewComp.ts,assets/script/game/map/MapView.ts,assets/script/game/map/view/MapViewScene.ts","gmt_create":"2025-10-28T10:45:36+08:00","gmt_modified":"2025-10-28T11:20:03+08:00","raw_data":"WikiEncrypted:8X6dHc8oTZNrY2EvGKdkV8+eGazXtSM3ujjUh38PRk30KA0SQ1S7aEY1AwXCkk1dQeyrd8ZYmupK/A6ECIvpD+RfITVLv7ncN7IUuaWABYWqGDBEun0vMlrpDZ3PFtldJ6UzKbGt1xC7wMmkcT/hOFSd4gvlsYYlxgb5goeh5X7+krxn1BCf8PgOmgSg7UC1Y9lGD+hZAHX4QOYkDKMZpYaqvi6UDv8z5rR1KoG8Ouy7kDc2d+tdp0+KqvpxE7Q35Ovd3eTwr47ch1siUljqjaudaKsB8fItT7fWQ/AaY3bZt+onKH4vHvPb+OiKasDoPDdPDlEjNmt8FZiE3KEh38e2/7QmxYzYeYhCzwSaJWWO+TSHCg3BHFPMpHr567mfUzqyEJVyBs5IN+mWEdubJNTxqDs5jLrQ7uJgLWlnxYy6OTL/ufVEZnjCYWKjS4axqGd0zXGYP3y2lILijb9p4/kuKd7jSe/iyOL3nlTeMFNwq1B35cjLkaFe/3a7N/Nn0PXwdGJdUNiu7+VDdgYK5pbtU/X0w2pMhqRe9hMiSWKyyAQ5KUkF20g+vCl1/aL6Tj4juaMt67sZFdJWYf9EUdF4R5wspkj3ppcuO1IlY9db8JnNKOq/azsbTEvnbWMIDO0G+lwTkPPR9tMjDIJB6AkFb8wN8myj5v7CfS9RrmSbRwUzW5c0TSWUR5PQ8yx113KYy0PsI47HJ7jg1Fw0RT1s5RaUV2odNIPljzqWvQi5g7RKlttTwB8BpgGa0eRuagNe+vvOUgHGPfhennC1e74+BFbRQpCSpZGPJOiUZsMgUD1zfq3xM9Aj25+iKNT7pknVw0aUgYEwG/DIJcpnuSzUc5PAdcOpLp4kmSQQBfWDfJrGhWfOGDMQxTB1VfCouGoMAo02QJXJi6EA9FroS0mmGOnm4LwnsnP7WdMUnX5vwu5CI/Mr80/6k5rTnSpn5g0PsoA21U0xW/SkSO6w2/9YJdyxdz/7YLcqAU4mGOWT4L4SoP8v4NPpBDU00C7lCU+TbAYhnl0hAvDLmMTUERWlpMriEnt9TTM2dKz+JO2VCd8+Sj8hEy53Ubaelba1EIBepV8dSAAgpmH/OCLuokPJGJmTy3GNOoPWzUFyFEWEF8HA8S28cAOaVoxqq6RXG8D9Itgr+OcW77Ucvlfo8D91YYQj2VD8JCrgM92GCLLX4qNhn6VtVnhQWNM2jB/lAm4C7vPD/3y8DAscTNqH2w==","layer_level":2},{"id":"929c4f73-27bd-48aa-b38b-832dce5d3437","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"怪物实体","description":"monster-entity","prompt":"深入解析Mon.ts中Monster类的ECS架构实现,阐述其继承ecs.Entity并注册为`Monster`类型的机制。详细说明load方法中如何通过uuid动态加载预制体、设置初始位置及绑定视图组件的完整流程。重点分析BattleMoveComp组件的集成方式及其驱动怪物向左移动的逻辑实现。结合MonModelComp.ts说明怪物模型数据的存储与管理策略,包括属性重置机制。提供新增怪物实体类型、配置预制体路径及初始化参数的开发示例,并指出常见集成错误与调试方法。","parent_id":"ff55dc40-c8b1-410d-8640-7a81020a7553","progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/hero/MonModelComp.ts","gmt_create":"2025-10-28T10:45:54+08:00","gmt_modified":"2025-10-28T11:20:32+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRivwA+jIw0asTYbEfPUUKKWcpzxhzYjtKs2LUL5PV8QmuRCJBRwS9pRxFqDSv/6Ec5dylE/or93WFZpfQUJrRGBr+khcBprcvgHgP26cUka4DJ5EEaCZuiwvnHj9mICerSdpyb9lDoAkFvJF4MFzNQhHo/X6/WG+o9LKvzQeegtpy7uoNLQn5yWX9OMvHC6f1OaH/ADyBkvFP0HkzFxwjNyGGZzkGcUdwxdQpOXIQVsckrOgFIwoTn48JLCKEfr9afk1G/qtHoWPScbUwL3fNI2jDSsky+1hIRMpFzGqeiCtC/3Me5/DpPTkY0jrWBoP8AuaD4mhOllan8NnzU7KZTH0fDMBf96SVNRRTP5hxosXC6ygin0TyZjH/rDCX7RMmyDTLZP459jMivECCFcUUOrFaTUMWMtC2FVMdcW85khiupHlRDIHlxWdmCM5b1LJxm3t+Stjn3argCpm4K7zyNodiC7KO9PU0s0SKJiqIidoSFrVYlB4Zij3V7ZdEEjkpFrRYp+or0mZV+KdUf8Rh2PP6YdFeF31fqFLD8u6e/l90yM3VWR3v7/2E3Q//VVXiCGCsDJDv09GhmeNzWl8UQrW3c+d2hpPwzHKKa0q9sL/GNcTABtIauR0HZcI8820JuT7htDSjk4luEId/oi/+NmYu1Es0GxUrUYrs8alxP8ncfgv7JbgmoL7gYfS7xX1MylE90XXk5qTMmOpUGLoFxUWwgTlm+x/7CPL09YzFHP4TmrBV3msrLDgM+eaMEF6Ku2ZtiqWJJAI+QkgLfpx4zd1bndaU72eBdueqtWFip+/OiiyRKg8sEUPOB2ObJVp647TEF3p0V+wao3JTCcSRH3QiS4ssVBHQvLZU+Cq4KBYz3EldwtkzBP52yWcpj935B9Dr9dmIzoJTlKUJrE2XUIS969CI5psUJFx8L868lJAfspoctX/13a7MWK88dHI3afPv5pWtU+uBlZdIGgc/F8Nsvdx1eocI32/k8rmHgQZGfKSEFP+V2NwjErTOxIFP++D43mvumCaI7ut04m7ajrc/3TxaaKioW/9kUFHMjjOk8CMpLBwWwJeX+M2kSKNEvNnpoSQyO5+6Av+5N9lpCFNpsEfD6Rp0xXAMdCGGeWA4tt9S/wZmXcs7OeQgIAVkQ0Znf1DzChXyDTI55cJq9O3FaRTOWRL4TFWg3WrLF/17+FLhu3P3aPDUzF3R6ttlu1hEjz/lXBEQOzgDiWSlgc=","layer_level":2},{"id":"bfcc1da8-f5e6-4c7b-98bd-5dbe0f8242ad","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能冷却管理","description":"skill-cooldown-management","prompt":"深入分析SkillConComp中基于update循环的技能冷却机制。详细说明每帧累加cd值的实现方式,以及cd_max与mp消耗双重条件判断的触发逻辑。解释如何通过HeroView组件获取当前技能列表并进行状态更新,确保非战斗状态(pause或非play状态)下不进行冷却计算。提供在暂停、战斗结束等场景下的冷却清理最佳实践,并结合代码示例展示定时器资源释放过程。","parent_id":"dc4d87de-bd7d-4ff1-9d5d-901b96079880","progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:28:49+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzKaWuH4czuzn3feF9CUC0UYyIzEZw3PcagthH6rL4NQI2U6Av0nFyJNiWJAGfyCdnZTf9GtJLHEcEHwbk6zythlOictpwuRY7qw15G+YTrHZZzCAfGJ8cQzBWG7XV5fZXn3FhDeAQtiOjfrUVgkri7dGnDM/wKR7TlEGi6G9J2uEqAfjxgm0K4tySIDY5498MJcwu8CjO90ZEaFMsb0JG9uVdq7+TkAFLS6kkcZYKZanGE3IY5s9vXWho8Hgns5lz4fpPoFPTUdsPkpKl8n/wp8BjHZRyNAbJjQttzDb/SEAGnUhMFKwVBclfO//RyDgXl6NWum8YOPBM3YgZ+2RWcj8ZShJ8jGDlZfEdQo+8XaOUpZ2h0B2XIQ6SjXJFINaiWaehDMZRwjvMRURU8K+awDXXp+9oL/SybOIEECbq2xoLEZitOOWc83PMIGF1QIpZmsN0885YhLqhtcNRj4QmkN8t4ZPC7oxXXQhaVY0w9SzwejN5+SZNmiOVv3+I/eN4Lc8RQu8rHjK+R6rA4QSKv+IFI+RSUqD4scM1U7go4cALIVBEZt8z5VmNrvdWJxksUqMIZTziHjFSMeHtRgRJJDH/et78SUeC5mC7wH+EQfV2AfswrdAFJWfJv0sSTTnDow4FNk/wWJX5qtSqj8hsH3F2nxuxgY5r0rBb8btOL6Jtfx5MrVdNofPmHajasPWWThp+f1CEICNe4RaA3CEtqcROJQMfmJKsZePvuUFWlA0K4k52f9n36YEWs6Kyd8Eu/gnHt52EtriUoW5OQXafXOliyt0c1eCs2BZoSVy3lKrrBJNjP9ZTTjPvc5i2+57fT1txFDqqJSPqlAZAp5BNcOM2NpkpzpCnA1bBP3RSDB1p5TPxm/lDZHw8WaYW0gzk2Ldu++pprkIBlfORmAPGVdW7AIGwauWnLZAd9ePQEi2cs6zLQBJ38P4MTDhRwOBjgT2McbaNHwcIjc9B8wH1wA=","layer_level":3},{"id":"8dd02869-ddd8-4d74-b651-0379d3b1feee","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"地图基础图层","description":"map-layer-base","prompt":"详细阐述MapLayer类作为地图背景图层的核心实现机制,包括其继承自cc.Component的生命周期管理、纹理资源的动态加载与精灵帧初始化流程。说明如何根据地图配置进行尺寸适配与节点锚点校准,确保在不同分辨率设备下的正确渲染。解析其在MapViewComp中的注册与更新策略,展示图层初始化顺序与渲染层级的基础设定。结合代码示例说明如何扩展MapLayer以支持多段滚动背景或动态材质更新,并提供性能优化建议,如图集合并与绘制批次减少。","parent_id":"36b2fa51-94eb-434c-a175-ce323fc5a1f7","progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/MapLayer.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:29:25+08:00","raw_data":"WikiEncrypted:bYz3QGEiv3QjcQPO1h3R1RGAQCkvAy0+dyIXFWzUhxSbXBF++GqIylnFMao4tXHIn8g6lc0SnizbmaJwVBuPJ8rSacZ3hbWgG0s7qR86aAJKnXX47AvtgYLgwjit1Ye7ywwy6Ar8A5Gx3Qak2CNqlZtGsRlF3PoSZ8zSw2iuvxCre4Eqh4+EmS0hemp6Ph4iBqhARQgoZUgjGjXTk2A+hzBmpI9G/0PGpnoeyUCTryAW62+x4t0/GO3TOfccgM5uCa+PR9eyLNylC2Oi6BUyHDbp/2xis8f/6QTeR3etuZZBOqgqZfQndGmblNmOQ3Tf2wCIOcfwWubk9aczOQhAkQ9Skt8tAcZ0q/bH5C7y2XpKiLfbP8M2v1oh1hioYZClwWg8k3f6m+QZOOg+Fox4p18cmUlab5jApmcWwUzIAHlLcxWOnmDKiH/fInluVHAyJMuTRp9wHE4wAK0ntjSgj1LLxGe/uQX8bKfOxMG1Tk0WdQfgrhW8fCWzN3gDq4qjj9fogtmU9GiB2ZJDGSuHNrmR6DD1tErFif2XzvCY55fHGtNOvBKKAiyHt3G4vj8S3tpME6zoQWnltdZDgpwRXABqrWogKl0TvDmgwnTV8uO03J6emuyqBl9JvtKyoP8DLuVz6Ovzy8UMkXw9yj20MocDeDv0e+B9l4VlQOlvn2ZZun+rNUvM7fqy8eFqQ1bZjWnGCOPMKqZnAlj8DEx2fNRXK82kbgANL1TImXHqLKS/VPC34A1HJWWSwh2vumgHQAMglWfK2lyyXCIgSDkgqi/z+VlDF5e6OgYGvqcq9bh+74f/EluR1sqsQFQ5hLZDQlJrvCZQhj9u4S6Cf/OTpTPtNPfsg3WS0j/fLCv/xC2/CZTPngWCZXw2w2y5+ZcxIBtEMv/aJaWZ8wxz/Ak9E6qHz5nuIiFt07TB6qkA6+u3oDews7EDV/vEj2a7SHDMMMig84tEDx4078BuOvgEY7xkjEesRaXdHOF9qj2zA/P11znftqKRg5jKpgNsJ6qslWHaWwG34CJxZTKlUTAIM5MtViTG4jetKrQYSO40y2llKOeGpPPXzEqvl8GdDcgmAMnhfuGOj+4fe26qDfksZ+lDt6fRo8UNuPqi/KWroLdDJ15R/obU/hdDxLw9wfUz","layer_level":3},{"id":"fe209d1c-c5a8-462a-a373-d7ac5ac75525","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"怪物实体初始化流程","description":"monster-entity-initialization","prompt":"深入解析Monster类中load方法的完整初始化流程,重点阐述如何通过uuid动态加载对应预制体、设置初始位置与缩放、禁用碰撞体并延迟启用的实现机制。详细说明hero_init方法中如何根据强度倍率动态调整基础属性(HP、AP、DEF)并初始化技能列表的逻辑。结合代码示例展示如何调用load方法生成普通怪物与Boss怪物,并解释scene.entityLayer节点挂载、消息事件'monster_load'派发的作用。指出在资源路径错误、uuid越界或节点层级缺失时的常见异常及调试策略。","parent_id":"929c4f73-27bd-48aa-b38b-832dce5d3437","progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts","gmt_create":"2025-10-28T10:46:21+08:00","gmt_modified":"2025-10-28T11:30:21+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRowznLaC4VZ32nuQ/4O7K7SozS1PgjddtKV0IG2eyExdJRxQqwuTSL668fx3hbWFprQAIo+LX9DNFXvzaxKOWVIbuSV+WRfrrBx8wHqC4Je+QDLq7z/FuRhbRtEDdr16LRbZGsI14OewoBHrDZ+sx3jelXbvKSvfZhWt+zDF3EGyygqnO9lFBI4H+CMy/INAq6F6cOhHSKk+zwql0n+Fol9mOjbZNx9zs/9nCHJCOv408J8+UEG5xg3Oq7Dp0NSneaLEK0e+IxL7K2YkYA2Cw+Jpg8ehJAaW1nuG3g4CUXFNxIPnrmZqkgHMvFfignP0bV8+ky2OtMTCIaug5dOHaPY7FP8XXud76IDqs8HDCMFkWRrFF4Vtux+J8LZz+alFPdUT5a9FPkzPz+neyv1glH0qq416Cm6BQcjax1yoRAAZ4GEyx9mgju8GOCIVuw3wPTTjgAGgKZtN+9WJpVRKDnj50CDl69ofRxV+BQgp/s7fI0Q/Lhl2jJ30MaNXAViQW8Bkkvch0vX1Gvj+XJHkZ/+N2JwVqyewT50NFdrKWBuu/NWNbAbepHS7Osm/fFGvAc7b+JXWbjNbJIH1bhEKIevMDN6ufCtyM1JiGaleatJXlRHgohMt/Mb3H51ZDwSvJsioH/QlOFDnISKmEv8a/b+A8UkS/Q74RCP3GfoO3IuznJ41SlAh0ayNmcYzJ1BnjVIoz07wdnMztE6dCsIuHr29SJS6TytThDWyK2E/1QqyBPony3iLnSJHyctt+FPnRCpNshAk67MsFRH4HMinjiF4Tu3tOMI805TumR+nMHsZVC6fqK/CBTZgUeg3Mm6H05GLn1DCy5ltK+734/4UyWviKk26Oem5kIgyPr3fD/hyn78khz4lTAhZ/Ln/esZp+wfEvkmPLcrsDLHzqBiEpah9mtf9oOn4+nWVH7b6i++mjXPV/4hgUFE8zi3yojvbftKyimcqeorr4edwyEv3HRczKyi/hsSxhzq+qeYYs037MboFOUit/rO5DcY+akFQXg20Ilv5flera4mW5D62VetH703AIbieQ+1m0WcvLGmzIqNgiZJvBkWmSAgmrHZQRJpdzqAxtwmCtwmt+tmRsxKvAkdOoosvi4yWsi4SbdNqlDVUqZ4KlJV9szAb4nMbfz5nyYfj4QdKxbAxpP1Kecw=","layer_level":3},{"id":"1bae5647-f555-4ca7-973f-465df25f24d1","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技术架构","description":"architecture","prompt":"深入撰写关于本项目核心技术架构的文档,涵盖ECS(实体-组件-系统)、MVVM(模型-视图-视图模型)和单例模式三大支柱。详细解释ECS如何在游戏逻辑中解耦数据与行为,结合ecs.md说明组件与系统的协作机制;基于MvvmInfo.md阐述Oops Plugin Framework如何实现UI与数据的双向绑定;分析SingletonModuleComp.ts中全局模块管理的实现原理。描述Main.ts作为主入口的初始化流程,以及Initialize.ts如何协调加载与启动过程。说明这些架构模式如何共同提升代码可维护性与扩展性,并通过具体代码示例展示其调用关系与生命周期管理。","order":1,"progress_status":"completed","dependent_files":"doc/ecs/ecs.md,doc/mvvm/MvvmInfo.md,assets/script/game/common/SingletonModuleComp.ts,assets/script/Main.ts,assets/script/game/initialize/Initialize.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:47:40+08:00","raw_data":"WikiEncrypted:EPw1VhZSv2AMLpYzHbCG5WhrBrPQhDzToMUWXKxAdV/w7bFvcDTpDQ8g3w/mljCUwNFQz6Yw9gGWhUGKq6lMHQICz2S/Ys+a2c83yTM/EYxhOCIn4XY8ou6/6F1lsUW2ZlHviHChSXdm38sA7UyOtsGptaNrSJoOezVjIOTsNZPvNcmV1ylO2ZsqN6SM5ybTQ+EmAlq/aU8QCpVycCdEM83LVcey6tafrI6KWB71l8QV7+Tvm61T5kGACF5yj/FX0Cv2yUt07rhlHVYS5SixBuVN2plmi3wiE05yoWRiMZu+R6bHT6636fR8vFqX67otXXP8OkoFbdWd2YDBDoJd+CuBqBWSFv2ZQv+SncREU0ws5/t2TpGkScUKCavIED4ChrjjeFcxlnVJT/wQ8FLBXpS/gPKyqbZiCUCNSFBWY81FaplJJnMwlD0M/n6cElGzeJrFSX8LzZ+b/BmQQY4msImshnAz33HaSqzQ52FM0u3cPsyuI7cKXRt2rlEB0hsfbFSMOqqIIGvUE8XD++9qpvolimo7DLMOSHX22IjPyu8WeZG4RusTAR3FPQz5T12pKRyDwQ0f7CQ4J+DoFrUdqhRDzDXrj4gIXSHqqv3sV3g4rP9Bv3vK0fN8fXJk8B4HUh7PtCyHAJUV7Ehhp7WFqRne7QQ/im4TSbF0UVv0IrV3Cr/Ch2YsJtYreGTv+bTeFyvJo+wsTWy6pW5QFu42fiJqyjXhsKgwhiniNQL4M6Y9TxausZj1dZWzAax74sx3UXxo6QSdV3Yb4nJ+QYOzOtfeeCp5srlCZmXxIyU+nUMDZsdl+5BEpDaJjU/4LE9hhIqTMKfX5LD+Z3G04WCHD6E5NjeSLdPRFbsewmI9NpxWS6drlA5lQeWE9hwR10hMpgFsGGvSIc1eesAzkfce6TPRXYc6cosWIP7Lz9GvFlopTIMrUv+M+xVb/CrI7+zRbZBp4bKJB/NPZS6kGB84M0iyNAprYcq1YJD54r6CKEXAj7Rl7u6d/ia2NBBdZ2rH/ZnV0Wny6e3s2+wOopkjtMkGO3QPGq4JF8gyPuAR0OBXv/n1T675MvCR/BspSVlYt+JyzOFuKl4Gnxww4NvgUNLDsEabMXFIRbYK8A8WPnT0DzR8A/8aSukz0nqTj4h/9+1TtBO8HC6UWd4srrrXxdxAr/tfFZspWYDuojUrqeiTn9fHOnzB6luNnFL6AK6zGLJ1a8re23IBxX2ewVp0FUnNdjTEYjKZrCEyWClb7eK+ptNlbw7KasGtczKjiV0GURuiXDdn3JjyiMr79HI38crGShEC4H4fkDWNO5NYkemCmzTfffQhypcpstk1OS6HNvFgSS8iaxczjnYF634FPdUtFeuLMqgrQ1PtteUGQmprySvp562c/ZGoe2pOSsfHn4dgqYblbriikVkseDiyvA=="},{"id":"c184e717-725a-4230-b0eb-702cebb87246","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能系统","description":"hero-skill-system","prompt":"全面记录技能系统的数据定义与运行逻辑。基于SkillSet.ts详细说明技能配置表的结构设计,包括技能类型(SType)、目标群体(TGroup)、伤害类型(DType)、冷却时间(cd)、消耗(cost)等关键字段的含义与使用规则。结合SkillConComp.ts分析技能控制组件的工作机制,重点描述技能冷却管理、自动施法条件判断、多段技能连发(如wfuny机制)、目标选择策略(selectTargets方法)以及定时器资源管理。提供技能释放全过程的代码示例,涵盖技能预判、特效播放、实体生成(SkillEnt)等环节,并说明异常处理与节点有效性检查的最佳实践。","parent_id":"f79b3e3f-7266-4943-923c-fd05847c8278","order":1,"progress_status":"completed","dependent_files":"assets/script/game/common/config/SkillSet.ts,assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:43:31+08:00","gmt_modified":"2025-10-28T10:59:00+08:00","raw_data":"WikiEncrypted:Sog6CEnsgMHJ/FnZmipAzXWMh+hfnyFAzmFW6V9ORqBeTZppVvpXT4tE7Sc9W5vGrddHE56ySlp0d3o0CVM4/goPRqY62JpO5bM5X3Jarwq/VM9bqtH824E7IktPoxG0DREYZOfKQKHdUerJGNljmUpWO9Dxrzma9WPXI8ra9wIDwSma+XMSmSdgilcS/iIuRX/Cjl41WaVbkNNq+liujIEoZGBj6unY7PN/pp+7KvZ+04SetKhdLdb1LrAOX5cmb4wv59/fIZJuUaHCTtH0KW5j8s5OXpoz6TlPuSb4Ggjyt0etjHeLXdDHet7WdvSY3vKbiIcx8sEEzYUbRmQpXeagHap4sHa4kiC/hkAodOCyYGDaNqAROaP0c/dSZvBOYN0zFi5KtbxgK1sHLvFSnBjGxh3XQDeEWQPC83dk9Tp9+Y4bMlBdxhOC9jNpxpaRF6Iz7TOGXgiywRR6Ni2BBO48mVu7/MWFbjbayMzZhd78nlbSDCc+FA+Dt76ClfAwi3Ui/ra9g85bu+vjmbYqWvUdtxzCGrKyhaqzcyYOSgAfDRj9taZ+x1ooej6/gmF1uwrlfizOIA4LZoYs8K8Wpi0cWwmbFLtGaMG1PZ6AtCTgGb9L97wEsvFJZdKy6EMQ2FeYhxQdAqMHEx/NMebx2FpkKbnVbILtUrL84bu68U7Ud3HKXyeGmRJr51zhWo8aSkpj2D2rQSZ+6XcFYBan1pOUR12Bxa/7zna+ElrPqxHLakXbPp4xhJouqu2Hh4EW75ASXuZugUu9b4MPnPHNkeLyPTSa8NorxZrgQssuKi9F1g0Z7UmIk2dILb7qJrKFpb0Pho9B671X9PbyRUTLHWAlPjDKmaKDCGC/0/0VYYuafsS4v8+XMPQCe/YEAp6/oWyKHKKJM/MpEoBdpnzD3k9kkbZKdx3u1xgJEUPzXT0gBFEG6t/IuI2tMz7yY05sE7GrYuQ1jZM2kNRsGDhal3YXX8a5nBhFYyLTrteTxsRXvNgUIGRyvFearIXy2mW/ClHrcg8KwHOK+y9ePK1SfSVr36R7BEhRAWot7+pIU/2ZwUiU9LO6PD1LUjJ01SfTCfFBHHvnqWZur7nZVJB3tuXGSOmoQCyYw6im/i4qN8fEKBYNmp79w4CKwanADYV+pkaXCxZ5T+TlYK13+oyJGaPpmI3LFZSIt7aDrrrb0i8P7KCV13GHkkd5mopDpyB4fmXEkJFfHoqQROgbwlPZwQojlSvkYUHdQmF5yzVBZDQ3M3tVkXt6YOKalkFILVBSdGnYU23wBxm+zZ5hkV9oF5rmMYGWCAy2Q9wpV7pNMo+mPda8ZUFK4ShTkyeKs1PsggayOtN1LBuhfjiXkPfv8w==","layer_level":1},{"id":"6c8feaf5-8d1d-4617-a2f0-963d973207ec","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"MVVM框架","description":"mvvm-framework","prompt":"详细撰写Oops Plugin Framework的MVVM实现机制文档。基于MvvmInfo.md,解释ViewModel、VMBase及各类VM组件(如VMLabel、VMState)的作用。阐述如何通过VM.add(data, 'tag')注册数据模型,并实现UI组件(如HInfoComp、SIconComp)与数据的双向绑定。结合GameUIConfig.ts中的UI配置,说明数据变化如何通过cc.director.emit触发UI自动更新。提供具体示例,展示如何在编辑器中挂载VMCustom组件并设置watchPath来绑定数据,以及如何处理数值格式化、节点状态切换和进度条更新,确保开发者能快速掌握无代码或低代码的UI逻辑实现方法。","parent_id":"1bae5647-f555-4ca7-973f-465df25f24d1","order":1,"progress_status":"completed","dependent_files":"doc/mvvm/MvvmInfo.md,assets/script/game/common/config/GameUIConfig.ts,assets/script/game/map/HInfoComp.ts,assets/script/game/map/SIconComp.ts","gmt_create":"2025-10-28T10:43:37+08:00","gmt_modified":"2025-10-28T11:00:30+08:00","raw_data":"WikiEncrypted:OPNueyipF7BYyTZBw9Ncv4xskjCJdVxe/PX9bsVoYzGTLgMWlZ7XhO9pIc2lsy6HB83wMCnmdT6CAiCtLP7Mhqt77VPtcK1pe9RTdNjOKc2zO0pJttGDHAeKN9+sbNiqkw2pXyAC3HxEWHrTLjDrz55iP0VzcWXSpFRNaBqLhAYnT9BqAxwZcz9pRqo5xBzUGoRNyumESnIQGQNddV5V6jtBxgfgdhGITd919RHan6SsJtJisJC4Tvh6sqr/D/MLCK0mq/xzCHcRYUXAyKKCEzUcIfMjoiZBFTdbrat4Yh+EjIUcfo+vSBU2RHOX/1i1WP98D6LRRNJRm+reYSpEwXQpAI814a4dFX9FL87LRF36sC6KrLw3Hzb88SHpi6aOvhKPAENAQKJj8MqC09HePYZcW6Vnhc6VLHctqE3S/qQaI8fwrw7nE2Ta0O8ZTQj0FbcUxB9qJS76ILprVB+tQIu7gfjx2KvQk0lBXl/dC2me98u6iC2FS4XdSAKLeXXHkaxybSpzAvFk9wU/qGI+ZTwqXHY79iukpE2UGlV9OFh2XYNzYbB7ndJGpJDoxfCEE+k+I386WMSH8kQt16yWW1ex4mwGCeJxDb1JUwt8280SfxJ31W0bXnvjT2KKPewxqqIB1uo0WkaLIIr6JfUdEw8vrdnMvyuY+GcqyKGs4R+EPr1xECNYlf9i35Cj7CM6qpXAepi9NBWWcxZnEDIRXotHIv/I5lCkT/5K0E4ddmnw+UtFFDz9f+BmazKMhfwDZysaNT7C87g6sA2ozCMwfYN2p4LB1HsaC+LvHbR+G/zSa82yBAvffci9WB5pdnMtVkWwrKnka1hzThb/lUZSXF9ioOfNJDBGjMTrC6tAHglt3kgOMR2wrV5SAc9U6QSoORfhuJJan1mKPwaPu7jD4tPi/Uj/8biLL2d/IwR3lbgMAdYwS6AhFYsU393n4jYg64PszQ97XNKs/fF8A9TfB2hhxDVC+RckV8qP/y+bAqb/0xgvth+MF8RfG6XKa9AvA6oo9ywzkyFdGVe8ljrxcHvWqpNDOZKIIXa+hWw/CCNE/euOCmQrtJhoYk5yF7g7eUTu03tHMb3wK6d1KZyngCrpmzwbYpp52M8A07hvHUyPkhURvVrmOw2KdesHAOCwE8p5tQHlWsxxzacaQzeky3jdPLSX2S4p2cZopZMJ06EYIW5RcxmGJRVA1xjRDX7Bb7jInJKOexI8KRmAUNqRqdCpIEMIYR9bI9uloppSfEQjge9JtomCuhmmfBTC9S/NjihFZc+omFeqT29dTw5f3Npih43Pyq0K43YggICA0NBDMEhQkdJ09iv9dNsNOfbrKyBwEAUQVsPAS3ncz159YECMwNTxd3XXgZo5WhKqLMjBkafughafUSbcpiV99zAlYx1/A3p49kXt0PUBRo5lqg==","layer_level":1},{"id":"bbff622a-3c66-4c15-842f-d3bba7173423","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"事件系统","description":"core-event-system","prompt":"开发详细内容以文档化游戏的全局事件总线机制。基于GameEvent.ts枚举列出所有可用事件常量,如MissionWin、HeroLvUp、GoldUpdate等,并分类说明其触发时机与业务含义。结合event.md中的代码示例,解释oops.message.on()与oops.message.once()的使用差异及内存泄漏防范措施。深入分析事件系统在解耦模块间通信中的作用,例如英雄升级(HeroLvUp)如何触发UI更新与成就判断。提供实际代码片段演示事件监听、派发与注销的完整流程,并说明事件命名规范、作用域管理及调试技巧(如事件监听器dump)。指出常见问题如事件重复注册、this上下文丢失的解决方案。","parent_id":"72c56791-2a86-4429-a822-384c79c48732","order":1,"progress_status":"completed","dependent_files":"assets/script/game/common/config/GameEvent.ts,doc/core/common/event.md","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T11:06:03+08:00","raw_data":"WikiEncrypted:3YCQoguH7ZYLzdjRb8fDt5UgBCRAm3NCuo6xRl0ywIwSsKKoaf+OMTSFhJUVrVFM/ePHz38hSCYq1/2wMCd6Lvn6vdEOV2+1MwVn5W/LQB+Gl6MWHxj00Jkxbq3y9FIObGflAtzfjHiuI53jrXIf0oNuUxhNmVPW3DG+Qvu27wWqcNHsTAhdwktEvWybydACiQxGMIquCqN/lO/8vi6vhVMsnW4zT3EAGJaFXjkMUTTHqmJcS9grq+wcZKexdd1MFNcT8zQ9mYmR9d1Rk0NyACTN1yKfCRRVesULsqeE050J9iTsEn7S5GdZQI4RZLgW4SeEeTna4X+KqIOtcJHP/fzultYkkJiXKrjFIsi0naYNegQNqbTiip/dnhxrITkRShBs4c4bYTgtGF3oW6VjAvGIEliPp9f2mNT2K4HN/DJFPCwTgPOFs5eb/d/tDJbyujY1UDcwJTrWDhn9yyqqttsjxPVIZKKOkNlC4wXzOmYUh2Owtg2jjxtfLIUFynYhNzWRIzS5ICJS6dCiwAjOTUchysxmYfy8lgjtnDmhPP2oSkN8AUStQ55F4nDIC6dufOR+zzSx5KA9XPdvG8BfRwEJCkak6gURVTVO2m2Hu5TCMXPD+DgX6I8S/EH6s4z/MXYuhGwDBZloZjpcGRt4j9I4rquoIvdYyMJlnnvnZgeFeOdlY4FG/xifSiAiFyP9dWOCH9P9wQhd25w1VSAwRWTeC0MGxm4Yx4KSizrbcqldzkrzVpXrBh/38nluE1JyNdahUYYO9b+JbWZj9Q+ZgTCUrKoc36BQdeONgiwDN0Phux5vDeVmJTRNEY6D38KvCQaG6Y8MBhObIL2N4YcotZZDiLZKSLuTmPvwmx4r98olF5FKSymOBGrojMedBKfP0xi+YhebN571r2Q85Rw96XQDzXX1vfFc3slchK7Z0ByezVRpb/tIsXsXf99v9wTtDYrl3zUiPHZTvZLYHmaNnORoJPLmWCRlYjgcHtJvmslZti/uHeh96BkI5j//5UC4QmkGCowip1rK4vuKggdDmUlazjd9a+zSMZLZolCMnvONtcXT+Vd30DHQxA092oAEx+ev1xnFOtPA89W9SGyAjfTIkGUDBltm4VvDt/VyQ1w17mNPVJ6zY2sJwL6NCmsNd3Q6L4vmOLFMpR+mTDvfY7AwWtX4ioowW3RPNUjX0kje10je40SjWpI7PEVD/5HICf7DQCSVZzPJoI5Awr7L4Um3rPXiCCPPebgE20jB0c021bMR/Iphosi7b8CUnL/9VfhDUxQnwPKrpbEVF4rgd6bfNvbvL3C9n3bDqJ+4mU9RtPkc4pUo0jvSvr3pPwj2OU23IZMN1IsXPTwTuh2KeTzD4x2mhmosrt01Uh7FuVb3Ezdz82s0T3koOOpQZlSG","layer_level":1},{"id":"75df5580-3a63-41da-a5d4-61f5e51b2de0","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励配置","description":"reward-configuration","prompt":"深入解析奖励系统的配置结构,基于Mission.ts文件中的FightSet枚举和TooltipTypes常量,详细说明各类奖励的参数配置。解释BOSS_WAVE_UP、SKILL_WAVE_UP等波次常量如何影响奖励的触发时机。分析Tasks.ts中的任务配置结构,说明任务完成后的奖励类型和数值设定。描述配置文件如何定义属性提升、技能升级、装备获取等不同奖励类型的数据结构。提供实际代码示例,展示如何调整奖励权重或添加新的奖励配置项。说明配置数据的加载机制及其在运行时的使用方式,确保开发者能够正确修改和扩展奖励配置。","parent_id":"0f35f30b-6bc1-4276-8b17-066199b14058","order":1,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts,assets/script/game/common/config/Tasks.ts","gmt_create":"2025-10-28T10:44:09+08:00","gmt_modified":"2025-10-28T11:00:55+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvJ7HMNkzZcgHniUTwiXO9I4RqTwSXbtMrRbPf3L9KSnrKWjvi3CLNjbYYY5lmd8vinOvewexmPuiRH3TCYORypvS2XwjMvpIgYTO/6ES3eXnECAeVsnHcg8iYeu2NkWiouASvl5+7UbAe9O7ISMLGdw8tF1mnrPa3ISWmneRy5lzSGO7sOUnSoe/GHpJ0qKbrr8Ra2UBCORROCH9IOq/1Q4vhNQgugNi8LxzglH+dX0509QpIOf3HyJ6kmTVwxOfV/yl0n6klX5gpIzEmdNiSBXlwxDyaVckVmuTCCV/AtSiGU7FFsCTxTO5SzEMEX1W8L2TY5pGG4DggBUwzoPrsgi4HfrtWsKGVwz+BzSjGvOLXEiSadURhiv2ULQh5BjDlGleTwpKH34Hc/RCKwN5x5QGYwb5ecZgGilUBXRvOjVBUMsFBOZylEzed8cQQXAR+e5YzhrqEB+1iPfhSvIUkULhAQaeKzXSsP4zj8ScGkXX8toy0xK9GLrR6vt9kuOWnJopYexSsxrk/ZdpW74IKp+bu/Sbvlj9gvWtXeLCwLSKsl3XQc+UgowEWXeGWDlO6P+y9cRyRNeyW919i45B5HnW2HMSIXKNpTAvmaLJRhYzCbnnwh8CvVXgZTEWqKYdw8/+ly3LHWTYCsBCxpbLRoBx2PbTjAvg9onrAPm+yrqV/1MQpritOS6kE1JGj0fR4grqc7IHtaMLLCopOExUkX6GMc9B+eH/fUK3jlwn293ft7CCkl1SU82q2dSto7HKTpifi3RVvIcCyTWuONkjoSwng0E1SPea1dfqA9z/SaNNo4jNvSgIzENUa672MA5b1sW4d535rH5++89ukz9AsGrkYPDc8Mnd2SrWfgVuzl2mw5cZQk5myan7l3AezrcrhOF+JR+xsp579/VFnKWGKh8CO0YWcN+oFIWOwVF89OFBig6HZ4rBLovevRblppItPvmDNxi/GUIqR/OU6q3ROB9tv4OUO1yrpe3JqUVV5HwdkTku08yeb+dAwmZOKm9XoCKQBfbsfFR97YR9I8zqrWpqkxl197MHCApAuNx61swPVIHFpmQYsjnc3mOSmQyawCzh764AK7UqRUPOWr2q4K3xkVrHJVklr9iIJBNr/y4wmPMM3j//5VmnkBZMsmn1c9Wjm7HC/lExGVTy0tTUZvdUApp8MzpU3WO35/6GQn6SV/ZtGHzEIfhUoLeT173KvBwt3SqJb5x7IHXzxdZrQQZ8ivJ7aSqmMUuf92o8hTxe","layer_level":1},{"id":"11673b58-6aa6-42e7-97bd-ced0af44ddd6","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"地图视图","description":"map-view","prompt":"深入解析MapViewComp作为地图表现层的核心作用,负责加载地图预制体、管理地图图层(背景、实体、技能等)及UV动画效果。结合MapView.ts和MapViewScene.ts说明地图场景的构建流程与节点组织结构。分析MapLayer.ts和EntityLayer.ts如何实现分层渲染与实体挂载。阐述MoveUV.ts实现的动态纹理偏移技术用于模拟地图流动效果。提供自定义地图视觉风格、添加新图层及优化渲染性能的实践指南。","parent_id":"a0745634-c4a3-4095-889a-e14932a9983f","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/view/MapViewComp.ts,assets/script/game/map/MapView.ts,assets/script/game/map/view/MapViewScene.ts,assets/script/game/map/view/map/layer/MapLayer.ts,assets/script/game/map/view/map/layer/EntityLayer.ts,assets/script/game/map/view/MoveUV.ts","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-28T11:06:45+08:00","raw_data":"WikiEncrypted:8X6dHc8oTZNrY2EvGKdkV4T8EWLdUanIzKtXCGlEXaUXbictmnR0Veu5ita6WUeAGWiT98YSwhmiADkadTvFh1B+4u6S/4sNFSAZBcC+yXXAcxnlE8nMy5uz3ffJRCbKO8pXR1HJLGbXC3lf0BmtOxmRQEOCifYWtoE668pjfDJtkcq9Uyq1gwoJKBP0wi72atzIUGMaOEce8nAZxgP5w2eHejRU/9duIgjZi35mx6GaAGFORMGqDpxT/RtWMvEAllw/H+7sM5Nnvw+oI/kIHQPPg6bo7YyD/1t5DXNE1nEC+2QYxBNUSOv9nGFsAJzWAU4DeShtp2jWqqMZbbKvh6gB4ouT4Slfqwd7f3umQHii4hMatVA6c1juifXNxTW5HgLTDdxe7HdzWeJndYjc2AvrBnQZjpoWpAusBm9/Cli9cQ/LtAgoAArENHvLiKEf7YrfPcbm1LTtmjCRst3mmC1nvcnY0Zpg3nBaNmrxdD2ALSdVIUL0AC9a4htWG8lkmqLhOy9dxrhs/JAVMqHCCadNHZ3V4rauXiJpSZJkhVkqAvdaE0ScIyorw2ODiKWpXdf4mDRYE9xnf88lnBwUwpX6kIMGYAulnwnTOXcFnavMKXmYwMpYWxYouGK3n9OfnrZV4OVIDYUCQTBqEuIvRD0zkZ7FwaKPriOjJwSKL+jfw3A5DsIskzxjP7nciCod0Nnz8tACqE0VDHllJB1Wgag8DbnODRpd8J8n8nh8dcLyahXaOMz7x9lZ+ZCn5LYxGXz2ziRSQcdeZEyXGU8c1XidI6eeTMYW2M05MZa+w1w+pzqdQkut1mp7porDYLuczwIk6cV6xDh8hFZgyjNVsvYMl7psaLjN5Fo9kmz/9cUHHUrcNF0aEdZcavGoQexjN+t1I/Q6bABvYkzogm1KLot45Z/md2PuKFNoJ1fjiFGor0sGqR2GJvDcf+TRvD5b1OQMatWRANNyMaAATuivuJlZWtzc/nxn2wK+WmFWqh38CdiuaxSbWMUb1zH2clTQSXmLjsYD1j2/+Bm2pK+TrLWkVMufvmHW4GsoCW/EfLvFIoxEMklKUH017XOeNWJHP9J/r8TwPtWBMjq+TckhyosQJivj49tQ0BpMj4pMYMb+czOMd68rQ/DEnV1HDvVoXMhgW7hDq72keGstA8z6RED1b306+ZDjhHvybqEaoLP3JNbSoi2y/XcWJwe02KdNWykhzrqWpf29cF1GixfuMG72jb1KAWnkPl89Eri6ZC0Meim1Q8XUAitli2R5OeCM0iOZ4LE/BvAWq10HVsL8AwN86N2+kQFgdzFifO5sAg4UywPgs5RBBuJG6zrChEKB","layer_level":1},{"id":"befcb7ed-0b9b-48e9-adab-22abc27f8053","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"怪物信息显示","description":"ui-monster-info","prompt":"详细撰写MInfoComp.ts实现的怪物信息显示功能,重点描述其如何监听GameEvent.MISSION_UPDATE事件并动态更新关卡显示。说明组件通过smc.data.mission获取当前关卡数据,并将其格式化为'第 X 关'文本的过程。分析onLoad生命周期中事件订阅机制及start方法中的初始化调用逻辑。解释Label组件的字符串更新方式及其与全局游戏进度的同步机制,提供该UI组件响应游戏状态变化的完整数据流示例。","parent_id":"6f870e6f-9799-4354-8648-2abbdb72f7ad","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/MInfoComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:05:49+08:00","raw_data":"WikiEncrypted:bXZZhjSvKLXPso7rHShOsecmKKzcdzJu3+5o7aX2OGhqb5Z3x6X5HXd5GxDlVAAVPqeJlHdTnrYja8g0W6AO0MtzwrpFcJ/mF4AASihZSwWqH6C4FlsYt+vLuivRs742IqjVm1VEeepSoUBPFT8a5YH1HszIIlUuZF4ozsGkBFvdAJ+2b1I++0VA7IbRw2dd6qCSY0IWW8iJmFwhcysn0U3O84ZMQj0raOEl9cUvk4KrzTKJ3c+dMbmyeRrAYzY36fy+MxYcxTY34yX9IBof2A9Nv2+wWFb6AECRePAt73Fvjyh8n6A2+yjJeDEKG97r26TOK2w6eE7EXfHJRRBwUzSd6IFc6ZaG8IxPSmSaBggY18NTOZJgDhnNn288YphRJOLGstsu71eYPWKMAbQWlsf/iUm33UmeHdH3Jht144SI38PUapb8mxZoJMuVkPQQfmCbktkSgBXvFBDRIY7anBm4L2/VLL6SChxJPWtQQ6h05H2Y8Uv9+tJ0HjB3KvnUsmywL7mdqTfMB3jw6MT1RdsucJGsinEflDDMf9mbqZaDwPBxHXQ4nB0E3BHJvqvc75gKKDDBZWCa+6TWHYjoDdjMg/SepjlqMHLf0oPBFF1wyEnEiJDSvucu1ITi4SvsnAY9vHuCHlXag21BWRA9/iGacsajrrNq2lzgWdMzZKPP10FRdmQEIhE8katyWtoj0QH50tHBvkCkv6nbz6dN+fJIxqBeKjGs2x7VRmENzZSWg/1Y38YTJYtHpnPIvys1CQqehzqRzgyRA13DsFpHZ033D4bXIsxlYP/IJwOfIqXtEhlfEnAy05GKfKWs+NViRyhJZ9wDTPlGZ0eZExpkdQH1o4NSqwIfb/jxb8btFHtKB+p2F/K3MP91J98kwasNqCGcepF2y8BuCXyPe6A2jWQdvaqwvmbsiL8hDP5EtEwzyxqHPuhcBXGsKbvfiZ7pN96IJLWj46Cli2jXj8+RByCpGqxbywsg+JpBKX3KGlc94KC6gsVchfXZmEOGSLasfQh6fwpjqGPVCozFZ2yceRgOa8py6cg5TdDTR/MdyYM=","layer_level":1},{"id":"5e109004-2b1a-4b69-8e09-c7258846f322","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"日志输出系统","description":"logging-system","prompt":"系统化文档化项目中的日志管理规范,基于log.md详细说明oops.log提供的各类日志输出方法(trace、logConfig、logNet等)的用途与颜色标识,解释日志格式中时间戳、分类标签、文件路径与消息内容的组成结构。描述start/end方法用于性能耗时分析的使用场景,以及table方法对对象数据的表格化输出能力。结合实际开发调试场景,提供在Hero.ts或GameMap.ts中插入业务日志的示例,说明如何通过日志等级区分网络、数据、视图等不同模块的输出信息。同时指导开发者如何在生产环境中安全地控制日志级别以避免性能损耗,确保日志系统既能有效支持调试又不影响运行效率。","parent_id":"17e2ecdc-81c5-49c0-b0a2-c142654c1366","order":1,"progress_status":"completed","dependent_files":"doc/core/common/log.md","gmt_create":"2025-10-28T10:44:39+08:00","gmt_modified":"2025-10-28T11:07:30+08:00","raw_data":"WikiEncrypted:U7R4DE1TfAUvjZuFqogRLnOghdG8YONf1+EXGFfCCKNKJ4OhTy8VuSHZLxKBWJ4ZfsGKHGHSnYxUJD2bhsfpWLbLdPDv3JzTLeLNWi9gDyyYl8VLOhl6YEly1xvpoN1xBbqzpRKnxQcewhLr3RDjelhl/pmj8h5CjfXnBBH75GO0zqAzI8MX7qMySPT7T2dgstHje48xDD3pBs+GhjXpVWMkA3s5CBDtuh+IYiUcy3uuDJA8wcVg20URpz4mFbbR3+TCITwoNQvCuauAIjt0ANPI6qQalwD8ONiUFPvpWQ/Q6H+VHhvsFCsZT4d+zDD5fEhMaWQUud+zW6UlKf8nAkfo6BxUXRO23ILY7HCQACgVXFLC8fY9hq+GGVJrdiyaI0eLpl7xe7xeGXdLXc9rQr+K/QoYbA1sDH2fEE6AvzEE76OjN8v07tX4qWMKfhhLO8WrIglyHrMzH0H8jmIHyPSQPKFFaUkqvkPU/XCPbBm6qDN/dL5UNBBe8vuAL0r4ER1GREFJTdQmEgBvh40JTI0PZeH3SkNLs90D7Pcq/vYAOTwsi5bQ9gnyC2kdzl7uKSkqJO7OI9z8ozJJv7aXljvGDrXU7nOQOzq65ZiPGqEGn4A1+0fTiR6N5+c4DiafoAR/xkwfph/8m5yM01AQmZbSFcKdK/tVxqtifBKjq7LcdxubOD4z1rtLgDrm0BGNBchCdamLoIAIBmrrABxJo2+xJIaeGcSIUHVV7KX22mlxZIfTiNiaM+JNeuPSfNUgK+0BKwZgKDFUjVq7rsTDs2JjKY8HE5jJRp8EVkxwOt74S269EZiBA5URKbKxYn7SIhFst3eBVlDtXjZCjn9YaFOxI35Sdmr4DWUkg6mpjx1K4ch1SlaEuEEpb+UwO1LlxUDzpqfMzJYt92g/YEUNJfBsic6WzT3eZgX+439mFqa/cbfWpmtvqurQ70TfUFNFcSzOchheVBqWdeU/T7ttswbaFmYrl448RlZJhB9hTaHoAvO6J0YRGCJF6Tb96CfVdwVLqpvPYWwoPOl2P7Mjz41zOv7z0OMo2tEB/IZrpYT+eEWn1FQnaJNkDz4ULYrOFlyNfPp5GUWbR8hJLmX1ya64XVWNCOeunhG6AEr1jYwhFZqCiLBK1ClaUBahY1zAmFuTDjkg1RoR8Hjm/wqVYSigSBdTzFwc166fo/NAJ8/1qMqMqUQsZki3sDM+ZouLrmLnEWJ+UsNF92E5Ayw5QL9aBL1itpLYOVVACGu/IXxGHLAGCwUGP6HO/Lzp4c76WnM/1ZR3Q/zMJXJogxL7XFLmZnwdZWkjOdi4qgYPAHctfQNI4uR/Pfe0QqPRqj8E","layer_level":1},{"id":"dc4d87de-bd7d-4ff1-9d5d-901b96079880","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能执行机制","description":"skill-execution-mechanism","prompt":"深入分析SkillConComp类实现的技能控制逻辑。重点阐述update循环中技能冷却检测与自动施法触发条件(cd_max与mp消耗判断)。详细说明castSkill与doSkill方法的调用流程,包括节点有效性检查、技能特效播放、ECS实体生成(SkillEnt)及定时器延迟执行机制。解析多段连发技能(wfuny机制)的实现原理:基于WFUNY属性概率触发scheduleOnce递归调用。解释selectTargets方法的目标选择策略——首个目标为最前排单位,后续目标随机选取,并涵盖无目标时的默认位置处理逻辑。提供技能释放过程中异常处理与资源清理(clear_timer)的最佳实践。","parent_id":"c184e717-725a-4230-b0eb-702cebb87246","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:44:41+08:00","gmt_modified":"2025-10-28T11:20:21+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzJY/2W/NsGBzVqfCkQ3NAfXiKu9BqIvraZF1WEDWPwujUOkVNCJu+yBJvWZyVMB/PCJP9Lx4ggaWu9GwRLVegj0kClwEa9euX8os0Hpsw6xXuWRATAjC9w96xcCNeb6dPShRnRw3iuOYUAsVjudfSfUOIMxl8jtmk1EdTb1A9EJNLcLOqXQ37OxgQigI8tcE+YLWhspV278h1NBCVxhwxtFprV1KBPB/tcCxbJCBskQCvneWMxmpdEJp3HKlDiv0g6LYOwPvMjR1n8M06LwBaP7zhoNt/IgdYa5b3oftL4BNpxLeLeHYig2NYGLfwFi8ORPQkhJ84byBk13wUo/RhGdF/3fp1KjHKm/fIN1+FYivJQrg12NVlj2JeUFPxHLycHe+UQJY0wVm2etDuFinPP6oAAzifhgKQZl478T7+TIlkKmrfU9e7sRvI6oP06/GOgfncv9bbHeD/okTW8WswDnEjD1niPsRViBfKhEwZ28/lpWW36RCWawT9OUen8ObXLtj/KgbH4pW97Z6leR3laaaf+DRdREwqpUYfuvpSs0OQ8QRIJOLdZT6IEPe0dmrrl33grLFECtPC0ed51IyiFh+FN8+77U6RmB7rMqzFKLGPB5bi1TG6ZV86G3eeFaBAK+v+IO75lnPW+k5rsKxvvkdMSDH7MWVCnYgz2AihMhYZkxb2PzH8gh5EcQ4N2sqE/ZostsfBSDR6bc2qG0CPnt4u7uuFlirUw9LNyqckhHaHofJPINd1uQGKuabf528fwttESGDcQgI0frJIHbCGqZ4udg+Q0YOwdcV74avPMk8SqMRFuzs+gWiHjs6RdcKlOXTj/6wPjEC8Pkj0LgIinWGgAZ84/UDc12QptMj4txcAvpvMi4bcaFFaIBxOix+m4J76FBAJEyIIiBhGaDf2Pv4KCfY1Xv0fS3pU604YYpbwPRFn3NAxG8vsVVDrIEbuLF77InYERjyWwbsRJg3GQAIhIzeItaDBHN2Aznq+KgPCHZ1SWbywD+8Pbx8j57KXfAnrzbBzZfCxwJHoctgNeUizh3w1xIKkkdnICWSQLyxEleAgcYbWn+kpFT8aECge+qMNfSWArbTmlgIxXyDHpXqGQikQfNk5VFMRIYfI0EYdrnYG2eII/o5IdLu+rGBYMWG9QuNS3KUQfz/hysAoOtMpqMjoPYvWgaZoiDLnCEr2mTD4v+tMjelYyE1ICG0+dw8UrZ78rg7AI3jXf0ZfP/DVTfwNioy+vZ76sr1yl4/DoW5h38pBYW4L+LBfSatE6fGlnZaH4o1TU5HA2SfhCdvlwI8TO6bHwVSwG5bVEBC","layer_level":2},{"id":"0ab5b7b0-b2f7-4cb8-af8c-beb3ab3286ec","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"本地存储管理","description":"local-storage","prompt":"深入解析本地存储机制,基于config.json文件详细说明version、package、localDataKey、localDataIv等核心配置项的作用及其在游戏运行时的加载时机与使用场景。解释httpServer和httpTimeout在网络请求中的用途,以及frameRate对游戏性能的影响。阐述本地数据加密存储方案(结合crypto-es库)的设计思路,说明如何通过localDataKey和localDataIv实现数据保护。提供代码示例展示如何读取和解析config.json配置,并动态应用于游戏初始化过程。讨论本地缓存与云端数据的优先级策略,以及在离线模式下的容错处理机制。","parent_id":"8a2baaf7-cf40-4469-b83e-2a3a85976b9b","order":1,"progress_status":"completed","dependent_files":"assets/resources/config.json","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T11:08:11+08:00","raw_data":"WikiEncrypted:XMvsRjFEcSrjMOAT9RAdm9O4LIaLRHUOAniVL3dWNBQ/rkiaFBPLuKKBixvIQ+ToTH6HDTNJOCIpvZO2b5ayQ/88vgR8YPGwWrjL8ynP74hCZOKlz0TcZDgL42Et9IO/9bkLY8qLHSJ+WgM7LNSzUPlKZfjwcmnOpDF9gF4S55t69rFJKNHawqtx+UAYXWGeCOAW346NIRL2Da41VMuGRRB4UaEKFNlyobVe+Hr8tWqcsBdpZJKYp9PneC+VLhKgn8K0M4d9VzbzRrEO0mUbDSWK640pFE9HOmJb9W5raNZos6Fih1ivg2Q5I/yibGMGnOsBOoFgCH1oG+1eh38mJ4ft1zEAcwNNeokikJ1y5FtNmp+fRgjuZjPffolOlzrBKfp/6Fpzg0q2MEb37fYkNB9J8DLEVMJCeLpgivkDqJiYBecUOE7a2gsZz3jlC2W5ufwPjPygU6biZtiag//ZZ/24vyTLmwVZb7PU0jLAHoZR861w1gu40kTF0GmDhHTJKz1iF71rCykBMRpFLlWjxhHzF+UaQGizzFzd14lOCDsCgJt6ZpUE0BQnKlYxiZQmpSfUCqaYsae/D+mMIX20sBFvNTAJQtzOaY/aGwLflk5hrKff0fQqz5LzFVq6Eg4CIR73qGu3wgmNCZnNmIrlJruBo3W5I8GN34eBPKFvgzMxCGxe1uHHDcvPzbxnaVrE1Hafl9bYb3QvMJWOhMI0VqBG0bQ+TG+nonllQF9WgpQI1JtPAD32Wlpq/MU/2QmVkmDkw2T3RDuyIoazfgCFzRm6BhYJx9bU2bxncK73KxMuzv5N/DmCjtr8dq2PheibfgkucxjpriCu11EOJ6F3WBpdyAZXTIo//x1eRN5N+F4SWCzUogEd9C7v3P0ko3wDjkXq8A5a91HBdAD8bbVz4/DhKROxEvoyL7KRtumEMWu22+4krOfxRgWOyH/mI0gu68zbOe5UzrbloStVQ/ZpcIKZi8F2R5lC+bDQAzIi7YyOaQA9TArQBKi+qV09cimf4xox8hcA0RQfUbEt/NccZiKDbwkZPVOS9DROXsqKDOWh8Vb6QBgU3tFjbXig3vDByk5plQi+bCOSltV51nq1u/6ce2axRVMd7SIWOfJ3a4PNXM/VBxT5T1FlK6tjtwPxSq2tRkZysvl63hOs50lsAqG2le4cFsSHPYQk+MWLvHlgtyOAZjawuzf6ablMY5CY2iI/sG26L4AGf5yaHJT3CJNtFV+xeQ7nqNvwbcAST00=","layer_level":1},{"id":"b2690b08-a633-4cff-a360-0299c894a91b","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"任务奖励配置","description":"task-reward-configuration","prompt":"全面解析Tasks.ts中的任务奖励配置结构,基于Tasks常量数组,详细说明每个任务对象的id、name、description、reward和type字段的用途与配置规则。解释任务奖励数值的设定逻辑,以及不同类型任务(如新手指引、每日任务)的奖励差异。提供实际代码示例,展示如何新增任务、调整奖励金额或修改任务类型。说明任务奖励与用户进度系统、UI展示组件(如任务面板)的集成方式。文档需涵盖配置数据的加载机制、运行时查询接口,以及常见问题如任务奖励未发放的调试方法。","parent_id":"75df5580-3a63-41da-a5d4-61f5e51b2de0","order":1,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Tasks.ts","gmt_create":"2025-10-28T10:45:09+08:00","gmt_modified":"2025-10-28T11:21:39+08:00","raw_data":"WikiEncrypted:Plt/qUVrWyynD9Pn9Ee0tbPltGK0Y4J6p0suao5hNK2z2V0JwsRGLctgy9Fd5bkDTmM24fNFXnZNURNotk6oAqKbOulQI4OV7nmgBPfQwSKcCWrGDiRKq+Kuuj8863SO4bWOGsEAikFPwpchLEWP6+5KBh2KxQGn39fg+m4lKhjFLBC17I0oyvMzXXy0LkHKfl5rYBv2JsIVmDqO84hU/xPRisf93u/xoZylDriO2lBByGFnU/gHclNgFpHrU88zJ/ozbSFcml2O4GqP/CVbCJoV/Z/G49w7nRJ4cpBEe9RpIgMZp239Mmt1j8ZSa2FQGXr2EKacKk/rp+Q9BhQlzLV7DZFROAZ1TvDRbpSL0plyuVZDSnNjqlsO6I0wzJFvp9tbVgmlm4EdOKTs9axrh19tUyUN+HuahCtxWoc2h7SxaA51MkDhZoO5PpFXkSjQlm1QU8ELZde0Ot0jB9CgEIBjV48Gan0UoOinNlJoTRxcl+UvDvomrGklpslTtiTlN49HYagQ0em+9KK4T/5+547xQnoVWLRQvqv6rkKIU11yU/7rblS7fumN9bLlloecPlz6rluxwBjItEuWhf371Fg/JCqBAsdyPwBd9znLKkS3qlr/mh4d78N61SDpNFC0FXtyQRqNUlVo6pn88ivX6uh20VWC2upJ80PVGjNJN1eZDnxyWsrQ5Z/Lq05RyZ+z/kBRO7YDRLFOhpN5hf8y1o8PSFCC2ana+8/e6nxwZ5xhYf7rlgANm0DyY4xfJfGIrDMaWOK+TB0U7+qJYQqWOu8OgiMJWmxKF1+1tq1bvadPrFRpZczRXlweV4+LBZlSTxeLW3H4SOHRucPQ017x7Jh9Whw7Ac4+N7OQ27+igXQ0NdgU8VymMI/WXXRb2Y9reSUW7UPckuMLVZJ2oFHrPpZVdEqJneZShuya6RkxRZ35LaTw6BnLXcaKiSA0CsBD8fIm4CNPpTgHcqKiQPCvyeyW7PDaj62qr1P28fWt5LGEWJRQ9R9S4jQLl0ab+BO5McDV2QuySDxGD4WvZTzI/yMvM6jwkEF98UQw7HRFrFdzTEE3UciHDE/hD1Vio4+PT21hiUXOah15z2XQ1y7js7K9sWqXsXarT6EAzltgEappLIgGCrk9b9/TyDxHbgMw8tBrkeBOQGiRfv+kPPZ27r+624DEe2HINEPQ3Il/YYs=","layer_level":2},{"id":"4c2e7b97-0e79-45a0-9222-020a9a4c6fa7","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励触发机制","description":"reward-trigger-mechanism","prompt":"深入分析MissionComp.ts中基于事件驱动的奖励触发逻辑,重点解析onLoad方法中注册的GameEvent.FightEnd、GameEvent.MonDead等事件监听器。说明do_mon_dead、do_hero_dead等方法如何响应战斗事件并累积奖励数据。详细描述fight_end和to_end_fight方法中奖励发放的触发时机与条件判断逻辑,特别是失败情况下奖励的处理流程。结合代码片段展示事件派发与数据更新的完整链条,并提供常见触发异常的排查方案。","parent_id":"302d516c-946a-47b1-9354-c2758c07b447","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:24:23+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvAq9y1VOewZYEmyQbQ6q1OoJlLD8o2PgZJ8bHy/qOb71qTaVc9pBM6EL3z9UJBWmbNjAEeZXyC5b6/dvAfhAphuu3U+RUOhrcOkjBhR1gsfsRYbKsCxAX+j4Ts22Hrnm8bn0njyPfpZ2a+HQW46j4MKjKYIA1qPoR4t1xtKpohKcQxeWM81mD1pBsr6t8U3Aqsex/r4nT0yFsk/Pmpm0SgNlpxBswrHq3te2CiydloHw54uq/aO1OWAPHGMV+ZpsBI07EH3uKmzWKn/I4Kq1CPcOMhKgTFINpDuaFRG5UUg3h9X/S+sriFwxZS/0nsXtsK0fxtIgLd+PbjoUiiZVxAjMqbYs5qFRSbqriCQcKPnNrBXYIHNN8opg1stjAXPdjiTWwM+FRE3lC1QOT921BkDFpbHessJtRtfmcj9TpQElFatU+Xp2T8c+7LN7h9kNYAOEjTK8O/mio5n0JbhOecbvbRcpCsqGILvhvSjeRBQKhk+oCczhrO7RfcINL9mklI1/FKa9MLCb8d2xbmCdA9M/DkbcqCqKudGoU7vfJUIeVl9ca2ZfUiJfiij2mjOeJCGIa+BS5t0f8sPCLuMHLIxv/YMmKHXmGGEJ+GDXFm4oO8EaLNESKLR222soR/1SVJgheBEtE/IQ9HEeEiFU/rZ2UZXG2/Y8aIU+bZyp4JKkMFhZ3rbGkfd/lDkr8gV1mAQcmbQe0PNw+pw3A8rHJmIFZesQ8S1wD13oN72AYVzZBFW7hfyVzw4CCvVsTL61RaUM57zvGzhjIOgVfDfJGgmESSW4NrAyilfHEFqKzjhbITAIeMnab6ZOhniQU8kMF/+TnROiyO0f7EXeJXGGU8+XxLscWugPhXSWvM34J6lDSe1PB+eNcECD5wqFwku1fIsGynIf4nReIAKSEbaKOMLlWmb5h6JnRdWEcTFOgCH/GU3QYGbOsD392NZo4v/+ubzwOPMv7yVfzTwZELShuNV+IS6JBAHacZbVn49c60K3","layer_level":2},{"id":"801fd139-0b73-454e-8564-b037429832f3","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"英雄管理组件交互","description":"mission-hero-comp-management","prompt":"深入解析MissionHeroCompComp类如何管理战斗中的英雄生命周期。说明fight_ready方法如何初始化英雄数量并调用addHero加载玩家选择的英雄实体。分析addHero方法通过ecs.getEntity获取Hero组件并调用load方法在指定位置生成英雄的实现细节。解释zhao_huan事件处理函数如何响应召唤指令添加新英雄。描述clear_heros方法在FightEnd事件触发时的清理逻辑。结合smc单例中的fight_hero数据,说明英雄配置与UI表现层的数据绑定关系,并提供英雄加载的时序图示例。","parent_id":"d6f30777-c757-4b2a-a262-0e6cb15e5a2f","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionHeroComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:22:00+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVSeMSJfQQ2Y0zV2kSlqSiGl5sXsJdPo0q+GIH2xsAv17GElN4bozNKGggHaq0E9+Ahcj/Gx/AHn2ZPPtiYNevy53YxIz+1Xj/dTsbtlSt1e3nk9ELl/KlPo45MN9nvtoykvOVObVNL+oB/Wo0wI9oyREzDGSauoSyR9g30TGkkttjaLJdEKXcNucjiijtBbA228Xd1KwUyDJHFg5sTzeDlxbFPVTQMUsNd6unqX9stg5ICt/vMUHWdBg4Z4JZhnkSwiTG7x3ycdEEYpYeE0WkkdkMHg8m6MGOC6uX4L56lGcuZ8HtU3L69XhygQEuzrB7e7if801/ZB1hGrMfRBiWPAxtbTI4vDY1mkttxklKlkAGTYXkOM3aMqZpxfOtT0yj8XwCt7lOC7s+yRaP+/GEWOUYNj4LPmp/1uDHneEIJcMbN6pDneJP7EWPXGzO+WSMij62Dg+yGytuwUnzPVQ4BtGCU51jM1KvFeICH7Zna6JF+hsfocqqXP0uR3ePKjxY2zXl5h4G/8z6uEK19ztcPfA5DdjM2XtPOobVWmIxmxo7vzDTd2itIaytsSShJ0k2FABtJAym3/a3W4G5viTUcbzVhV9nTmUBxA5eqL96hJco19kS4xPjtlM/3PVmxh4LAsmpVgfxCbb6oeZE6yXz6D2rOK21wEbo9g0TAn4OxxB1CAGqQ7tDnS2SwK6mfOvrUT9xUGivRPl6u0d3ZQqFU63DVhDJ1ehERWusQ5cLcgbqA/wlWQ+VjGo7jDDxPQdODI7VxBVAxQ5xLGIJPIglnl1kr0ZYFWMmK76RKR7pXkSrfXp3tepNddDfRy17nNy0ZYSZA4slxummD9d7y1DYAMwWvqRkPcC6bgUIQ0fA3UszlIh28cU8q9AMXFxkf8ibFRiTK/y7mvy71b/2LJcroM8j7lOAxo3kU87BPLlr6UXDHrBK5C1XS9/Ux9zERj1LUQdokidKfgq/z1AUQJc5x1kVQqQmFc6sDeB7FmxYFcTNRDpEGDROfL8seHRW5q0cBYxom+gEA8VkTaUQB051SRnUa3hAQYCKY9Sh8raj2RVbhlHV53Fh/uu8OrUMqiz3IWyvfhaC1c/sopR6TM0SFk=","layer_level":2},{"id":"d49c2031-24af-4d1e-81e4-925afc2a2666","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"怪物配置体系","description":"rogue-monster-system","prompt":"全面解析RogueConfig.ts中的怪物类型管理系统,涵盖MonsterType枚举定义及Normal、Elite、Boss三类怪物的差异化配置策略。详细说明EliteMonsterList和BossMonsterList配置表的结构设计与扩展方式,以及getMonsterUUIDsByType函数如何根据怪物类型返回对应的UUID列表。重点阐述getStageMonsterConfigs函数如何结合关卡配置与calculateMonsterStrengthMultiplier计算出包含UUID、类型和强度倍率的完整怪物实例配置。结合Mon.ts和heroSet.ts说明怪物数据源的关联性,并提供添加新怪物、调整强度成长曲线及平衡精英/Boss出现概率的实践指导。","parent_id":"143ddb5f-8cee-4348-bf32-f0d070e5ba12","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts,assets/script/game/hero/Mon.ts,assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-28T10:45:32+08:00","gmt_modified":"2025-10-28T11:23:49+08:00","raw_data":"WikiEncrypted:PTm23USGky7oBojbIKFGE4KW0tsmP34acZAK0B+7l0BmF79k6ickZ08+qLyrMrM5l5fjHDGZjmxNnA6EAB02rXbw065WkS+zGiaIjaukp4xPnoVvdSf1E7RIeSbPRsN33UNXBX5zcqTBL4B/OA+QtPgCS35MRSwFoyPYTAZpqsNztv3E1SEW38E48gAULrncV5/sDv3LYOXxn+Km89fP4n8+6/KlzERWM4rahUVDgcr5uJ+iB1dHkpwzic/4AzGZqzBuAXcX7exBsKtLvFquKX4a17jr4PZo4WMzEHqHhwmAuz9hazH2nuMpYpux3PBUzsdflh6F6SzwAnAKheFI1e70iWSvweQa9IsY3a6SZ31rvgd1CI6yR2P4apBr2W6wtuM2+NKoBmS38OLIdsV+/wWXmtYnRZhjBfQ5GyQH6vibSlD81OlJdQvxf/1hGX/Sq7rjGkWGYifCayX/3mVgdWGBp8psYnBd5PA0hUGoe+PGayQVBPXOLpBoQIlMYsgYf+kWvGfKWfkrxYnahWNt7+bHDwVYg3AAMdNm8lCPWAXfb9B2WaUmmQjmNKqVkyvmns/SaCEYSjr29EM93BjHmPOQgMagcDtcqHYwzKLOjiqZA2jSTQESGqkm9vC9vPDmWUQniUhnxq4yi7gRQNoHEy76dHqvuQ+W3IfPzq5t/JzBFGn/Lt4j4eE9E08Lfewd09t1QXmBZsyAQWhi+marm7PBZandmpFkfTphe554sxz+T8tTzaqwjGy+XTQM2gZrNkfdEUAO8F33jTxNYfL0sIyiRe9Edsv58ZMJgX4oFuAaKvawOBMA5O5/k5zuKNG/TGMrN7MQQvoF8070JkusJHpuxxTht24V2u1XC9/gki1YashTZhHfBtgzcarsujdtnBxK6uhdepgfsbsWmn9k3PTz0lsZqAi809W5W+ZJPQShm+YjxvYH9VC64sDWNGSoUWdfT+g19nUNX5bGXKn+rewqjwaMag6JDJpfbnGU0xADbhdTC7WMq+ZUoJ1Vjdo8yHI3bYFaAnj0DH4Vw/jlo3r9gD23ikqP9d1a6kZk31vMn0bpjzGZSOStPONgcB7dnL6FinabYgoRlfmrQtm8U4QzOB6+1Yo4viXpJG5fhFUpeh1BbVXk1cXf+NBeXmtxcZKrV2XDv/vKviNxk3JEY+6zf6x3dmxl2hvR1pq6qtYbJZtlEy7L56Pc44kj8VcPBxIFOVRLcI3Km4saersZ1M75syVk7Moz8FS2xxNif1e8ZCvzRFKse/zq0PGYWVDclEYwyWFuYXyM8pP76PCQpkGcu4+G2kv/6aV1BHXzHicGM1uAQ4//GNJHlN64GuR5b7DL4/55QIsa0iKbgCriHQqt00PLzFPzxz6spaS0kZ1YKVEBXFnR1L7f8SL5e/SYxaVeCMmWN+pSBPxd+J2/bA==","layer_level":2},{"id":"36b2fa51-94eb-434c-a175-ce323fc5a1f7","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"地图图层管理","description":"map-layer-management","prompt":"系统阐述MapLayer作为背景图层的基础实现,包括纹理初始化、尺寸适配与精灵帧管理。分析EntityLayer如何承载英雄与怪物等动态实体,利用子节点排序实现Z轴层级控制,并通过定时器优化渲染更新频率。说明SkillLayer在技能特效渲染中的作用机制,以及light.ts实现光照效果的潜在扩展方式。详细解析各图层继承Component的结构设计,展示图层间协作模式与节点组织策略。提供新增自定义图层、优化图层渲染顺序与内存管理的最佳实践。","parent_id":"11673b58-6aa6-42e7-97bd-ced0af44ddd6","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/MapLayer.ts,assets/script/game/map/view/map/layer/EntityLayer.ts,assets/script/game/map/view/map/layer/SkillLayer.ts,assets/script/game/map/view/map/layer/light.ts","gmt_create":"2025-10-28T10:45:36+08:00","gmt_modified":"2025-10-28T11:23:43+08:00","raw_data":"WikiEncrypted:bYz3QGEiv3QjcQPO1h3R1ZlcNxcAI0fZk1pxt0u548P8RDyHZGiGRRMsYOk4kPzTBoY2vtsJNTarnodacPeddciUATCFOBlw2/eA2+EJbhGd+keUrQ/G7pzobAkfw1wdlUHCctmB4chQTzPjPacYvnEqtNB9puAFkUVWKoGN26vQXBrvQ/m/rVjiNSzDZmxsqTgLEpI6bwQ0D2As7PyBirFbBNkgmFORUk4inu/pJjVxM1EcZcp7Wu4Y1xFH4TLHuoM4zGU/+Cwu6L9Tjx4eZROAVmU6Zpy5l+ILW7L5SPYA7UlPEuD059sZW9DioCDFghiQxvpsHrLGUrI90kGmG9C2b17D1Whv0gNezy2+dymk3Tu7nGiMgJDwHTWd4EgNmc26yLmG1AzdFa0Mcgi2GIJI8LY6XnA9easxrWSa5qyGAJZ4Tej3ilAnxlUXsNYzysg0hwotLzcSZRXErwpEPds1ugrXtm8MKwVl8TJ3JyliA2ia32KoSCjswR5RMDHDPC4SXHcLoytT2gUmnmVnbkqrcWf1Bw0wq+L7zdMgjA2GMcoMC4TXFtbuK8hhiKDDDD97Kz5U/O71NqAotShaIiHz7jS38/jozrXhKjgSs5FrzY65f4cpBmlQHw1kr/5H+U4PjzEv0EHVhxqJJrd6VvQqmpNziIquXZag2BukByC+lk1Ja1YCGIgnJ3v87MWl2vmpG39mul/kY3gkSqjm/Z8yy6ixSrX9/n4nJtr8jzG80nP+DGENk66VlLlLimgG2zjDVHLSaXNzWM1owAf26ZLdRaP7GawBTskGdeuzlJqbM6i3XFLPRHlrKVlT5v7+0IakE1kx+c9WDK++tc8Vx4JsUp66lZ9blNNz2MWMGarLRda1hpsR4SUTtvbxgcDiyctpY5dVd/+W3DVhdY1dJtXjYk94s5eT0+mB3AfseH6pCNUaY0h1vCQdIZ6rl9WhAN+kH5NwaHamL103NfRVkiOL/XTrPFqE8icTERTNLEa8EzWewonyBFGVVE9WN/8C3i28Qbyqf0h6c8tXyTK8kgj3ju1yt645zAkYFZBSIqcnjaIoqTgrqnjhPMEM2cLEtpNp2KTkemburl7cva1768UxUrMlCFN7E3mqFlF6KiG+BTEn/dT+dO5GKz9+GhrH8jTwWOyKJZFPP5t2tgq0GAGlRIDWcQpk00llrK7E518THFH0xwooQRN1GJNv715qYTwkoZfkiG3Tksz+LOCgRv12FvujCBEhKHQrLQgbUlTLfERp60I4iWRgwSIm8C5sRuf9OP7/2Iz7wJhmH+DYxtEBSmm8JwOf/unU8G0Mt5eRbiZ6J2dz51CQfirJwfZA","layer_level":2},{"id":"8dc2ace8-6587-466f-917b-07f05adc967f","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"属性系统","description":"monster-attributes","prompt":"系统阐述hero_init方法中基于strengthMultiplier强度倍率的动态属性计算机制,详细解析HP、AP、DEF、SPEED等基础属性如何根据配置数据进行缩放。说明hv.Attrs与hv.NeAttrs属性系统的初始化流程及其在战斗中的应用。结合HeroAttrs.ts中的getAttrs与getNeAttrs函数,解释属性容器的构建逻辑。分析怪物如何复用heroSet.ts中的英雄配置数据实现数据共享,并提供自定义属性成长曲线、调整难度系数的配置方法与性能优化建议。","parent_id":"ff55dc40-c8b1-410d-8640-7a81020a7553","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/common/config/HeroAttrs.ts,assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-28T10:45:54+08:00","gmt_modified":"2025-10-28T11:25:07+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRv31/JteyHrrufxTD/NozwV7CMgZumMoCYp4tVdKafUOJoV2gGewgNkrRa/+EboMykMwf/H+9wP4ANIYxkc1GYA68mAGVt7CRrnwU1Czc4EeJSdlKnvpjX6e//PqPNsvKodFz2amzFU4mdIDpjdM7SV4PJIjy68rg9KNS+y5ttJSFyZ2Dpj+BxpQhVnxnigDuWp+JXhrVVkUpV2SwfRjCjIhJeMBPLmfhH6zPJXMd79JBMQ17fnd4Pj2mDdKXHFmH632i1EYFTTPQ/ko5NuwZwktzpfqaY8X9K2iTtad7H87neiFeDGbf4e9QFz4VQE0MTvf1UYOr/5G0AigpFMY58MkJiLZYnTlPCEtxiIPXYPp0PKe1momG9QNzHid0GE/e+Qd/SMU7GvABHSfosRB/FhZ7bQ5a8bEAL2e6sNdfd9qOIcWAMOVpeIekRxjluxiJE1l46iXfth85S/+37GDjMrztsj+2xNpCOoOre0CQCOnNlaiQd04XPTvqzOmj7+qMQpHyEzWrK2np486nUp+h9MULRJZJ9GTe46Mq235zWjbvXkFB7axTkm8dOPORU/EvsqHGC0DGTCpYFNAUXtl+vpPHhwrxb1oW4KHD5CjPERYV0RyKea+T8Y2rWuyJ8u0reVSHqGAljYG2pBQDQjiCljiWLSq21PhloTh6WksAXwelXac9cEx4chVtDesHVSg5prLx8lOzbnmxjatnWdx85GfgMn5OMXaZLSOgBF1ijFSK+hmVDHm/UooC0UnZFtKSKvj4LKdwigB0OugHz8YcNOhZbJEwXHRJ2VE1SuM2euv22aILa7Zv7mRVFnKAYXam0xNBiaKMRvgytiAVH0rOEsBoLhpKzPtOSyhjldXlQ7zDoug2yhHEIxTYeM19x5OxeI9EwouqvfBBYvi9goPq1I6w722ckqxCklH7BuwCkLUy7+GT7ceM4rVxQ6bniGAquO6ctRUO7QhQEaoiDHVU/DMJPeRZyN+vU2r3et3Gqs5z6zrGq2jrxUk8RzRwwReT+bWWfyMj0eeyf1+f+LFGA+fwHNsKjl5p7TzXJYdV33WNbtJC3PPWwaSJ5s5/VaFtA0nWItaKPR+0SZOP3DybEpGatuJuK6pD0jjUn26z2whQ40gMCOAojhndqwJ9h7HocsJU/JF5DBoiiVzAjP/EyBa61OYlFGWRh04r1pQu6TL+Z8RuGY/rCqj/JqbnB7wIaX4xOEliK4WSFFuITWOy0MenAf1XXP/A3FtBTV0lCbf","layer_level":2},{"id":"bd215c85-0179-4cfb-b4a8-92256ca7870a","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"目标选择策略","description":"target-selection-strategy","prompt":"全面解析selectTargets方法的目标选择算法。重点阐述第一个目标为最前排单位(根据阵营FacSet判断左右方向)的实现逻辑,以及后续目标随机选取且允许重复的机制。说明在无可用目标时返回默认位置(v3(±400, 0, 0))的设计意图与战场定位适配性。结合check_target和get_front方法,解释ECS查询与坐标比较的整合流程,并提供异常边界情况(如实体为空)的处理范例。","parent_id":"dc4d87de-bd7d-4ff1-9d5d-901b96079880","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:30:00+08:00","raw_data":"WikiEncrypted:d/Ik1vOELpPFVGPoUo14kGJY1soeyjqvI/oGNslh2NUT4eS09fDu7UyKN2/QjszJAcNG9sd+JnvvnfSRoddx+1myhsNI2GGmc8I5USotwT6uXL1XRFaY5/EAZptb+OaiQ5vbarQ0NHz4M+0zzArdqLseoTGvL+sSXPjJT1/ntxEHnLdrV6DqwiZc7as62uwaFxkxZIQFlfZwYHCQaME7YniqpAPvQuHEn9njv/XHCejwtDb6xVWa3W0CBAhCfnnHm3GDI+NGPrGftO4o2pr4aMMQS0Wy75iBzUl5R5arwHNKuI24O1pWaicof3nexIPGG12qrzUrkwM8Ue4PGUVu0mi6ElAUDKppf24JDQUoLq0VDQBeJTSyFPmVGsyjSFduHPH++1S5kdqWYTUflQcU9OdmQi/ijJ0C5DNlecLgsh/wisHRTQOqIIZeH9D9fXUMQfmjk15L3Hztb7jSlKqmJQxUL/9EjtJr8fQ1SQhIKQWmIFzV9mV7NnC0ItVX+flQPt6/904M3aXY95MB8gSu3DiDcFeCqU9TtRGOPP52lYdC6olRMDHxhIEAjYZuPEuN7Jt4TJZ1Ruclzfk21qhw872y1Hbi4qgSu3qYXjXkuVPeCkwfJR7qXzY10jTqAebSRc/l1GqU/xtIV1XKQ/FqcXIIYAvW6beIiCTOkz/x4DuquT3jFnh4GiK82+ZlgOZGrcHOYNspKzEfUMem0PIk9rOTuptNe+4l1WWpPT8EcMRtyD/D5EGVJpGvDeGJuGmEEx9KWfQIV60huKOhiuchAeNhy7vf6koQeoD2KyoRCqd3AcydqQF+SNmd87UBpMdQz41yr/bob+dRiGMBv9epcPyeG2hWNXE80umqQBQy+fFXAJbe/c2Ll3i0IToqrVplTKwgoNdI3crJCT1ISN6bE8ocJTlmOv0J90Un7nuxzkd7XvzuKM0cp+o/hg8ywF84vEsqPzKC48ecEXDVOkTAmUCQBPtkl4NxiA6+2ONX5Ew=","layer_level":3},{"id":"528550ce-5ee2-4d4d-958e-e998012cdcb8","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"实体图层管理","description":"entity-layer-management","prompt":"深入解析EntityLayer如何作为动态实体容器承载英雄、怪物及其他可移动单位的可视化节点。说明其通过addChild与zIndex控制子节点渲染顺序的Z轴层级管理机制,确保战斗单位在地形与特效间的正确叠加。分析其内置的定时器更新策略,如何通过固定帧间隔批量刷新实体位置以降低渲染开销。结合ECS系统中BattleMoveComp的数据同步,展示实体视图与逻辑解耦的设计模式。提供处理大量实体时的性能优化方案,如对象池复用与可见性裁剪。","parent_id":"36b2fa51-94eb-434c-a175-ce323fc5a1f7","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/EntityLayer.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:32:57+08:00","raw_data":"WikiEncrypted:WnER6MhWFG6N6U3R1m3zi7smenK5LXw0d74iILICNKWOwCVlaujjGZJUpQyVEFJltZCs5bo/PmV/RZPzi+todBDX1+8xb8kWkTU6z1Mbszc3fGRUBq0ICib9yCp+0ZDixRg0ou6GPghM3NpL8CxZ2zBfVR3yIqnSPANuUJY5T/nZNTlU8ZRe120LCxGGTbpkhrNINQWTxnHTsjFMJMDXrbj624u4yZyMayybisQFjRNCSvOuJQ3b6UP/NztGTe6i93/qngNJjXSqhK5fdn/1hLw1wkPyp9RS6cCjFO/iq/whQnQIZ1IX/hRMqzXIXNW8tn27zbO8X/s2jZtBgE5s68mkxFAYHCvajsPBfq0JAK0wqoo6l/N/OEQgJ2N72+798pcnKgxicjtzjueFjv48KrJflwMUpdAdrPeGt3xdM+mrufr+fFcGyf4qcQ6ybakQh3xUVjmM1lbSihtdsFlPOcLGk62eMCueZ/wVt1rfIlaAR0YrKHGD88vNt3+bQruvDnFNPeOYTFUUifCMQ1Eo3F6LpIFkXQqUpeygzYNGH3Wxf410tfsriRBKtbGh1xTsye5r3VAE6oZIooIn36r+GCIDtbpP2hztXkQJ4tatfynNgTX+5dWZRKBNHb1K8J5FdFK3aCU9fkS4N6nqzFsGsXicOfo62ZnYEce8wVzSvNbKEGfYf+0bJxyr6xfPyPg8ay2YtsWZxrUaePiyoJceWZnp0+3I+2uw2sL7DEwsHwidm5qKWOjHR3VPH6EySqLzhkiFqYyXMTECQWvgzDIlDv7PmwPIOLwACXeDbBHx7BN4uw4B5HpF0pEMQTtrpFMisyCskej+pHJvVyZj2wY3yes1wcwN4y/QgWfxOvmLGCtfpTgNBKgqa9A7C0OSB6iW4v6Sg7UJhbmCWzsB0UFbP55bXHauREOpaUbDjv30DDEPYeQFUgT9LxoHavuNEOtPaCek1O3EJGAFtZuXl1xiBZ93Ikj+albr+LllF1VwPT+HCwcBFA0S4CKP2efVJlz/o6dHURHJykfbISj8mkE7W77KK00m73HP5SXIZR/bDEzrLKDvyuul1tKW8ipCPZqyQ65OvOLVDRQ+ppH7cvS8yb+++bHjP1Jv8HRwOlMrimOKKLNURl3aDhuokHxdE+TOSdPgKBg922enjNaJ1tMe1g==","layer_level":3},{"id":"102004ab-a664-40ff-8a1f-8dc7b3e2f989","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"怪物实体组件系统","description":"monster-entity-components","prompt":"详细说明Monster实体在init方法中注册BattleMoveComp和MonModelComp组件的ECS机制,分析组件依赖关系与生命周期管理。重点解析BattleMoveComp如何驱动怪物向左移动至目标X坐标(-800)的实现逻辑,结合BoxSet.MONSTER碰撞分组常量说明其在物理系统中的角色定义。阐述MonModelComp作为数据容器的职责,包括属性重置机制与扩展字段设计原则。提供新增自定义组件、修改移动行为或扩展模型数据的开发示例,并列举组件注册遗漏、依赖顺序错误等典型问题的排查方法。","parent_id":"929c4f73-27bd-48aa-b38b-832dce5d3437","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/hero/MonModelComp.ts,assets/script/game/common/ecs/position/BattleMoveComp.ts","gmt_create":"2025-10-28T10:46:21+08:00","gmt_modified":"2025-10-28T11:31:45+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRlttORSCP4GmeCnI0Byl37RNNnN2Au0QOB6aNC0WCaXs6aPMwt9IIbtR5p70NTJkOs/0rieyBkBRYaUcCDDNyqN/sMxF8kkCM8Q8dk4NRQjO56EwZ9C+sXz0JIe96cw2SUpkJ8usSeqsru5byFDriibVfhyJsKXVWGgaKVwKCyMxZ3PdjpvEIC3ASy8Exg1Kz1EKYSIDs978G0Y9GX3xpT/cR6GNT65yGBoYXerB/90p2CxWM3LxCFjBXUV54YFmV9U/1nxAZDipwnNNXFAX3y4KG41PU4+wXtaRkS+8BEm0ujun6XuuokfIpjPIEsKqmKSZuq8+1p2Mf6YT5DsLeVoAUJtCQICrxz91PJIwpIBEEzz8efmbixl7GznjTSwzbdb/B17/r5xLzQtqK1th/6oRtlczOThfl9HT+AO2K5fwTkvSEt8/HQhwD+fffELNcUs7Whyr2WEI7uEAh5r2Khnat7pjbu4KXSC83suA0ZDXlfL7Pq4PNPwpD2V+GeP2oR2/dekD5LB7D0BLNnNTXQ3NLOaQS06vKJVl8LLcA6BPHtRvWYi+q7ysvOzOXlAkyCopOUS5dFyhIAy39KiWztDRL/hXWYVgYnMjUtlpTX8N5qfG7NrRjfMvz6ctTnhS3rWRhx92jf1ub+H3zOaePqGyBQENmuNiULsh6jTd+0zoCm1iMQBSfgv4Vqn/jLn3GAovDhRKiyJNi1kE5eDyyvQPy0aEtYaBZRJY5r43cisjjcNMNo30v8NLOFuL4j+PqMZyn9XLZ999Zks6w3uSOqoUD6CbIznExxzWSLy+2NIiHx6X5qoCdKacdwLyc60m8P+NpTWKc6uhevoirEFLUFzs+Q/XNLLpHxGpVS3lxixOdmOHiexUkT/7t/xlCddN73HLt4n9EYeVD1Jf/4kRcZeLFMSzvn87xyjgyJsETONxYeFWtz0zIv2S3PrRzN8ySMsd1pJa7tRSzJ4rQztjYcarh0LDf/nTvSjQqisJ1xByiRWG4GrwoAqUEifkS6EeFBmoqJad3KFwF+gAAzaSSEYNbK+WK6QRPQiq7XN/s0F6meZv5KY7PglXasBcjZl6LYIJzPJ+dM5HTKmEYLjUGS2lYBrOxgyfGNmwHy3KRYLzJxa6uBCK1cMcEXYGGLAHwuX6onirOffOSf4J1xglQTKeDki3uoIXGXpS4K057kxC+kTARBlzP49XIYBje3EK4YxCfy4A1iOEkX2f2vFqaUECUUKoizNf7VN3Wjtoq0/JMma7NUlGMUNyos0sxeRqKp0JkOhhAYpi2L73YMJqviJeejgyIT/B8mzNkjlKqePPFzqxOT2CK54IBFGkd2UzC3sZZWxbJA5Gr3KiDhaWOhI=","layer_level":3},{"id":"72c56791-2a86-4429-a822-384c79c48732","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"核心系统","description":"core-systems","prompt":"开发详细内容以覆盖游戏的核心运行系统,包括初始化流程、事件系统、资源加载与本地存储机制。解释Initialize.ts如何启动游戏并加载必要资源,结合LoadingViewComp.ts说明启动画面的交互逻辑。基于GameEvent.ts和event.md文档化事件总线的设计与使用方法,展示如何发布/监听自定义事件。描述loader.md中资源异步加载的最佳实践,并说明BoxSet.ts中碰撞分组的配置用途。结合storage.md说明玩家进度如何通过本地缓存保存,并提供实际代码片段演示常见操作,如触发事件、加载场景、读写本地数据等。","order":2,"progress_status":"completed","dependent_files":"assets/script/game/initialize/Initialize.ts,assets/script/game/common/config/GameEvent.ts,assets/script/game/common/config/BoxSet.ts,doc/core/common/event.md,doc/core/common/loader.md,doc/core/common/storage.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-29T16:47:39.8446649+08:00","raw_data":"WikiEncrypted:T7sUiJOX3kDqyMLpD1WxBN6Hp7Cc4cdnpOo8sairczfCX0uNXSfIYjwmMqr5BHiKDJbr8s+SMkQmNnSsxRG+N+Mzkh8sl5WQhY5wHbnj42Vcztti6HgAaVy8aueo8Ozn5rbXKUyWSndIeofGAJvZ2WfCF8IMCvkAb308vtxX5X+nRP5GSGECGh5i9gFddDON7txnXnnYgSR7BZHcmqMIU61aD2YFNWyhUoaZx/r9VoZ4OgjEypANT3F+haHwNMvtbYv99HidJkLsNkygus3MtC1qCldoc7H1NPga2hU2c0mPXCH2w2CEEm+3qf2L4bGOMpXxx8vt9N1k5/GGRx5ewcvgdyx2pyasczbg0QYvhl10d8eBTHauEmjrr90YqfwUQkUP8Wuqx/RS5aevK7Bol0UUoT1OhQYFde/P3eO6AmcqCsJFTrkwnGf0qpXSAbi7KddncJujhjHGJJGM1ZUO1KNOXXmu5C66V75QJRnmsRaCCo5S4vph01jN3t0MV5Az8ykDUI7tHF9QQcoKhcPQpdd7CalQjdisKJ1/I4238WEAV2fyfAiQ5CMLPJ20QGTfHXB5NW6tsUhd/P5YQFeDfoYXgkUMEQ7by12f07TVVbeCFU6FW3b7lk0aTyOkBGCFiTuXivrnbx6qPlQgmhDZ08RoS5jzU8OVYDtM97OmkBgd66Gyrybnv7FtR9Gd9y74RjH2gVdFi5HFSRbSgKX90YA75IcmusgtqX2hDFaRAnphfuEABItW054/thpBYc7ESQ7+oVnaEg1czF5j8rfzAVXiG9j9KqKQPMTOkr8fXt5ei6h24oxOYG/t12o4Rsg/OP2h4bpgWwDoczZy5+H5HV0kdDXNl/dQ4rj+9cDl9E5CXuBBIqlOnmNEzmNN27sFdU20qVJ4OSWw9dwmtDNqxMyGWA26cnzo8trrzy2yMnd33w12vU/9mh2cMbqDkGqsga0xZAIxkprG5n2VNgwY4if0ya71MetjB7LUpZGOYI1UkQDAoKnLIhB+yu2M2GnshK6GVjetPL6XzBk3ssoKR8qWvsI2Ur6MN7Xp1fJB+k4Szqa54OcbgqbYstoaU4SFRRkV6RktxAMbwdKJco7fbTUwWhwQbinKlZJ5ZS/cAlj+gfi2PeupUxS35L0ozETsXBXtIlWw63TD0sMjCyRyW8SeOU1OnTCp2irJ8wAUlsy1Erb9T02k4yZ9zKCNxveRpeBvXE8GOVc/WeCmjzwerutzZJEbbZbeeHOCVjUU6gujYBdSWOS4M0BFKuUOkb+/fVb3s2oRX251Pt+tZcnPZJ17+yrItXMSfu24aD47Ioo68U2wtUj1vx0nwreOsTZjaixNYTtp6BB9oiRN8bsyodtxAmZzOqRNCzNLEkdO/X+IJAvqm7bJsa884uDpIdDehpbhyk6Op7mSCVxyuCr4z4AzKI8p4GhqXU/UQR12/82bE0X7mlEV48dPyHpswH8G"},{"id":"0715a329-fbf0-4bf1-8bd6-c39ee388ee19","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"天赋系统","description":"hero-talent-system","prompt":"详细阐述天赋系统的配置结构与成长机制。基于TalSet.ts说明天赋配置数据的组织方式,包括天赋树结构、解锁条件、属性加成效果等。结合TalComp.ts解析天赋组件如何与英雄实体集成,实现天赋点分配、效果激活与状态持久化。描述天赋系统在角色成长路径中的作用,以及其与其他系统(如属性、技能)的交互关系。提供天赋选择界面与后端逻辑对接的实现示例,并说明如何扩展新的天赋类型。","parent_id":"f79b3e3f-7266-4943-923c-fd05847c8278","order":2,"progress_status":"completed","dependent_files":"assets/script/game/common/config/TalSet.ts,assets/script/game/hero/TalComp.ts","gmt_create":"2025-10-28T10:43:31+08:00","gmt_modified":"2025-10-28T11:08:12+08:00","raw_data":"WikiEncrypted:HOW8SGofzBdOnrabYla7gizB0FGoAHIQ4mxmiuqtsyR3FJ7+Um92JqpLd1DOo53Z9OUl6tKZWaqK951m4wU3pJEaGpWWIb3TvwrZFYEl+PrD+gaEijR0G19K06xBbONi8KGec8CKIKMjcg8Xe7osEmx7wqdlLJUPHctVmX5YZX+NYypbdTC1ez5UiN2aNgALOp1K7oc0I7cg5Ua3uxqzHXQdcf/X/WN7DXbgh0xbGJF2Y+mLF0mODDv80yG5zpnkkyNCOl/szqjpn7yFBz+V9+A2RqyMwNNpsXZqHwckjDSwKn40INn1iKdfs45Xo/0qrlzXH6VjwPX1TS3mGbuXE0clnx9y143i4NxC3xjiqXlQSFvk/3uECTOZheMt6i1iPQXCoupeciG2cJ5YWvlUQHsp/vOOPTo5KmlU/wUCVfQM0rQlUmzKj5lf3e2DwMmgRaGoZvMqwVSYB2nlbpbNeV2uaAO/gHyd9WpKVf+jNhWdpd8dnJNzXzKA+GAO2noj/BLNcsV3U20drx4Trm4+7qQR8Uxx9WGnc1l2BV/q4QM1TbQCNVjV/hH+XT27n0OfPNQmyidPZk28hVcUr2MRQlHYj0EnDOKeYSKI3KxYbZADm3yd3PbnzePgWKzECJOdBAydwX9EEpENfS2lIrzW5Kuv8klSjkeh0u4NQ8KXY0sZJwIK3JJ/2NsTpBTulK6ck0BEcSddZhfVKnWguyEOySAwT318m4VoOLG5fvXyIO01TVk4LsF4X5TyaF2ORdeYUdz40wN33ArHaWji7sdVpXQFHWahdmNr76mDifRxz6pusmee4tqn323erjbUojVSQDDq52nRzkv7gvR5cYaXNLLKbLG4dp2Gka/pfj/xn/MC8IQu66uk3/cJh2U4eHamuvDh52nFTMIipPjLa6Y12KlRJswyYQrcCgqRtbduL9ph2qlpvwQwZNX5pI5G1ObsLMRnoZcvAZBkuLRrthIl/cfNqolbUrxMfGlMe7R/2p2Uihscmvo305IkzHEK2cSiKapSzGdo595Q3DZ172ekTgnzhzbWcvz/7VsFgMRsGV0Sh/q2bYCBEYXSd3kX2go5i2+WG8V5ybv+6UWyxRgB/A==","layer_level":1},{"id":"97580e07-40c3-49a4-9d29-82c3369f7144","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"单例模式管理","description":"singleton-management","prompt":"深入分析SingletonModuleComp.ts中全局单例模块的设计与实现。解释其作为游戏核心数据容器的角色,如何集中管理initialize、map、vmdata、heros等关键对象和状态。结合Main.ts中的run()方法和Initialize.ts的初始化流程,说明smc(SingletonModuleComp实例)如何在游戏启动时被初始化并贯穿整个运行周期。详细描述vmdata中金币、任务状态等数据的MVVM绑定机制,以及openid、guides等云同步相关字段的管理方式。阐述单例模式如何确保全局状态的一致性,并提供安全的数据操作方法(如updateGold、addHero)以防止数据错乱。","parent_id":"1bae5647-f555-4ca7-973f-465df25f24d1","order":2,"progress_status":"completed","dependent_files":"assets/script/game/common/SingletonModuleComp.ts,assets/script/Main.ts,assets/script/game/initialize/Initialize.ts","gmt_create":"2025-10-28T10:43:37+08:00","gmt_modified":"2025-10-28T11:08:41+08:00","raw_data":"WikiEncrypted:neigK6RjqTPkV4w5UD3v2/Ucrgz2XXq0l4o+rAVDuzq4h9n7nhoj5z2sIO24yU2fdjKeTRN960y7GdRR6BtJ7y+4VaA4jo8zw3+rjNaaAD1hgrbJEi5kIRqz/vN9ox4XpC9/6nNx6bSjZnEIUuagLfbiezeXxICcZ0oTs12XmskdtBNOIuuyh983WVGXucol7kt0DYZOUv8O5tmlvdINAAWSDTOnvuqCbzUgvFfQGTsdblEpJzm1udyptsiA4eBxNtawP4lMDVKgFDcMEWevJ1d0oOnZE/gtAa32G6E+MpIqYjaWz5y/Y+vIkG5wxACxANeEVIwZGLUhuVH/NSf3sfh2tPiZG7S9CPAH3KWfk2enAofDo7D4F0ZPe+baZyOfcNMqDadMFh7k9TV/D2JRoYHAPz1PH/Om0I48nBqg1wLKXmNEyJCG6s+3nyTDiIaiAFzwXY1IcimdIAnFh9a2SornOvM5iAvXNWJ1pR1OuZiiRJzvgx4/+fhiycrpjKA1DmGf2NC7lmThUE3YA+6GdV3XqU2QLLlxsB5yzu1FQglvCLUJI9QhRhV1k8Tu6vJFBhnDsD2QyjPHJN79S683XrpTfcXxXJ4/6UWYGN4qrwSafk36vcdaai6muAQuTTFdNKa3SwvegZzgIqn4kSPkaPDGgGO6fAg/Pq6IlflxcJLtwitaN0URcO9FvgdVs4rFAGbHyw7ytCzHRsaNnE0Q3FuCIBJN9ZUpAKkRlcs3dzoC3C6lPXuBQx3I8uE6LcTpjzJN7Za+N+vZV3q0y6VSMtBCHQP0X2HePS74FPuC+31F7MAnUXRqLqZ0FaXM2UkwZ3luOvgZK4PKAMG/DTjddVErzAu249ZcGYKm9KG1rOdk/P2zpHSxPRZL8/LqtaeqwBbPNWqqSCtzMt25OdGrAWOT1XFG4wDcUbzWQRBdoBA1oMDuiEfQX84btHRoI3VIP4NYbF7Ha8FtGUiA5YVjqte+gFE0TjpH1zPUh1J37XJY3LtEkuzgVSFWjRppe2kHlDko4d0bP8EFPrrFU/GYJ/Shy33eVPv6do8tqqFbgMZj60/LUEum49kzix1ZQMdqWKKzFW/ldOuoYQX9ecXajFn/Pu6ViqqT1JNT9sVfK2qN4Y8rdS4DJF+S8E6bk+avhXPSDem5KGivSZaZ1Y4B2oR+BilZO4Ca0TdqeTfkZg/rkFaukWjDdmPGLwKrFhBoWubWuzA1If/lwRShQkyU16fltxpz9LkKvYMKb5pxZgt+6tFsJWI81h4RPuvgw/0kwZloRZ30X7iOWrBB+ZTp/sdaDsVwBvkEalX1t5+7tXLsbrQUYyRglJsoVUe45IJ1I2EDsredZJxBfKvbS0jJKAjzyBY+OXTAaNQk4uFi1v1qcM8Gxb7Bw8v79WskkpTP","layer_level":1},{"id":"beb89502-3ee2-4f11-800f-65af0d6e1fa0","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"资源加载系统","description":"core-resource-loading","prompt":"开发详细内容以全面介绍基于Oops Plugin Framework的资源管理机制。依据loader.md文档,系统阐述resLoader提供的load、loadDir、loadRemote、release等核心API的使用场景与参数含义。说明如何通过loadBundle实现远程资源热更新,以及loadDir结合进度回调实现加载条更新。解释资源释放(release/releaseDir)对内存管理的重要性,并提供get与dump用于调试资源缓存状态。结合项目实际需求,举例说明如何加载Spine骨骼动画、SpriteFrame及配置文件。强调资源路径管理、Bundle划分策略与加载性能优化(如批量加载、延迟释放),并指出常见陷阱如资源未释放导致内存溢出、异步加载顺序错乱等问题的解决方案。","parent_id":"72c56791-2a86-4429-a822-384c79c48732","order":2,"progress_status":"completed","dependent_files":"doc/core/common/loader.md","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T11:10:49+08:00","raw_data":"WikiEncrypted:V9Yp89n0N2VSxSM0NA/VHIXI4oXna3KdeHebGW+5/twk/PdqXSjiWTJBLyTUXl6ZSO1WsY0u3tnbpQ+HfGu9/M6nqiRW+RJ+uUT3745FzpRZBbqmf0CCLNGBhvdZTIx1HZSO7xnlpYVCtG4k0WLabtGiKQuZam8proXu3aWP6Qqo0wDlxNBYlDMTLCCzutdth69/+5DGiNxFJkA0p5RCvgtnJUhNzz4A3aS9LjLwWDGpkTRBBWAbx6A+lbhw9b1tCl98vss1ATqW6SAXFrjvZKB44c+COYX8OTfxF9MTXH0DAEKOpaugkoVxK8E5xz/CV4FL1iORm/S5QHvRG8Afl1rRbjLLVyi/+NSfjxLggMNyNvufSEEblP2Nda2hMDo41bIf4Qy/4G6ZUVgTimuyV9I8r8b3Usi8CP68ZR6VvS6Pd+FnlVrFP1Om9nZkIitx9AHbqQZuhKOnP5r56y0BvlILo+ByXENAkTlZd+DT2pkYjvXxcKTF3yN/smTMBCDZU2rEzoRAohpZ+DXLuKzbRjRzX9Y7CvdgUHYRRhJLmEibkAS9XnI4bX+ZA+0Fqq5cdi7d7lXRTPSt6kU5vjcvYOgAXOvsZZoW0ABdO4Y1xTpDw5WumEg5gme+aWoqPD1+s9Fkf7E7U2FD31H3X1RU476SXup3s12Gj0TYbl9hJxFxL9Kkp3LNfNCZU5/tNHT3B1xn6g6kJlHoZ26FhRwU3JrY2zEOqi6nTAUV8xOYt9omn+0R3/h7qWCa+1pQ3/ms+6QXzaKtw6xgmXAZEYIu8shTGscw3H8S05weKRhTzmBUcBheFftyu6pi1O86mSSQzkhgjqXTMiLr1bicpaM8gJhip2FRrd79l/083FuiZndCavRbX3S6kFylARin5eb6lv2EW9DyjL+JE4w3iptP6kwBHkO1H6IEefo+hVrnz/7u/U8nYMrFjTQiuiEh++DFcNQhUf7+EVtc+2WxdJEMV/tgFo6wzCu/8tLrFycPuStWmhFkBFMc7vFT/+xNe3AWYENQ4/ghIzSvB2D3MngXzZ3qON+QX1yp6to502bWyF6iWskYAgltUzdSxjuv2mM5UJXQo7crLdADFvagh3VxQio936bjhijVKeS21ieKLaDD4ZMnrmKc/HRUJJXt7oRgOAV5GPZITNA3lrwRJ2LedX1Q5O+elF10B2QeiDP+NR2SNv5E2zhAZsVPpwgGX9IOvvfe1ibWMvuNF0LRJrsLvGK1JhBztbERJDHjT3uovlfI8zo0QEiNkuplPXxU9s7wnvcubcGLBhr4r9QY2uqcfB3LcVOQi9lGoEI9oKj1dmzmeSJ+B4cS9yXUN7KVxq9YFqXQ8IBb2mVy1MWZqobnq6W21ZWIQRmSqV1LXhv7XAaykBSZpWHK+I6wvtkkoZSm","layer_level":1},{"id":"d6f30777-c757-4b2a-a262-0e6cb15e5a2f","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励UI交互","description":"reward-ui-interaction","prompt":"系统性地文档化奖励系统的UI交互流程,重点描述玩家在战斗胜利后如何进入奖励选择界面。基于MissionComp.ts中的事件处理逻辑,说明FightEnd事件如何触发Victory界面的打开,并传递rewards和game_data参数。分析MissionHeroComp.ts、MissionMonComp.ts和MissionHomeComp.ts如何分别处理英雄、怪物和基地相关的奖励触发条件。解释UI组件如何通过数据绑定展示奖励选项,并描述玩家选择后的反馈机制。提供代码示例,展示UI事件的监听与响应过程,以及如何实现平滑的界面过渡动画。说明UI状态管理机制,确保奖励界面的正确显示与隐藏。","parent_id":"0f35f30b-6bc1-4276-8b17-066199b14058","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts,assets/script/game/map/MissionHeroComp.ts,assets/script/game/map/MissionMonComp.ts,assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-28T10:44:09+08:00","gmt_modified":"2025-10-29T16:47:38.7853958+08:00","raw_data":"WikiEncrypted:O4flrEwQjo4XmpjZTF673R/NDAc5Q1/gBwqiDqK3RBGu1W4Kc2FH5VnOChlX9VPAtePO9ldNWe0l+JrcLTiblFZGqyrwDEPxuYSmGb5CnFjqIbi1TBmyRP0kEriQV+dPny4fznOp7zfONuJVAMRgMtI1QNZOvsgSo8iCDYVPn4jKW2rDSsrXpmyomm0plGeAPGdT1SapKQcBrD09VqWbpzk9FFT5i8XlzDVRGkqDjeEARyuwwlxY0SPmyqJC4GlQeLJ7LbkkMELwG2PT61mBqW5kV0pjunpX4ID9rpD0TqKNYab0PEHymjCMrvBOn8B60IONGRW6viHWYLGBw3VUEjNBvZtnth578yqN4Les0JfOOFYfRErXiz2yfGsue4GvyNlIAMsRhf6EHkXDPwqQjgGtchCZNNHGDgOH0kvnjVZqCNDm0ni5TBgeUOkzOj4k8Y5Dm38+/YPDPLhcwE1oGyS5Fy5hqlSJ3D5kryi43fl5ohLnmEEzfbdFe3mgw72ryrEz+6gkYTEoSiYbV6R/ej7DGDOhtUNUA1wTj5qZvVyWjFLRUpmXFUwruMZPILYTTEYibbqvs/Kxxc8hZVLxTj14cO5YhOBbFC2+qvXxEbau/RuolCUGt5cYKpkklpW2ut0g0rcqadqhfbkvjv8t6DyWFlwmhU/AgygjiYABeAaJ6Z1seHTjtBshPxQ8kQcYhDBd6KTZZbz9GSeiMAbL0HYXP0Rl5WVlzV7Y8bWR8SkVAcqmzUllkUMnRY8U5GSxxUCiEGdxwqW2LkizJ7+gStGlBWVUvypyjL9FsWF5CejMXz1BOEp2qzmGosVi9xQbtfXdbs7n/E+zyENU9I7qaiLIjsJsDKbhfrpcUxwow+Y9LRWby58g88tsr1Vf20Xq6ZqJpNDljlSYeVqhNp3qJpBK67LA88nwkDBw02Mbu3jSK71Tc5O7oMk+ZY/CAruWzuTUxaXjOM9HkqeltqVkXB8fbd5AXI5XxDZbkiNq7FOo9uN8JVFdEb3qsYlsEBUAIwYCOwHUrSBgI7lYUKkkvD5DaSDBJTOKdDFmsrozpcEoMbqL3yS624OmH3Y9oiUQ2PSr9HYy5gx+5z8jORzIGZGT4ksFpGdeo+C5slDgklyJBJ8nnwJFaBN8v40XTDfZU4UHAhhRCq1s/O97iHQeeo5QPlxGw/Ci7TH1cdCsyHxHCXq/NQ7MDN5lmSO5FjLiF3kWwtpRBF+RKW0XXAzIcMiUNil/Rkx+xdpMKtrxg1vZ+Md1We/FwuK4rwtayAFW1pTejo8oYiCLXwcy4JWx5stfSkzb0ugfJ05/GV3zup6sLPgYtZqRWgW0OIgTnM4RE/1VE8JNsHiA5ZYdYx9KdDFI5NISYbvAJEmZ5iYJ7WrWMuLXcIg4XXStZ4lZWmJ7fjviSv3rrZIHr8ovCiSxoQ==","layer_level":1},{"id":"143ddb5f-8cee-4348-bf32-f0d070e5ba12","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"肉鸽关卡配置","description":"rogue-config","prompt":"全面解析RogueConfig.ts实现的程序化关卡生成系统,包括StageType关卡类型枚举、MonsterType怪物类型划分及EventConfig随机事件配置。详细说明getStageType根据关卡号与等级判定关卡类型的规则逻辑,以及calculateMonsterCount和calculateMonsterStrengthMultiplier如何实现怪物数量与强度的动态增长。阐述generateStageConfig和getStageMonsterConfigs如何协同生成包含UUID与强度倍率的完整怪物配置。结合GameMap.ts说明关卡配置的实际调用时机与流程。提供扩展新事件类型、调整难度曲线及平衡精英/Boss关卡的配置方法。","parent_id":"a0745634-c4a3-4095-889a-e14932a9983f","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts,assets/script/game/map/GameMap.ts","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-29T16:45:39.796306+08:00","raw_data":"WikiEncrypted:SrFWKu+6l9aRRWuAB+SEophHoEYvi7W6i3PCPWSxthDEHztRahUIJ0bqhpiHGPbXXWO1dM2yAdkZnJwQakS61AXNSiCYDDnzzrhYlSDOqcyv5Hi1+FB/l29IDjoRYV2xQ8PeXMdauv89i7aXMidgsCJEbh/07krpf0mk0l5jFoe9UF0MB70morbvxQSCGWYQ3pAWObRXjNwsPTw6I56fJYuX+FaGbGkspqWVrQB4YoWMUTCIbY5N8k36MaAgyA4wtwWBt7umaVIBNu61A5KAeZ9IcrvZapz4pbXL0Ayu4puXa4LKCTfnePva3zmv5ORYi5E6F7dJlwIjqzFWFPA9kyL4sq4ugyvrPYTHtE4FLbYlUujTYKKoCTFksNL98WYeBUZogfSD/rMrxqqItuIjvJVTh0/76YcUmHSD9y3qq2JDVheJPO6HmaC4Om6wHqdzTdLiwk6Xp8V7K4gV7lgA2EaUBZqJVg48CBmAulKB2E23UM03gS3zpZKYCvmru9E1QTo9wpW0ZnRgsUSR2xh/r3LyuC0IcKSZAhtGgZ6fcLgHWgzrHOa/PHfHlbpPNPZkLgQItugYD1yDmKYbMUr0jQ/ShXo85DFxfrpBslE4tRZQDUVdcAaPuNRJEREnOeittCGOn3YIWldBxZV0iUG3ZVU6qe87vRZityGHc3/OwEiLq1/OQgIsB8eXfQNhKbgKuoec9RV9ZMV7u0XqLAgvGe+ri8xaXedgn0TAIV87JgaZrpG8zyC+AvmgtJPGVkP5MwBqL0gi89qd0GUzyIh9PdmgYesSm1uAcZOox/eR7Hafw3aRsTsqrivcTbp/CsDMDRsUbVabtW1RzpbyjwmEkyHSBxrCEQ/jkzVEZ/KrEJUCqmmmQvGvgOdYO6jcrQNpB6SkQXqrboM+zKi7cth9m8iUnDssnxTKiE3tnXF2qcYWIELHkYxEETEM2dM2EkZC7blXkEA5OWj8R57gz5Fg3sImo8bg8P27KlREAJL5iuAmshW9gXwpYGlshCI3SbKzn0lT1BUreLUflV6HLBbEclHHXM0RWgi6+RjWVXCwsistZjcZrbKNzDd/dfrAayNb1oYzj309o2z9ZvzQfrziqQDftykGrFY9einnMcziyocy4CgbsjYfBTkz546jsvB8yCRv4rlYRhxdUbATUSvwI7ymznZJXLNNSk/eYXO0qL3skYXBAaPImtWo22PfJQ0I789Bbu6sUEwrOi1TkY4+K2KgQ0fiohz74WFgcVB/nQdk6+iae4kRKUg9hETDhpSrzYisgrsU8gtyrNyeS6EqQ9OcAykADusc+C24LtZ9bdY=","layer_level":1},{"id":"ac19b55d-307e-4c42-b7d2-616195c42f41","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"顶部状态栏","description":"ui-top-bar","prompt":"详细撰写TopComp.ts实现的顶部状态栏功能,重点解析其对GameEvent.GOLD_UPDATE事件的监听机制及金币变动时的视觉反馈动画。说明如何通过tween实现金币数字的缩放脉冲动画(1.2倍放大后恢复),增强用户操作感知。描述该组件与全局消息系统oops.message的集成方式,以及onGoldUpdate回调中节点路径查找与动画触发的具体实现。提供该状态栏与其他UI组件的布局关系及在游戏主界面中的定位说明。","parent_id":"6f870e6f-9799-4354-8648-2abbdb72f7ad","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/TopComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:10:01+08:00","raw_data":"WikiEncrypted:jXchyqtO/lQ3D9gZxsum1/tSftK4DNjtOuuTxwUihgZ6GOXpIhDxC4VXFAEWHoG8eQBxbi39M8RknkTftF7NJpXdZJyM18Ok52bphfmlsAdgn8PWu6UgsUeorsCtoyRpVEvJD1iQDAWgBjUAXp8MMbJKTY2zgQAAMenenAiEbO2Qb5jWzLtHMxp/+zx5YHZrWC61oSX9tCDs9e57W0tu7OsYyEBcsEp+7aQ4mmr7I/bQE/3Gjqm/D2h3EeqYHT7xbow52ssiETEYzRogqKgS9fuDJf93S6RqeXTZ+WUU5TmrqeRUZUMVoNtV6nJsf5kBEUJ6xJXsGWlN1euZXLuqPv6pSkmcWDLXwwddLGwg9pdZl+5D1b0/XUbncn/F3Qr4H3taCtDKwJ9ud/IvrtAO1X6+q3HJ+A5nRivkldHKA7NhMcX71eAeTK/C2rOxjRvHzYAwOK4/hdaC2GlT0Rvt24xm/q1up2+a1SbGJAPjTrKxXBpYzugQ9O6oqxBhd0gsJrsObmj/QfXXiRs34KCjY97UMF9pGEs6Ejev/ERNz0Sg+tpYCe/3R2r7QBj8WqOjtR38gh53HnEE9CmsvfqrZul+vuP1pcPg24dSH+duZ7XDX/Urc1CxKlr6mCHDdwysRyVEeUElzANRs+c8skiJeU78/HxIe9+LY5qmi55S1V0TxeYbXtoom/pCTTF0Gsp37ZoguzQRH0Hs8LP6UnDRR6Di8HdLQ0PMnBXra9QdDH4PXAghvlAMaqdjUwbn3ocBdKJ2EzxzIghr13a1utvPoQdF2g/9YMnjGZtavGhPqpHXzBr+8uJv7Cu+3aWKMiY8jGESAptn7iYq6fPZXzzgfiLXNI89l87jGKHtGBaTdOQeixj+AVE7N+lIIdBzUqcYgefw0sqoQVNU/yRpb0w6+k1HM6pOrBDZZJTBJY7MBwQ3ektlUEBRXNw4a8ugv0MZ8qpQEIz1I5s1eJOxoMGfMzkoieQJU2lgGXwnVxJjAhKIPZR47RoubNkkQTcYUNdiTvSext2tmjhGUQAVSpM51eVI2vuml7THquQtzi6Bv6FnoHvFue1KYPY5qXNPMgRh","layer_level":1},{"id":"81923473-dad5-443a-ab8a-e22ca7d1d96e","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"音效管理系统","description":"audio-management","prompt":"全面阐述音效管理模块的功能与使用方法,依据audio.md文档说明oops.audio提供的背景音乐与音效播放接口,包括playMusic、playEffect的异步加载机制,musicVolume与volumeEffect的音量控制,switchMusic与switchEffect的开关状态管理。详细描述progressMusic进度控制、pauseAll/resumeAll/stopAll的播放状态控制,以及save/load方法对用户音频设置的本地持久化策略。提供在游戏启动、战斗开始、技能释放等关键节点集成音效的代码示例,说明如何正确加载资源路径并处理播放回调。同时强调音频资源的性能优化建议,如避免频繁创建音效实例、合理设置音量层级,确保音频系统稳定高效运行。","parent_id":"17e2ecdc-81c5-49c0-b0a2-c142654c1366","order":2,"progress_status":"completed","dependent_files":"doc/core/common/audio.md","gmt_create":"2025-10-28T10:44:39+08:00","gmt_modified":"2025-10-28T11:16:37+08:00","raw_data":"WikiEncrypted:+SfECELBWQCxQ9QszYYbrJWI234StSE5x0qrHqFvD7nX1z40++HLhyO7Pd4SerbvJI/MLfTqIQkZPGO5YnuhtTn+rl2oFOVeL5iKr4GMrBUCocmjkHeGC1n4w9cEY8loaECqQAHGcauGltyCaHXZrjNt1lrJkxJ9ZI1apsWwEpH1fR82z+8tw8YWPEDzWkaQiG5Bn/0EE77pjJO5ESo1mHxd6p3s0oG8r7A3HCiq+ouE4CII6epSkupKMkV1xxba36gtm/ZrHE0bg11Gkh4dX92L4RnlFGKxtqJWEz+L9g+64frCSMRosnyAh3oQykqh3os6P1uvkUPyHxf5tPSwIZBSKve9WuPk9cCeT6WG/jWUCA+a2KXxJtX785goeT89kI9cTpls/MRx6AA8NZ7as1NCiRHgdozD+L+LT8eATzr2jBeIe4lO7H0BlrRM5woP5nn9289hJLY0hW83ey3JffxSxEms/h8nIWQvKwRFTclo/r9r0p4e5xFJ2ofbG7/6kbwCQqEAQuSbGKbYKsVgmRVMHpFbROjQxttj1LQ7kq6VVAVmidpnZpRPaHJvjZstnt3eySrhrA4E3qb3G5FxYXoVTSbwp5NJTYuF8RICU8DakV/tAoa+P2M+e4rzSdT5T9GmyvVr4rZhSwnYeLzgm7pqG/IaZibQVjNJlCJSIELImzxOpFO0Ksx6qamIQxSD/650iiQbJRqhNlHUd1ioJ/rpJChRgjza3AWZW+KDJhJK9P7/jkRe9a8sL7nHPXRxtxJiEBRHIAPIj6wvk7M/TaPkLAqPnLnh+B4p9DUvBdm65WYAxMjqpHQtRSLSr8V6IwaS+xBX0QuiJTOn2C7b5zoH0haj0p65HEAx0iIRCzGhjNqYyGsC//UiMHEYY23tP4QBDnd3hg3RNOiANQnlE7B5f1b4VzxefsrQXuZrmGO0JWqTHNLoFuDwt3282Kn/CiUf1+2z0uxfi2RQw5ast20MExQx5ytIuWOW61HUPbu9clKsPcIbgF1Bo5pzpFYk3vOs4Y3Y1OtZIbNPV0yn78DSvQdDpx0+WlKv/Jaghv/W4cgQyAff5IjP7J9mbd04HhXduzX1j30OlKBCXhe6mIMiWX7sMtyz5RohXozVFWDCexqJFocri+LKGaLiqKTn1F3USBo6Nh8z6tRUUPWWdskvPEas3L0HhN+MmVmb3bYkcZt+zPkVSfAyd8H3AB0th5sL6QqRBXAaXy4ZqNbh0YR1Keks6ozcN/6wUFgvM5n4FUIN3PN7YyRFkeyc/uF5kcRpfbAc7OtP5bV4K1K5JQBoQmNwtGjztEfl6A8Zb5MvHJvOAmSrYdst4HpE4Q0z","layer_level":1},{"id":"464eae41-db8b-430b-8f77-073f9f2fc6b8","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"配置管理","description":"configuration-management","prompt":"系统化文档化项目全局配置管理体系,以config.json为核心,全面介绍其结构设计与各字段语义。重点说明config块中版本控制、包名标识、加解密密钥、服务器地址与超时设置的技术意义;language块中多语言类型列表与资源路径映射规则。描述配置文件的加载生命周期——从Main.ts启动到Initialize.ts初始化过程中如何被读取并注入系统。说明配置热更新的可能性与限制。提供最佳实践建议,如敏感信息保护、多环境配置切换(开发/生产)、配置校验机制等,并结合SingletonModuleComp实现全局访问的代码模式。","parent_id":"8a2baaf7-cf40-4469-b83e-2a3a85976b9b","order":2,"progress_status":"completed","dependent_files":"assets/resources/config.json","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T11:11:11+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllPgfgMGT84WysP5aU7jVGgMDPSKvWZp7xsAQzGtWF2TB4Rm8ZVH4zR7QDXSHsvp7GaHIikRr6Q/2EALLW8cfJKdFZPKSFNwkAoEh1Rk3MUc/upopQ7pN0X15icPEFtiPm84nKtvSRn5f39e+sMDpxGA9wx1Jyh0OlcqSKk10BaJjfr5EvUYQhWfVsPRJgTDJO+gKJRyE2hTOjFYTuc9zqqcOLSY+TCtApmAnHPg1zlquctCTsU4ADMYWdhMnGBEuvxCnv/MdbxpjlvOw7XLg2GrL+RzG4B1dr4ZOWhtzOohsmw+E23No/+dZ6bnD4rvPRNkpL9SQZm7JO14Lj8jUVQ4viVwAZmtO3GunGa0ZVbPkNiSN/LG6xx8owl9p4repbuoyR6LLZwjrWMkIQ0lVKji2kCd2imL0+l93f7Fz/KOrYgcZpPGnAd+33bK/kSrASLfzo1724Kq1XDNrMrhFI5L0iomACKrIQPmHQvwu3ABJcF/yewh7ffPnI5j3QVjC6pPtwO8WLhxMaR0OLmuB6xTBTtFXZhYVpRxb0gNjdCVv6lRP1LIxnbQImx7iZVuPtsECKrIny5rF6H+vij7QKpbvHl+G3ZcqvGr/aOE7VeJM4gY0YGTcKPoDVMjcXD+Dq0W+VpXhku5/ndryiR8Qu63+iKbBCHh5bZ1hh4qdlq86n6uhJqzGVTL9iFrpyqjZRMgqSwO+920fySEs3qKGZGPxYE6RnDU0o4+r5sh+q2dztadhV63S1NVuRs6MlEQqyePq4V2lLU17gTfDUh9QujIYiySQqhSkucDYeiSNybrOZGyLIRBE6mGR0VWj+ZNq9ts6xBoARzaKDO29NWqgvepP5fojprwO+blHq6GOJVhD1aMexfrJG156jYu9IGHi3TRiCVUEr24ABnd6+cm5R+d+jK9MAp9qZ5ICEQx49ep9X2uwLvBJOfCriYxyJ0016Fe4gVn0+egEgpLCCL3hqrycB6d15ZZi6/OoRKddursJetlMEh6KywfZquyqcVZ0vbaOEax4lXjSXJLpR70l9vcE01+2pAU+lmfy3D5PvcVvfqNlEv6AwjGj/I7hVcvcfwb5tzT9C+9413pgrhhEcslSMQJTtVCY6kgwUzPnnSghHygNtDM+VheAnAK1GjdX1UK9XBYdIXq0HhS5f+9rY0OJPrXuTwHlpgWWQCac42XT7C0NW2Nmxce219rf7cHTIj1ZYuVBjnPFa90BQtSkF4k=","layer_level":1},{"id":"83b7ebe7-d911-441f-a037-5941db66b7d0","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励提示类型定义","description":"tooltip-reward-types","prompt":"详细解析Mission.ts中TooltipTypes常量的定义,说明life、health、skill、crit、uskill、lvup、apup、hpup等提示类型对应的数值标识及其在游戏中的实际应用场景。解释这些类型如何与UI奖励提示系统(如TooltipCom.ts)协同工作,实现不同奖励效果的视觉反馈。提供代码示例展示如何根据TooltipTypes值触发相应的UI动画或音效。说明新增提示类型时的配置步骤及注意事项,确保与现有奖励系统的兼容性。文档需包含类型映射关系、使用上下文及常见集成问题的解决方案。","parent_id":"75df5580-3a63-41da-a5d4-61f5e51b2de0","order":2,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-28T10:45:09+08:00","gmt_modified":"2025-10-28T11:25:39+08:00","raw_data":"WikiEncrypted:wNO12+ZMHk72UYUDgUgbaJs4y8ovxSgYI0yr4Tf2pSL3lgTC2juo+GUilinNgSzG7udJg6CopQuGB7jHaUjVv1u8xk3PLEn8sBw8hJTNXGPbemfd3NSeocPL3XkU0tEY0i9L0+Yv/fYyVaNoSjG+cXDhvJJ92A30HwGfiqoBzhT/jAwiz7Q7JujznEYHbOStLhinvZEo4nFJpI4nl3n3W6fZdPwNe9/BtKCz7crO8z/DIYMU4WzFdn/Ks5K0nz6SoBlkJfGPm1eeSOCl/vNNoLICShol8Mklj6JCSEW0agkiYN3uQnC9T/47lMKsHmnxLq0OtL8cmm8F0Yt2Tg/kZUXQiEe1Z9FNQaYFg9/nVj+AC4eB7uEEbTxm+sw7NkkPyqPboNDaENPb+I7zojRfxXxsplZ3A0DMk82n8+DR8U3c2XfhMul8Mfmha2Xh+2by/HMOAwCP9KujaSL/6hgtA2Q5sl8PgSNGtal4Vr2SVvFKRa3n43UDxE6lCAKvchiriJwOO6TRo+FzJzUeBJSoUwc2e6Bd2ZuOg1fM65vgeTmr/T0ny+0jBxo07mWsOFFB8J000PGQu6IoY6cgn4vJPQoJJx4hAEjK44FvIi+U1daE+VDeGC1m77kdvneXEMt8tf3r8XfccAm8DtEb5R5ZIjsgKwmAA7weIIAvDxqkjfcD322V7S6vhlwI0wcpHtG/9ko1fa5wxEwGryZMOWl+aSuvHNrGqvstDXKIbDnJOY7Dorcpy8sMKIMYnUecVa1Jtzfw8vsg4zeWUY09volqZgKPvWPOHAELOEG/c6dKNTK+uRy/lVDAv7r6aOpSeD3w1H+/fkmdfbR5nWvAs3Yb5cz/+r9pESmS3XkEJJnzDUNLYFHkwLoClroq5fR2JiMPcGUHJUlqBQISbPdP9r52VoOfy8TdXY6tAWU44RfD+jWNgM17N781HMVGuHEBeKmOecyMcb+vtOkGXc9PaJXA5ztUtpQYNu0ew8CX+Gxivo3WT/F82e3G8LSzSO0YqHrER6jtBVViu2+4r7zWesIIqurBy4ceFOcymZAWRwVlagEuJFy3HC0F8gDn68rmJNmyZl+iVIS4dTv0ooXDwOWq3Lc/D5TVqPi9lpe7Q3zq4eCOHHxCcDxhEA/aMA4KJ/UyqJAExjfUpkeLEOX4f8dJBw==","layer_level":2},{"id":"9f84c171-dda4-4a86-8b9c-66ef2cbb693d","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励数据流","description":"reward-data-flow","prompt":"系统阐述奖励数据在MissionComp组件中的生命周期管理,从data_init方法初始化rewards数组和game_data对象开始,到do_drop方法接收掉落物品参数并更新数据结构的全过程。解释rewards数组的存储格式设计及其与UI展示的对应关系。分析game_data对象中exp、gold、diamond字段的累加逻辑与数据一致性保障机制。说明MissionComp与全局状态管理smc.vmdata.mission_data的数据同步策略,并提供数据丢失问题的调试方法。","parent_id":"302d516c-946a-47b1-9354-c2758c07b447","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:25:51+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvKgAZt3HMISL9UXoszNEvs/hxC7tHBb9fLKEPxBPsaZI0oxivNbq+Obf+EXD4uAMeWuIetwRmAlcKIxRzRHXPOiTUx9CEwZHDtCGGk7XoFX6Qpw9tjEYiiTtWN58EHn+/s+1ZzVT61e1UNe/NmeUqN5qI7OVP3XQTmahULjPvbkUQVTQmUsEW4GtoTUUmy4maXlh9SYBkK8yRPPRJeVORsMyKRYpve4u7DAzF05qcL4mT28Csfak38/oOJJEVRfRv9oQqHxTgZIzkJG1JvAIN1VK5uDa+71SjxoPz+J1uKTnHKJBqJ3AflX2PfqSNz5Ov5YyW17VbuNIJzAWn4PHxosicqq09cMvtFuoH1IWdedZiZqcnGLwPAH4kCvpVCTDKg4tfii/wdguf30xdo8U/dD9YAF9mtfnpapBadRuPLvaRUjjRg2t1e66WET2eQpGMb3g7Q/MUa/zghmPpAhjnrEh25pJtXzz/ilbW0TAu9pHhUw5k1gDTMQ8V19xU5tWjGK5Yoj9vLlUOWHqqJ9xYDXKovDHRsHN5Jh9TRMtUM3XTrT2fNRpifnyappZ0xKJ9rGKht+MozvrI2DZdKwKDX+fOdYqkcBeqV8hcCUVdfHrp9ZugMeQ/0eidGnxWR1L2rIDJa2ovoPoiF1qg7YgwlNraednJRalU+tIb12T4wLdqSTxLcVXIsvetb/0khEP5D8kXKmyuSwOhUnUUnzfydgE+qeYMjjP8mJmSyF9yBZIOD+eW/0cHay7syYUuCm3ybPJwa/pf9sLGxckjEQEKEb3VfgVXmUjgtheOKOGXyg+92L/4xJBStwB+8YZ79gobAuhketUle3d5e5P4+vjw7f4NzdHh2SghAVI6nl3vVTTQNcei1aOcNoAJJSjOzcWLu2Cof+wDTfoowM98/fI+BR0v0mKO+aD+o0gDN9CvNSO5sM33GX/MD+whJi3kRSRdaHOwZdZm7BjRj9XPgj+0eMeK/LbNbLsYXa/YdHqsvzj","layer_level":2},{"id":"033f158e-c7ec-4cdc-bdf9-14978a05e615","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"怪物生成与波次控制","description":"mission-mon-comp-spawn-logic","prompt":"系统化文档化MissionMonCompComp的怪物生成机制。重点描述do_mon_wave方法如何根据当前关卡和等级从RogueConfig获取怪物配置并生成刷怪队列。解释generateMonstersFromStageConfig如何解析怪物UUID、类型和强度倍率并加入队列。分析update方法中的定时器逻辑如何控制每0.1秒生成一只怪物,并在每5只后暂停5秒形成波次节奏。说明spawnNextMonster如何从队列取出数据并调用addMonster生成实体。阐述processRandomEvent如何处理宝藏、陷阱等随机事件对奖励系统的影响。提供怪物生成状态机图示。","parent_id":"d6f30777-c757-4b2a-a262-0e6cb15e5a2f","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:26:20+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVR1qsuoS1JxM3IZVRlNcVepBXwSxFdhRcwZrc90Wwa4Dwmyan1KFRMGqwBcoUj/V8irD2QPRgr34rhZrk6tDyAHDjkVbFSHuOhir/cocyMIZZM71jSVfn3LgHesp+sfRIPhuRJFvFeGJVC6bV4QoTwSYxhJWXDqhJyvHZe7Tu1Uhk/Ise+B1PLiV6ZB+30YIc02D8hjPhq+QOwZHyHIqgmaMOGs6TQrKFZ8fHd9OS7eZh74k/mwVWG/7pEukagSqKzPFoPR4xP4ySVaCd5JH6UWIGVHf9s20o2CM8y1mIQ/BLhwLQiA1gK6RhZszfigt3StK7Q2LhqtRoFneiH6Rb29OeCmikTHO4S/twXnxA6VefHdBbHft4fe2Lb/fdOoDY4Y3t9yK9FAXsFh5fQ6G66jsSTH5kP1ch2INeeS+nYu7Drbc57Ql7/OB4IFRtWKb9ZKCm/Cnsx4bEulvWVPfZ6DOIM8rQjRogVZh1kaoCse3KCvzioxlH21cyaZS9JG5tcrRb29tn6M/oMaoelBZyWnIC4sVc4ZjICpkt0llAaIj4U28Oz41TF+DXpLfIdHE2ZUgWebDBD+HML+ysucoKa2DeENAY8Mp6Y7NLGYOQ4mRY0xg5GzJe9q3MZhg/klWwTLOReA3aCgFsXyLf1YtR+Cx4pnfhKtH2RSCa+WZzRwgw/Z5JbcQhuAud6bvJZEmc5IhqUWeN16/Ue3qi9dm04YhEwJAkAdZyDZKh95anVhOswCJXvo8T54lYjwlWwDuKlozB0Q286hUu17BFzYUK59VPlihS48Ao3rp9U2cxzv+XqPX65kvi7oN+H/w0da4xb/xYmb2rRYfy6IPkgf1pn3o99I6ysemS2fdlkGKI/781IQ8Ng+31+ULBXuW/N3qeLfk75Fb1isRNO+2qeVDD6LBc6VjzCdfsqHx3xZtNcnNC7hqQlsibngOnM6T503wBeadvflas3tOp/hiKIQpljMggc+iSZFhxBSjScaaJm9ifZWIQult1/B5DEkS4ZUIXlG1BX3fmfDYaggWWSLel9ElLYz/Wpb7wIVODVpk3B507vPMJIJ+pRj1tSENutbYNqeXWsgBxgGR/jafJ8iyP3FZ1a9hWYuDF9dhHKLVINYZk/QsIBQ5QZjJolkoRqG5cn64nH/IBVtv9064m54dOwd5t8X7SsyNMjVUsa6YavUaPyZzVdeJOktDTeK0vljf4wmVKG+AcZFliGr800j4TyE=","layer_level":2},{"id":"fe474a4a-0a65-4d6d-bf8f-eb6fa46c16bb","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"随机事件系统","description":"rogue-event-system","prompt":"详细解析RogueConfig.ts中实现的随机事件机制,包括EventType枚举定义的四种事件类型(宝箱、陷阱、增益、减益)及其业务含义。深入讲解EventConfig配置对象中各事件的触发概率设置与效果描述,以及getRandomEvent函数如何基于累积概率算法实现加权随机选择。说明事件关卡(StageType.EVENT)的触发条件(如每5关一次)及其与主关卡流程的融合方式。提供调整事件概率分布、扩展新事件类型(如复活、传送)及在UI层反馈事件结果的集成方案,并结合潜在的事件处理逻辑提出最佳实践与异常处理建议。","parent_id":"143ddb5f-8cee-4348-bf32-f0d070e5ba12","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-28T10:45:32+08:00","gmt_modified":"2025-10-28T11:26:37+08:00","raw_data":"WikiEncrypted:PTm23USGky7oBojbIKFGE/9hDx/pvj9SYKCEtmw7z5YNPhoZUt0LA398ZsWCyNWfny+OWuyVTrlO/VJBNeZ4FHnkIgcuWirJaXD0HF9qPkjK/EWXMgKILTkxbAdNMmZuJ4EOF85gNfYQOK5D5uzkwdzGaj42cIHmqDVRAEwQU6JXQcgpkbRroUcQmkq5TD3FkxwxsXcGYQMTu8wzQdiOCwK7b67MaaOj82/sC6bWTnrQUUoVnqbrjSoi8lUBiQKlfr0PevNv6FH5gHQB/8PLLWPhD+prJjwP5acIbaMf1hBPYsAguI/q5AllqztTeIqZcwORwA01BT0Q/O0NyOYppm29FwxB71MX2V2rUtS41sJuJZSU3dYgoOe0YbmfgsLhC6WgvOj0Y2IFgXY6Y0biQVRPHd8Th1a2Gnaxh2XMjOGlPJMfwAY33mlQIAix+rz/WaT9BzWSDWmy0xafH5DmsBgG6QUHs3s5xz0lOXLgViTI9uh9th1+kN2xWP5WqkjZe2NZMZyaWb5nEak0OI0b3LkJFp/Q8ME4Fr/drOzk7OpU67exnR92XgWGKu62wt8Ib8lhPxuOFVzgQ0eagGPFkoBbyEYYxCVZ7MFT0OAUcCxmcvg7YinHbWbtkeVuWR2v41tCxZS6b+WTnBlbGkBwLWCzs7Pj3hT+R7i2YZ/WUplMEozKoqF4EjwnoCbZvtIPsD99WZH0MMREAOytjZa2gtT+JBJMyKKU1/nd+5NzGPkVpr1Hml7CVgoxIqceMcOc67w8NyqZJGnshsgKLpdG65bIAdeB3yD/RuNc59cgAJZy60bdebI4F0aDiOJN4GS0g/yC8slpY04DbQsqayrplXxPx1lSaQyHTV2zkTcaHBXZW+hgqNiBVzrKzZ3s4y2weVWockLUAsmQXSNM98rS6hdQSoaVHZLaIGul0Xz0VfeGPwj0+j9/0W53Ghz9Lp0liaJp/e8CWfKLGGBV/JZeAVQk8InlEwJfshyO84QzgQlYT5uSliek/xQobE0VgffC4J1U8BTuaAbSniJySJC8j0JyCZt21IRl/Ntws9DJNJMDlDiYetwXTmMj3TwZXLo2LlL2GaUFOBxQtzRXQEfc0TjQ0qMgQD8H3Q9FVAuZST5wgH9opXNpCxs3R5QVNIWb66c/8Jus3hLv07Pw9mCyDhynl8NWkTGY89SLNapCBnQOV3ydTEuAOC8Ca1Tc2iUgSu0YNRTIRp5WLDE/CWhOHtmFcVkprZGtjxPYg0R9dLz+RnaCLMELz5qnMe2FwTDpc+Wh9ev/1u0ai2D/eeNQ+l2o/Gft9Fd2bB9PzX0P7KLlXqtlSzxbvwQ1fanPx3za","layer_level":2},{"id":"7d51670e-a0b8-4732-84d8-8c08e500adb8","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"地图视觉特效","description":"map-visual-effects","prompt":"详细解析MoveUV组件如何通过动态修改SpriteFrame的rect偏移实现纹理滚动效果,用于模拟水流、移动地面等动态背景。解释moveSpeedX与moveSpeedY参数对UV动画的影响机制,阐述wrapMode属性设置为REPEAT时的纹理平铺原理。分析onLoad中对Sprite组件的获取与校验逻辑,以及update中每帧更新_rect坐标并触发markForUpdateRenderData的渲染流程。提供基于MoveUV实现多种动态视觉效果(如闪烁、脉冲、循环位移)的技术方案,并给出性能优化建议,避免频繁标记渲染数据导致的开销。","parent_id":"11673b58-6aa6-42e7-97bd-ced0af44ddd6","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/view/MoveUV.ts","gmt_create":"2025-10-28T10:45:36+08:00","gmt_modified":"2025-10-28T11:27:30+08:00","raw_data":"WikiEncrypted:8X6dHc8oTZNrY2EvGKdkVwMSknpoWsR+jUP5qkFAXoh/IzXRQYt7gm4je15gcsW1/cRou9W8pBWJVeZr7XFc5fo8law8rYOCGcpxKOf+rfVkr3MPUFl3eIRmPLu7cqU3HejjNIn4gx6epu1Zy1ekEcGEu697XX6h5bbABz+7qea9sXAvQdyL6zDSg2RIkUpjYIeUP8D5hQGEEG6/q9OuGvIzKwlDyPtrseHyiZTj/yOOK2lTGsr2i/AsPvK6xiaT9expNKu3iz9QRIm3LQdHf1E1lh6r9ftdfwO108jca+oU52Xpl1snTZVt0sSc5Q0NRo59s7r3q7WxitNolZpAxB0LC0/CLBerQUMSW/DVW8S0IVVjAOODzra61GX9Fr/q4M1GacHBdg20lHCdaxOhreW5dpXqCNwzWvVLF5mUjarUVBoYRjVE6mYMqKKAb5q8iT88pdP2gsv4SvlhvJ+QOoEsZ0Toy1G5sFgZEIGl7uxv7u80lsnlAMzWSwtA4IOzDxN4xrSpSgbwNNgwV57qpseo1pv/SU45tPLJ3jFf5RtppH6mg0LrkOO6YzXZQpB6tKXeuKUpEY7UbfWQq3AZkaZ06jIRn/4VsMhlXyDy6Ss53PMUb26etvAPgvOLO831a84bJ6g7nuDagHDv4FvT3+/fk4+IAe9BQBUn7g0V/dSWFAmrqIlyv49LJ+sZNy+L3yypQOeZGMNIBLlFdh6E6C7Py3FtS4FmF+U8sIX520snRQeDDEAlptTaJvquvZ7Kc/3eJ5CvPvbJVSPk+Ud7EKRwgC+h6g9VCm2scO6lnIOLEoGTMEd0L/0lEtG9gfQQve8c2VzsqUqiTA7WL+vwxfk6Yz+M3CI6IKfrKze75uq8hOKs3fM+Vsilq/0o3IAhTgRz2PyvYiA68zN/BukeeLC9jJeNUNdEjyiwiH1eIgTJytDARvmcN2F10XZ45tCoGaBhkJ//JqKSryv0RhFgaAd4upxRxtGix5B6HrR5GxdBi3D4c6AeGqHrG8U5U49uvuU44xG93l69fzhi6qLBOVKcBgfYoYCapo8+XWTAaaAybMzN2K//y2eEoDUG9IdbWQriLjiExhQ+p4DuRPk9IA1o3Epc47vgJ0/j0Q74ffE=","layer_level":2},{"id":"347f6fb0-614f-4334-8aa4-27c5aa0424b1","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能机制","description":"monster-skills","prompt":"详细解析Mon.ts中hero_init方法内技能初始化逻辑,说明如何根据英雄配置中的skills数组动态创建技能实例并设置CD、消耗等参数。阐述SkillConComp组件在怪物技能系统中的作用,包括技能触发、冷却管理与释放流程。结合SkillSet.ts配置文件说明技能数据结构定义与扩展方式。提供为怪物配置主动/被动技能、实现技能组合及自定义技能行为的开发指引,并列举常见技能同步问题的解决方案。","parent_id":"ff55dc40-c8b1-410d-8640-7a81020a7553","order":2,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/common/config/SkillSet.ts,assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:45:54+08:00","gmt_modified":"2025-10-28T11:27:42+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRohLpHxWb06tOLyR/EQEFfwEfq/3qrpWKdjjlasrfL1mVbchLd4F9JTdTgyiUAKW6c2U6VK03dYk5qwJLsFwQ3P9RsLMIKZ67Cid8zyVthnx8RfFLeE/BBXL6bdZcxhKzBhFVZ6+jwZj8LR+EFlHzZYPsNhGJmayDw9QgHRPK2IdIRSnSvR1JDZL4EhRjmOuY5nvPU9Xwgtbnoij6UBFaERs9JsrZuIgQKQ3iBPB6UBe7yswxjeo5FyTzbzycX0pdMISkg+kCg/kldE4+WN/OTUWCFVmAu1J/gXqoNSbdWl07Dfwqd2J8KZ0YTT7CwS3H4VXB98b+WHG0dUrHmZqYyoOuOfTSwyCcogweGmzTFCO8Fjf+38WqYKoNMvpx6DWY77iV9OuLcDA34uP5PrFxY+9Cb6wK81fph9KeXN8LlZzpgEpY/Vh3VSm+UmvzZavaeVKs6RwhjbQ8SJ9ayjzsC3lPHHsmopBDqzyVvItTRJnoSD1jOPvjLUdprbhWhGvNrNMtcH7Is78pLZhYkXboiLMu6nTbF6uw+m3+EolDczDRJktKyB2qz226xBXaFKiPkmgXUqyK2FOlx0uVVN/qjLhqv0fe5XMTQjhYYHpSvz33Kt2sdq40zCdVuNsqIL6fkZSyJXrK8xDEyql0XW1IZu1LiWBV9E4jI9Rywbwk0/cvpFOLB/qRdNFKU1Hqn6fUV/WRGO8fZV7T08dkAq0uPRttb5S/GQOW1UMZRIhMeqJF69pc4B7CsGAJ+KOW1VFwhUgOAfe+D3mPz7NYCVJ16gUYb1Fp7SEhsTycBH/thm1cpOYQhxcnAYu5FcfeEKzOlSrVGlLaJ41KHzi201Hx7ilGpr4Hi37fLp+ku57WbVMFVgIgWg1/uBoAg2lJcPSDJBNZhXzHf5JdRAIRiN0h8ZZCJ96sPTSaqTYL0eWhGhxnZpsxICqdX1BiR566Jut5dqjIggTFgaartu8ZCVrpHPQq4cTkIDYih7B10iEIsMw98Q3toRopbVT3rq0qlzo/ecSekCcshxz0oq0C6d0nWse0MacxBY1+YWcg24LELyglK5lvmgIWhQ+DBOU+wfWiRlj3nHQnGiUOjZphuNyh+VImoR7aBetY6ytwBIETbYGRUQt9+qz6rzn/fLmscDggZLZhzn9d+foW8+MgkEVvBCOYvfAE73ZaMWexb1CsZVw","layer_level":2},{"id":"ec6fdd3e-91cd-4395-9a63-06e56c00cb39","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"多段连发技能执行","description":"multi-stage-skill-execution","prompt":"深入剖析基于WFUNY属性的多段技能连发机制。解释check_wfuny方法如何通过随机数与英雄属性比较实现概率性触发,并说明scheduleOnce递归调用doSkill的延迟执行模型(0.1秒间隔)。分析该机制如何支持技能连续释放效果,同时避免无限循环风险。结合castSkill与doSkill的调用链,展示技能特效播放、ECS实体生成(SkillEnt)与定时器延迟加载(300ms)的协同流程,并强调节点有效性检查在异步执行中的关键作用。","parent_id":"dc4d87de-bd7d-4ff1-9d5d-901b96079880","order":2,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:32:00+08:00","raw_data":"WikiEncrypted:Zt230nV3k3ww0eU+N8tTko9t/fVdTGAk+wNrY25ockZnEwDpc5unbi8f+LbCCd2dSetXyC+8QMkOiQgOpKdTADkfTortP30ob3cF7/duMA1hlr5s1j0irhUejL/pmDN+EiaTy2LJZeXLr9p/YKSPTzvMVTYR8qMtDL3SPQo5ZUzBnc8arPWx1nI7uEFmTH8/neS3WKbDln3gXOTZ8GVn27GxUJ2Vo7cOoUFInNucGLwtBB872L/ZoTlvhkl9YpY9q5FHGmOMzyTsIlVlkwqXvxFEvG/yxi3cEOUpFE33Y8KmCe+dIpMaYjTu9hm1tiLVynbv4RYp3Sw8lZcdnCrvXXj+onlwBM0IiMzMhvFbQ2O8ikdLASb7t86cp+o8Ypc+DLlaxI6K6iREbb9DNxjptAKx9rc0JH/unIOuumV2QTdsZ2ve5lL4f5Sr+iUm5E4BBirirDQOMFemMMeJMvsoO61hN3JE7Hur3fknMq1By9Xzox+O4VZ0JBZffcjZBfote0SKOPXmeGMpEQzxGv7LMeRlLp/P9Om1sf6AzZohx+BQ/Yf9/Pp4gOCIXybrMM3QlJ9H8IUFWCR/rk8vFrkpOQ7o2PAZRoaRWKLJnM2hXgFeM8jZVIdDhs6uWiQkcjZFfvRJ5ypvUionPyFboAUhj2WZjX0PinwmmxK+qkOjVPQd02iub5xhy4SicLvd5aJbrHvkwfwNhcBYQ8hY9HjdPAG/m0IIQf3NMUnb2HHO1+HcrH62rtdrXmcXzTM71c7iRCqiJFIVFGD56URJTe2OmojddBsfYAPBDjX7mKYntWCQvV/tFO3B7aEpdWqHbWWJAN2M4uZdjfWf3FJt+uvJzomkht0GSZJi8UDkcy8u98lKm3OeCW0QdBtBjPzTwc+UA/9YUt96fdXcFKKKqQByM143cWcBJPB0GfJ1K3eBt2lVV5ryIu5m3TjpLEQABQ1WCs9y6cvbf3GrcrxCW2bn0V6IJ18lR07bDPi7P4zLGDzctG+NyRsmLwfCjDxDLCeci66CIXVf/EmvQ+myhizWQ9AhXoEvgctsYlsETy8t9R6PfhlYNetpZw0lzRQnhhMZ","layer_level":3},{"id":"c613057f-bdfd-4a11-b9f4-ffd553f41b95","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能特效图层","description":"skill-layer-rendering","prompt":"系统说明SkillLayer在技能释放特效渲染中的核心作用,包括其作为独立渲染层级隔离技能动画与地图背景的设计意图。解析其节点组织结构,如何按技能生命周期动态创建、播放与销毁特效节点。阐述与SkillViewCom的协作机制,确保技能特效与施法者位置、朝向的同步更新。探讨粒子系统与Spine动画在SkillLayer中的集成方式,并提供管理高频技能释放导致的内存波动的最佳实践,如资源预加载与缓存策略。","parent_id":"36b2fa51-94eb-434c-a175-ce323fc5a1f7","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/layer/SkillLayer.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:33:05+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzPy80DG1ZG1TBk953uBrssa5Cj3Su4x492YqIR02J/Fz9+xJwopyt0J1tcfd8sx0OEqCLEY1U/3cpK0mK0LmGmWJkXs8h4LGolM0jBXSAq6U14UiMWKRB1aom+62GsomV4qYLMJzoDpq79wHOKDB4zXsVzhmX5AhMJF3ZH/GZMs4uUvxRpRSlNo+tSfRw6tlLeOAjI9wX7IGqaHx4vxrPBcMZ5hg77hx4FYPfHfA++VX+WNL6K6DGY5X3RNby+SRl6jhyFJ+Tc4Sbs9fSD61hbf3wJpS+6v+cgo1M4K4hrZxEVA08lgcSCKw1IAjlIfObswdoVz43flTExnDFOqx/BYWDrxyy6SMRaMwLA080aV10xUfD4QT/kH3YKnWShAWRy5FX7LH8mPEN5FztSi/DuCM17TbmJDRjLHrYJXLhDb0reZ4EVkul9cxx+maiE0T6kCK8iQZwmyG/O+iFrC2Ft6ck+iZtTE2ciDeTE4D7I9BXhPZ4QNapvQGNzuDhnrug+Y3DVjzjw0GgR+EKLToKU660NDOCCUQIZ06YIb1w9cFaT8MxIk5RlDBkR5ULhHD1RwqVpzhwtBxZL12KrpgLaKZkC0P6KZ+TkM3EAlqlBFObuYelovC9lP0Wlw+eojrONJVem3v/VYZa++MePkvESwcAOSihT9St9a5qqGSsVAFuj9SAWk4uj7mZvEEHStB97giklKSEr1kWWKqrLNwtwu388+HpeMgxBkana1/WWOpBrwE337S3HKZWwr6mrIvsDHMH6uC10d0Eq/dyVBEGffEYcpLVWp1TuRdM2Id7JCY76jMijgy4jL0EhzzQziNPlLicEaI4TliHeCbg4SIPG1fXqf7Ht0tHnS5oZ46nr1deWyNnCBZFbijiz5hsauYy9hNA4HTN+r5D9HO+yDn3Throkhn3NPXl0Q3E3Nn+cL/Km0FyirBlGWpx+OX49JXfMMlkumO0m3UVGDRZPYIGk79LHVT3aqF7I+t29e+S5X7VczKVUQ9xJGIFHyg5Und5dQ1uiK1KuBtuulZGJMjOwnnbGEIBZOcCGBghJZ1kFvG9MimgFd0bVGH8BnariFdGg==","layer_level":3},{"id":"f79b3e3f-7266-4943-923c-fd05847c8278","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"英雄系统","description":"hero-system","prompt":"全面记录英雄系统的实现细节,涵盖英雄属性、技能、天赋与状态管理。基于Hero.ts说明英雄类的结构设计与状态机逻辑,结合HeroAttrs.ts解释基础属性配置方式。详细描述SkillSet.ts中技能数据结构定义及SkillConComp.ts中的技能控制逻辑。分析TalSet.ts中天赋配置及其在成长路径中的作用。说明BuffComp.ts如何实现增益/减益效果的动态管理。提供代码示例展示技能释放、属性升级、天赋选择等关键行为的实现方式,并阐明各组件间的依赖关系与通信机制。","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/Hero.ts,assets/script/game/common/config/HeroAttrs.ts,assets/script/game/common/config/SkillSet.ts,assets/script/game/common/config/TalSet.ts,assets/script/game/hero/SkillConComp.ts,assets/script/game/hero/BuffComp.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:48:46+08:00","raw_data":"WikiEncrypted:Sog6CEnsgMHJ/FnZmipAzWS4Kdjf8q5t9obLzG+Kww+x2u/wVdmoE0gmwWb3MWlkV8ZVbWdO/xlPFgdWU742Iao6d7RouH+SuXm1rRnPTKKpr0fnO4CvYiwcK3eRzzlZRLNltuRVrlZ6WYvlGfU8Jce7CsV79A/+juRT4xWX20FxEcTQ1L9qLEtoIsZzH7epw1jyVhagKUy4G8kn1WiaX3zzIOpYbag5OQhL5vD68vCN3xRYotM1X/Wn0eLHVUndgct8gBRQaYiqnQxRKVxPGIkm6I20x2rIEgVzR8poWrN2RKYDIOw9hizmPRPUjSVHLVZS25yxN7cLX2yAnhV61nLpXD25+Gddq3Q0Hlz9Gv851K3IROoo3FvjGy/Gu3MEYCqJ63XpODiBB7zhbdIWgzFWUhoMwE49j1aUG33tZnmd2r0QQwMrnLobn3Z9QNKP1rpthkmqgSctUEA66BwvgLPy7wISltuc681vkvvgPBHUHPs9kf300gviCScKub4J4vmsFXu6ZVXiyOBIPWWUOxPp6hPI1IUNQpoLSD7W5omEitvVanQz3WmMVNFExW9nN7q6h/O+h06JNl9V6KLMVrph8z1Kw7ZgYxKp4ZpMyrH8s5pcXHcAvK1dEElKUvkdXIHrDkaQd1+FL084c/Rm/TTdqPXPKtI2kkBGjA7AKnRW+ncGGkK350nGS8h1vCtt21T7M0rEFF6LNS9WB7Kgg+JwmTgv5eeiTZoXii6FV4kw4zRoXujrg/UdpllkhTmC/lhkCdr1qMncb+Ee7bF3PsRRGBNQf8naI0q54N5VMFIUGZ8+nF7WOYUN7BB7gtrdkvjNQsc4Dej8ZD/5TU2MJ0lCNkl6onangzvR+5vrUZbPJ8Xn7fhPIhXDwpjIha3fX7/f6U3oZPLfOlVWehaYKSoy2UBhK76/WLTDfcnAb3brUuOtQAf1WcME8GSc6WmKhYnw0N9HuLPmiKVrSzNLjXt8NzrPK1q4BewODAPSKPL3v6518dXJ5Ibzj8tD+RSKeQBqOoCH/LsnLBfuo7SYpFJbt9fZIjcyWbaOAVWifvXLoMVIZPZJ5iz4vvpTIXGq9vyY+N2ZizkDpneDQClqWb/pMtLxgNdEMIMY7FnsOKcC6ht0DmCOMoqj/Do8jDccMZdlCZENzttllYEeemCpVbY94DthIGIUY5k+vQYyC7UnHc+NO30+V2DekLC2fkaFGlJcgEeZ54m9hh40hXPhlhQn/J0ntCFG4kGj6w+Vg0Gy1xzc3vbdfzr9ne1p3SGZGzXTfklTIvGRGTXuICBaXPo/2Vh5ct4Dl8TqBdXzQrw7W5NPwXZFPe2wAVKcLNQpPJ6IwC1mg6i0fhNjRyBUFE4YMltF+lvutFZtBwuhzuGWi69RLHFidJkIMGfqS5EZmMA3Cm7gEyEmbX/JE3UxkA=="},{"id":"5d736604-766b-481a-b049-673abe8e6fa5","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"增益/减益状态系统","description":"hero-buff-system","prompt":"系统化文档化Buff/Debuff状态管理系统。基于BuffComp.ts详细说明该组件如何管理英雄的各类状态效果,包括攻击提升、防御增强、灼烧、冰冻、眩晕等。解析状态持续时间计时器(cd字段族)、视觉反馈机制(show_do_buff、in_iced等方法)以及UI同步逻辑(hp_show、mp_show)。重点描述状态叠加、刷新、清除的处理策略,以及状态特效节点的动态创建与销毁流程。提供状态触发与移除的完整生命周期示例,并说明性能优化措施(如对象池或定时器复用)的应用。","parent_id":"f79b3e3f-7266-4943-923c-fd05847c8278","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/BuffComp.ts","gmt_create":"2025-10-28T10:43:31+08:00","gmt_modified":"2025-10-28T11:12:08+08:00","raw_data":"WikiEncrypted:qLB62GuJRCVqghqbMqOQ9bgnYyELsMrVrff2a1oRLJAX9omUzEegSObM9/ZAnOY8CLQsDiSvqfK7dZjRjwETbb4KXruWtoPX1CWvW0Xpd7FnQPAkxCfnMYG/QlLpePqtxD/F+uV3SjhkfM5QUX8pVwigQTHL4056W8Aq5uUjZQioxYpAcyzvvbUohtSdSDJS2BhMVH3Cwg6cCgFkppB/ivNDoXwxY6znwsu6zrOJmR8xLyDnBOh5sTR1WxPU95XcdMYAR7KtdnvcLnGm9LY28O5HWgCROaEtokBDolp2Axf+pSCjmOz93n4FqW6cAp9vbmurmdupEjJFCo5zAGx6TfNruCuYsKzht6XhHaBJeGB1oKgJsu0/QdPr8Z4JEqFlO/nXK76V6kmIKFjQmfbvRyXZsI6tcDGvKXJCYPt9+3VdFfhK36ZgQPzxZe6W1c/9NnUldQH0LJ28ybkMEx891PQ4RYVsSftnZewR3IXEQU1KkvXryN5nN6wPLxdfJh9rzWEo1K1EBBjQfGavI5teTku24mDZe6lS0BNNM0uJWvS5QCpnFoP4hoCD8SMfQZKnc5wfz31eGb0bJg84Q4KIntfzHvU87ymXxRi5XTuSi3dzUEj5Pufl3P325zrGbPSa9Prjht4/P72vePvk+PCAAhdR/55HQETPeU4pLnQuTVbU7yLFoPGgzwStroYlaB2YoC7SoRWaM41EU4mdAhoat4L+oaf52FMzankz5HbbLbijoFjWEW0snsfWuCQb/Oc4CfAF9/jGBRBA2gCMN5Zd51PMP+UL3VZw6+eRMZ6f9LMw+X5tL+GZU3toJrUfN/IR+AmIfmSDVS5gN2efvV2tFcuR7u7/FP4aj8lXO1axhvziP6L4M2wtwgH//C+dK5PPOr06w4Oo/5rl+RnDftQ/qMbORiyCJ4L1JPk9qUgvaCeu/YnIfdx68uRlr31jF5I0D87P4zFGXnp8fv+5D+JV9AgO6mj6jPvZS1knB+/JKNwBpYL+tdBuVs2njF+jDkeF6o0JXsfWtSbiIsleJuGbrBaWLzu0NeA9fCrnBiIQlJiGkVmmGa6dt0lGLU8evT7oVSjFDQ0QOffYvPYpPBz0AYXT83B6D4Om6vuwniDdtj7IZOo2SgQQMTpn6BG63mEjzdTSdfDREctU1tEVNMtXkQ==","layer_level":1},{"id":"b7cefdb2-c4f2-4392-b3d4-e65761f14641","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"数据存储系统","description":"core-data-storage","prompt":"开发详细内容以说明本地数据持久化机制及其在游戏进度管理中的应用。基于storage.md文档,解释oops.storage.init()初始化加密、oops.storage.setUser()区分用户数据、以及set/get/remove/clear等基本操作的使用方法。强调调试模式下明文存储与发布模式下自动加密的行为差异。结合BoxSet.ts中碰撞分组配置的存储需求,展示如何安全地保存和读取玩家配置、语言设置、游戏进度等关键数据。提供代码示例演示数据序列化(如JSON.stringify)与异常处理。讨论数据安全策略、防篡改机制(结合crypto-es)、存储容量限制及跨设备同步时的本地缓存协调问题。","parent_id":"72c56791-2a86-4429-a822-384c79c48732","order":3,"progress_status":"completed","dependent_files":"doc/core/common/storage.md,assets/script/game/common/config/BoxSet.ts","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T11:15:35+08:00","raw_data":"WikiEncrypted:DMLV4XPfAy/M7T5r2ICaVpgpVsx7HFlhyxx27r4MgdX0WR7mefX9awFLRsYN0ybr7HNzECJsCr5x4HXbAkUINYuPuRbcksUZKs0BCz/FVtm/KVVeMdCnfukJwtubOq+FtmiVR024aY+y6dWuKj9EGO69xd6IE/5Vze8K0NpKHjX8asQMlDcXN7WSx86IgBoeLJ1KWnf3g6iLmmDetdTdQKpEo1tCggkkdNYzdYidCYm6VLCpC97A09IP1aAsRluDRDmP4qE4XnQ0X73+1TaTuWpR4+HckqSOJ2M/sGRixnN1lMG7+XTTiR+V64MAG9mASoOFneuuQ9Kb/cC1UkODuQ1ijKU2QyeZJUu53UHo5tNzTZ4hb0W9zXNeG1mHlEYhIiXajXEVFW8BglCqCvQOrrCgC4wqwAJaANFC0dPXxfT96vKie/R77qTcD1EjyvRYa3mP27qSTnCBJndgBYSppb4J3QybxbIY7rYAE4ametfYqZQ0nJJ/BjC6rT9grOYjFAwlLeOgyjzk27JA9qPu0Me7Byy1Bv5NFIicrYDlXqVQ8KQhIrZXqfvz7D7/ez3Xi4NQwZ8Yy/BqDb/JwQ7hrv9z/c3i9dhlJpNz/c6QmngDqmi1zn6jswRUuf08UgC0KyJL2GKKMtHL0QLJAj/r8Mre9+C8mUGHI6E2ba+YJK97Me5WuurP5qEP9i+hqTKPveFURczCyfmLiC214Vl24s8PmKoVedp66xZEG6A2wX/FGcVmLOE0mCvahwb99Xi5xthMGHQbOWFU/StL8D5zsmSfWEulJPMWtnZY1QE1ahEC8ONCS2ffTxq7zWm/6IohCcnNMsOBmHcWsgsNSbnPGLujO9id9nYvE3BP9MfwE64OPQ+ncA39bVCqjE2ZmOxOHY/CmjEj0qra5NzK8DHtjBoMi1uUTTHDY4ierK1fl2Y+m2LoI8qnD7eANHG04hhxuA+EJQVW0j02qQsVxx4+bbhW+kPdLYRCVdsZOidLsE92w8umGXgobsxyPJurvHW8s7DiZEsSC+31A/WWQva/u8uVNWq2QEGIumrr1ppb4dFMx3j5YI7+Ba+APhk0/JYaVvLOOyrRJ4v0pIjH0dT+9dttFi5yiwzN/v4nwA07snID7SDWRwrt8vCTmg2yYG5EqNW9AYXcNzQAeIItA6OLVzyJlKDWAmFTYYK7qVUafygkgEgwMTl3nGH6aMTMJd4hv9iHw0rIz6G981WLT6mp+jd3Ox9wqlsmdTcr24SvSRZxJsX2PPr3zCk47lTuLDa/Rbra9P+tOHQwxujr8OQcYg5lt+hCfKYQXsD3GXYkRIZMyIwrxG8MkzrFr18GAaOzp52i7j+MnRjGkiTq2r3trIWMs3A4laXX4D4ywSNEQmCgz7DAFXTj+sdzRbN0k7CG","layer_level":1},{"id":"ff55dc40-c8b1-410d-8640-7a81020a7553","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"怪物系统","description":"monster-system","prompt":"系统阐述Mon.ts中Monster实体的ECS架构设计,分析其继承Entity并注册为`Monster`类型的设计意图。详解load方法中基于uuid动态加载预制体、设置位置与初始化战斗属性的流程。重点解析hero_init方法如何根据strengthMultiplier强度倍率动态调整怪物基础属性(HP、AP、DEF等),实现难度自适应。说明BattleMoveComp组件如何驱动怪物向左移动。结合HeroAttrs.ts和heroSet.ts说明怪物共享英雄配置的数据复用机制。提供添加新怪物类型、配置技能组合及实现召唤单位的开发指引。","parent_id":"a0745634-c4a3-4095-889a-e14932a9983f","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/hero/MonModelComp.ts,assets/script/game/common/config/heroSet.ts,assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-29T16:47:32.0440814+08:00","raw_data":"WikiEncrypted:CtJNi6N34n+K04xCoaAX9IObj3WpZ/cfRnr/r6CgOXXz8lEyiT/Mf1YQg9Ckt26DBuCqUu3F2LyOAJGiAJ0Kkqh6/viJ0I5aCp7II3BJ6rmEWlT1Mqa3QMq3zlRBYR6/ECvvChYMmQ0mtayGWzAO6Y1Mesu/8efAznAu07T2qf5L+Dc/FBxXbOq3+gBfDwDfwJ32f6W3B6XsZQtn2Wn5kv8fzp+/Y1SUPt1CvrTTHI8JFVTU1dzrDoJrqbXt4gwLfr4MEr1vy40A8QK038E33Dg6UWjwJZUX7NfSryo3iJ6RXIXp/r7mJt7PVTo2vwE+WbbTgJHU5cXTdvfdoo+Jf1dUUCGwxt6qTv72bwZHJVxzzn0lcqylP1Sqm2WjTVxmYKXzSMUKNhE+rFSgeU4CPjqTAHpLZY/9GlzuwxycMoWxDmA6i/xg8FdCw3yeBQ1tCBzTtN3YX0n9Db0/AHQOlLrE6Vered7R+xa3ffhBVDII7XXLNtgzXek5GRFql4BNZHpPudkUlD4Cfe1zngkOWvBbfXUlqQWUqoiXqAQnfFRKkHdEGyWwiAz2iWL+yE1DYi1eiIIF+enF+UsAloS8ahoXdTkCRTX3iu/MT8Mqp785mlgLJfIxi8QKwyqVSANUUDRguz7bzpGh7T/QLWQM/I/DuNL8XWYCHBlroLLz4SJBh7rnEGdCXSKh9SuXyghGZ6qruYhZ93B302Nkpyu+k9n4vXyHc7D/cuqBgo4+2o5zvg1h5fGmOSrlD5xfNz20pW+4lFjXlom0b+fND+6aV4qY/DPU+5zfij22xsZNmZvZbFjcrmmK8z98UPFphc26RXmufa4PgIKScgUR0szSMjdtM9e2aNmhJ195bXOHHGEfg5pdFdvph+280ioM7aiu/6Zem6YV7YiQeLwUcuEznjDsQ3Yt7uShu+qdAneIDf7N+TNGIKhr4Fbm2l24EUkxbQzo2+OYb1u4AaZ+JB0wRno+/uQ3eeqJckqYchCwjFDVU1FLojj1BzrUQWcR4TK7jLsR7DCtnJz5wKRHccvg5F0IJAQm83xMLK8NmCfIiQQ2F2TDYNUQoEUK2eloD+qNnClI60YrSsJrt7k4H2/1Tt9R/HoElxDJAIst9IRnNHo0Ky1gdWpOHR6jZNOcaMpYSpwrjZQEztwXUvVSont6AtWJEJHViwAp1bYmL6To+2+z2/vGVWQCsJ2sJsq1sUPCg6TVAYCv4BhaqHtbmlSwDb4+Vq3Vc/RbsPrD3dvXQAkc3zAb+vOJvqHv24nO1SemVq2jzrB9BZeLC0REG0DSIZMchv4ZJd6rYaXWRZDYZog3zgstCNWGlcpW9Nj/lFjSHjb+fWNkQx41PPOS7/2O9pCE4eYPYOFLdI0LkZ5KBUs=","layer_level":1},{"id":"a736cd71-7f19-4121-8c1a-fb8501f6cef0","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"胜利界面","description":"ui-victory-screen","prompt":"详细撰写VictoryComp.ts实现的胜利界面功能,涵盖胜利后奖励展示、双倍奖励机制(watch_ad/double_reward)、关卡重试(restart)与继续游戏(victory_end)等交互逻辑。说明onAdded方法如何接收args.game_data并初始化界面数据,以及定时器scheduleOnce在按钮延迟显示中的应用。分析clear_data与reset方法的资源释放策略,以及通过oops.gui.removeByNode进行界面销毁的流程。描述该组件与ECS系统集成(@ecs.register)的方式及其在游戏状态流转中的作用。","parent_id":"6f870e6f-9799-4354-8648-2abbdb72f7ad","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/VictoryComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:16:00+08:00","raw_data":"WikiEncrypted:+bfbcc/NV47Bszez2MAFOy5MEV8WAF6FD5kp03A5CO4Liv/DJCBtnK9QEbtU3NjNpsw9cSjmF/Kyc2DuSe4s3+yTkfNDhqft+YLvaAk4lORkXxt7sThfqypY8pxlTkYfNu920gVP+0FCIRyZSVnWZfF2utSnpz2eqemy+2IwyiL6466VJBxtiIhJABTIkt4PiU7qiu8Pk50mFgJtql3B9Sz5BAkHcTI4wKcAbeIIasj8iDsFNlmS4sxzgtj6DKvkXaw1vIhAnKHF6wi5MpjY534g9wIjVU0/i3D88J3OccpACxCkTiWiND5QKAOYydw+W2c1tGJG0L7YY4d1U7xKt4GJhONDoUpvBwq3kUgtOSsqlYqYuBlK0sL3816C9bO9lsW36xGKA3wZZ889a4oJiu4ngy6jCsIhhI1NrlGrproOYVBwkN7ev0Srp/lmATUT1IhuvjpcK/Zwr5v2pAQ8lR1ALkj0T5UrIEXwHZVwwG8Kxkr/UWcVRl71Gpn5wQk1G9RTbPrXDu70QKqIgl84AHmwAT4hnLtwdPWYsWSneZQONCZEjV9vfb1bvkbycOSPaLwfvqIUMpFyE/CK0uVSAGg4RUPxZ+ctDJrEkcBs2mQ29wybzCsCXzS0Z8BnPP+0ZX1bfWTWt20vPoqrM51Xg6BFJuMVV0wpbyMbA+I3kfEHHMIyieNt4E9rK6UbE0TmFB2neC4grWrssNUPPwYdPae3g7ijGtypQ1VSkOLKSC6FLOVNbintltO/I2b4/S2LCYMMmLGSGgxVD8ONUNczBSKGk7ZcJtFfmuk4m0m5TR2CaYvkmP3e694inIM4UrcbGJ0lJl1+OwTRJ2ckeBERZt8XjVXatfxhSjmgbqODyavKw4W8P4NbslRNPygKMMr4TWgJ6Yk9xG1SOesaDIwdg8AFTSrh/oC4/dL457d+MdCwZCNPpYXgMhxnKhftt65pTs1ineWVQLIPnDcYgV5Xo1M2avHsBsNrBhPpCEpXbZ0s8btcDo59golJ/GekdUwvzU+9YTG9HYSX2+43UtFUiC2uTfdF1E/Fiz8nYZT7BBQOByMBjYI385Sj4V76291ajoMXV3kipNZRQoRLh8s+UUKV/1bPPH+QREevPDCv8jP94ZkjcgqQ8btO9f3UlzLP25pplBCL72vM4hHDUA2FdeEtmZMY8NecNcL83kv+9ENkNFb5VhuttsUgc0ljFUJt","layer_level":1},{"id":"6b3a7056-07e0-4ee0-9477-527e3e84c00f","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"多语言支持","description":"multi-language-support","prompt":"构建完整的多语言系统文档,基于en.json和zh.json实际语言包内容,说明JSON结构设计原则与文本键值命名规范。结合config.json中的language配置,解释语言资源路径解析机制与运行时加载策略。详细描述游戏内语言切换流程:如何根据用户选择动态加载对应语言包,并通过MVVM框架触发UI文本更新。提供语言包扩展指南,包括新增语言类型、维护翻译一致性、处理占位符与格式化字符串的方法。给出性能优化建议,如语言资源预加载、内存缓存策略,并演示如何在HInfoComp、SIconComp等UI组件中正确使用国际化文本。","parent_id":"8a2baaf7-cf40-4469-b83e-2a3a85976b9b","order":3,"progress_status":"completed","dependent_files":"assets/resources/language\\json/en.json,assets/resources/language\\json/zh.json,assets/resources/config.json","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T11:16:44+08:00","raw_data":"WikiEncrypted:Zt230nV3k3ww0eU+N8tTkmkZoXjWlJC7IMZqUcTqYpe6TLIPOJeLcIOqcUWHIXGF/0DZM2eKukiFcsZNyvxDe8DukuqDlQjNTG+avY05uqDvZRi7u7VjMxTukMd/stiQWv2q6grKj6JyRsThksIKPmKRoj2FusSBdcSn9r4ewoKGGregJpJMCnC2J9p+ov4xk+NOD/OUhqbh8QQtRmsi17KqcOkez5zszpHU5eVDl0oTbDSGl01y40K77xkw4EUVLVGh2G5X5wM0JCBB28e7Bvc4qIn0r9pa+2rB8Q7rWueWd5Qy8od9XVR6G7U7uTA0PA64M5n7wRfASz71vgjOaA6U/HlQAyeUDk02gEV0pZ2dFGUbfnNJf2ckZbbc7Dd1uNIzPHnTiUxVtiQsZYZbNFskVSdOi5+4UKJxXGRhZN3n+9bss6CARpBCj20kwqq8LBvnMh/UpC7xkn0ecduEi4MVhTy0DSONUdswDgmBt8stXb+pg/kGyz1V6Fb8qsx7Iq/yxPSYYEeJht4WgfyW7k+f/UTsJCWCmLYLNXYhqKgZEjvx9l5VCXAcc0Kiiz4bNR1WoWRGxP0s3OFIbSFu7dGl58co/9roa633EBYw3P5b2ryRTenFdv/Hz+S0QWfPfx98WbLdokUn6UZBoQMwTyX+Bk7l1wPLZKVcI7BQUoUb9sLa+6O2vAKZYY9BQJCAkzeY4Er742nyjLveggFo4P/1qPoIreCGU3xtcVfjlZEoWhdSAdPewx8Tb1ehNRS/rh2uH+XRzx3BiED7lfCixjAatQTulq5J++FXWvbn5yKWPlPJLpQYEQCZ/KRkbw4GBmcgNcNQ6QrKK0GgwAnIwJGemn1nnwjKvcy0pifnYs8ojcRCL1fjew1wiawe+ZdD44qHE4vJ9+M1gouAXdXZSLigQXesqJPsywvs5LIg3WrlONR8XWCGrdW6htLKbjStsoF5bu0JhfiaSR5IHh/YIhZ3kyoQdDvW1bFCxsnnq0lXLRtSnrPNWH81FKsuUswNyrZuJkeVXvLZ9xgbHLehg3Bu797EYE2DpxjnKancWroKnp7LrTqSIlv51OlDGXDxsnKy/nzFWqeIpRYRjSD/aY+LzNIE0DpljeIvLKPBfV8XB5LphYyDQP7TlFMpqQwFquvmnj4Fi3UGgfrKRSuh9MIDDj5dqFmz0ujZ834ZIERO+WRK67NJIOh1UKBqtRKkG7lvtw27iPviGkvQjQ1bchfiN8YmsbLFX7Q5nq+M9955ugkX6m+S+5la5wfR1oS9RFXETMtlSW/3xC2jhqEVidCnUMVfHLYOPB0yV0Byx5eCVIcFNmuiDCfD/R2vnUVtGqpTD41i4HGB6Z3ybsmO8x5OcGtKv16hXI+99tHqXwm18BI76XFCmq4PWfM1NlvByhw2lWYCeKa/PBBcWfIBAw==","layer_level":1},{"id":"584d1979-71f8-49fb-a814-5760439763bd","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励UI集成","description":"reward-ui-integration","prompt":"详细说明MissionComp组件如何与胜利界面(Victory)进行集成,重点分析oops.gui.open(UIID.Victory)调用时传递rewards和game_data参数的具体实现。解释胜利界面如何解析这些数据并渲染三选一奖励选项。描述从战斗结束到奖励界面展示的完整用户流程,包括延迟调度(scheduleOnce)的时间控制策略。提供UI数据绑定错误的诊断方法,并给出自定义奖励展示效果的扩展建议。","parent_id":"302d516c-946a-47b1-9354-c2758c07b447","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:28:12+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvD+wqVBGivwGfhP6V3N2zQLt+dw/t2KNGZcSrKUDKaVxwKNsDahJDTLoz9wapgB/5J3d5AfLIRKvjjhMNAOWg2GnQLAMFseoHTFKbQ1awAU+DnMwqUVRaoN4h2rBIybFpQq83Kh1sQ3A5WwM4xMgNjx0FiG750RmvIsqXIOy8xuK93SeyTXGoXUjIa539ekiN0u6Jqeh/s0Fy5wx2m+gALwrXM6fZZNmEwA60Fgg7hVaIS17u+oS+q5eSwB7STIMRL2sdRQrc63zCWdkFMJIbXOcPtVQnQgZ6hz9UpIENxE9gVwwDXa8tKkRQmhan86v3BumpNHdanUatH6bICQBPDgYfDz4pezX7z0RnqAPWHbFYJj+wZG+fhNUi9DwRMXviI46gJ1ylRrec/EewyLVgGjOKU9r8RGUSMuyqYqGVTS1riPl9elFj1T/vtNlpXWQh2u0aeXWK1FyjGt61BL2Y6IhZkiWVwWnlHSqiHcui8tNKRCoV6qSrhJB32QQVIePUYWgNp4mLMqCyj6szpNbfD2gSVhNG0X/6sPTG0JW88WvYYgKCfrjEUOFkKyCIT+LnJmbOd/WhDf7Hek4tpLV2cMuhDIh3rnSyDCZvS7IAtVOko/lT86W2iEtsXhnQboYoV4fevPWQ4daRatloFnSMhiHFLMmLgy/rjKyYFaj/o+U9W6NIPvIxG91WB+XABDniF1cd7jpwK8YIL1WpZsVl2gQuh8rJZ6ZrTCJo1HB/I5/0JtVdTWgBamM8JDZC+METukG5z6M3ptsLpe0mP0f2FqKxNjnT1gIF8eHvvGoOExpsuYuuK8L4lvO90VFBDU4sklf/33mMyq5SIVkBWJjd4hZ3wBO+K0j3dStwaNjZRaYSWh/uiUULxJKZlgllXuPKW6bdRb1NS/pmtTv9cde6ue7FoM7NcpRQk7mPk3iCLbS","layer_level":2},{"id":"8cf4da63-707e-4892-b9c6-57d01e45c9c9","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"基地组件状态同步","description":"mission-home-comp-state-sync","prompt":"说明MissionHomeComp如何作为基地状态的视图控制器,在mission_end事件触发时调用home_active方法激活节点并更新UI数据。分析uodate_data方法(尽管当前为空)的设计意图,预期用于同步基地生命值、防御状态等信息。解释isWxClient方法如何检测运行环境以支持微信小游戏特性。描述btn_func预留的按钮交互接口可能的扩展用途。结合MissionComp的战斗流程,说明该组件如何在MissionEnd事件后恢复主界面状态,完成从战斗到主菜单的过渡。","parent_id":"d6f30777-c757-4b2a-a262-0e6cb15e5a2f","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:28:31+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVXGsmD0kX8MMnkRos61W44HrAnA22fxWkVWC+qK3tvZsBSQ/kOFCVWEr09eDbQrdIz5HXXjCPouuFmnLcw7yFIfdvsdpuGyk7xDPMcj2E4iZpHQMH/b7f/w+1KQpbd4hUXe0G2DEFeVVPBejWBdzKUGZe03xEWv2MakyxjIFpqkxEyU6YhWhjlOSLoVvhhzhpOw6u7TEwqU9vXqoEjbBR2mDj8PvbyJF4USsIgGr32T7juXpYspLapbzmCYrrS0AISsEbSkotIwq5ZB/JUYyqF2oSUhx5ut3cLYMQcn8nqJUzcB6MMZVBYrLHQYl8w+XL9qrT93Akr0EfTKZkaGBm26MQTPsvh6T8YArifk1Lo7bHY+UANMIv0kz+vEJORRQPSjW0AZ1mxElfrGy4j5IxwhqoG6ylnGwaDbqmeiMy2nbvmdVEXtP0lf+cVgdnj377AmvJOr6HCnGV+v30uRVpJrTwWcxQm7lNmGnjJ/ZWyRVxDQlOZIDSLDZ1OflhGggLSJwlCtkEvwc0p6GavA+nbqIMoYzx4niM4dHPeL2CCdBg3hGYWKA0kvcfrRrMHIn7DZnYxdYbxx5xEwtgi+Y420sg0TfYRTyN+YVRhAg669T/1z2xy1oA1w9J1gbe4eRvMSVKcuwxgI6WCV1riIYpjdtHmj+aUottnfEkQYjilkv7ny2DaO7bMaYIsFIQBTgjEc6/7VG72F/ooYzpFJDfiEqtx+JPTlvF2nV4HOIEdIuRNUinVY+A1ZkCFoTAgrGGK3x0LQybvQkTB3GPJuMYeMeOasaZ8X1R75fMvJI/iaGbdtY9fuqAexznGdlPe4cCzQngsI0AfaLugW6ChrgN9J9zMUhMD5yDbk1ydUVXBsLhnnoevzYOQ2hgfsg1OBwS34IiiDqr547BAsVBznWOzsVzlaDP3HlQ3Ak3BLKicwqCVezcwDWJoWn9NNEDezmtW2uCTajKiV0H0v163VBDTk4RdqYEHAzkglc5q1hM0a44urvKVne3mKVXdsuULHnF2iKXWdayBVLmVY5El32ntNe0o2KTRPA046K1uNmDDpQUMeJzQs+crpvHkRNXW9q3ODBWVBkHjmul/0K1efIx6k=","layer_level":2},{"id":"de3a4eaa-5441-41c0-8c62-38d804013fbf","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能执行资源管理","description":"skill-execution-resources","prompt":"系统说明技能执行过程中定时器资源的管理策略。详细描述_doSkill中setTimeout创建的timerId如何被存储于_timers对象中,并通过clear_timer方法统一清除。分析onDestroy与reset生命周期钩子中定时器清理的重要性,防止内存泄漏与跨战斗残留。结合FightEnd事件监听机制,解释战斗结束时自动清理的触发路径,并提供异常场景下(如节点销毁)的安全性检查实践。","parent_id":"dc4d87de-bd7d-4ff1-9d5d-901b96079880","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:34:05+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzDfJHVO6AlZIbEFSNI1orYx/S9RH6Ujl0AXnG2CHyL+8CqQtbggrT5Siu2Q6ECdyBFeCpaXsYtcS/xptQHfI2zsPyxPDMD/qx6SHf7pVENKMNAxlVOTOK3fbO8c61amroXX6RHpEPiIBR9wYfHHWITmCexA2ZUiAhYVRUBhL/zGD0lstxR2aQvQl6G4o/2VXK60VmbieSI6OPE4Bo/loar11qC9n4mAAyNpwsr1PZGCNBX56ftNwBep7yNz5fx9FPwKlGCIspj++hz9hTF5ud+CamUFnOJNuyhdpOb1tp+tq1LUypfrjsdFURAyGuwzUaESmP7GWp9YErwULDiqq1VBOFZTuhZ2xbLwxm29ZFlKEOciWIdvlm1QDtdXqMFot9lV8D8WmrpA7WivM3a9PVX34GGEep4O6IULgKYtWNjcLJdra3p5XW8yCdG8/l9MH8ZKIeEjMtUYHDWBRVVVfYqDDJbIfZ3p5gNDm8KDMcic/r7X1hIO9lDCczPmhiZrnAXoCu56UL5XW8S8YffkxjLdxteIJPU1FqG7tolcKPdDvXnUCXRVJ1vKz0rOsi096gwxq5Vv+TnP2IFOKpiQ5j62LPBI38PCUJKKU/ADIyUlicAN2G8v4SUkQcRQUOBfJ3cvFEBUk6CiNftd5PBMuBldQfPy/ETTX2sSC832JiiOtFMD4y/HMf3IDQlyvrXDx6kW3EqiKjzMe7xjaw5JOsj5zBoNNIgr1X2FvmNEfCzCmIRI0+mTFJuCX3nkBKyLVPk7CE2joK/JyrjnoiNtl16/D7380jXN3hKZvwN251vCoTICm/ESpUg6pgyJJWpmA3UrbFOaqhiM/qvZfFLGY/66RG7IGLPs3vLiaT4ztMpQRGLKV+OEYEHKz35M92GvnJyIjUql2WkazCkXjM+o89ILrBNKB9Yd56otrcGiX2WiBNgwVJvrDu5ADpapJGdPfo9dZd9lD5fq3+1MxXZUnTaA=","layer_level":3},{"id":"62d8e688-a8e3-4ea3-b566-2ebb7ace8431","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"光照效果实现","description":"lighting-effect-implementation","prompt":"详细描述light.ts文件中实现的光照效果机制,包括其作为遮罩层或后处理效果的潜在技术路径。分析如何通过灰度图或透明度渐变实现视野范围控制,支持肉鸽游戏中常见的‘迷雾探索’玩法。说明其与地图分块加载的联动逻辑,确保光照区域随玩家推进动态更新。探讨基于Shader或SpriteMask的实现方案选择,并提供性能对比与适配建议。展示如何扩展该模块以支持多光源叠加、动态阴影或区域高亮等高级视觉效果。","parent_id":"36b2fa51-94eb-434c-a175-ce323fc5a1f7","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/light.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:33:50+08:00","raw_data":"WikiEncrypted:JBYfD5EI9InAwfx9L8FFzZgvds2K8reQu4DyOl1GIq7OAR6mJ/6FaBU8XHxGqPPk0TERKoNaCNUdE3rApwF6vKBkpDHTwD8o84Ny3+H5Vz4dFzy7qVRFTnF0Rt1YvVHxtt5FPQammj8waLy4nr13t6Iz4cnxpSWzn9XavWRXYaTqW2tyFXYSAXqc+xx8PhBZ43hVDtjya45Jv5WKJpQhMPqRN1ZQb71TKW0zQbpzCOIUDB/sGICJ08Ecd1rbRdF3nvdK08Nr+HCWV+Zx3eZEjUCHFm3fQxMs8kb8wcg1ruIuRZeid6UitZ57Dk5f/yvjil/V3CMQTdsPKmOTxNcQO5S+z1hult6T8ko4M0P2167AIX4qIx49+pwPl5KBp1nyfjdnvYFvkOZSoTcOIfo7QStjE67PakdJr1oJtDGD4CNAfazOeSnuMKjU+kYVygMAb1lgDxP9mluNmgIK0WQbQGoGOSj8sCcEXJ9CDhoWY9nKOIwC0+T1Op5hkZJGtSRWlwUjhpqqLOuq1I9p5+MIaVcep/bjnU/Ps2xZDfsBAfReOXuYQdigbMJ9fwRt/FgojVJfkgi68dPV1mbzRZdchhs4O015AAKhsQFrmuFI+AzDVdKQ63Sfq3X7O/wS4gDQi9HmUxsX4v0ThVEojEdchVKs8hRYk9eBQmGjUAkx4BN/QJXMhU25kjGpvz+h2UF6J6cFJkCW4851v2ThtDUWWNRI7TSVz7hiNZ8ICKgwS4ElZ9HqITZJM+yf/Q8LY4h1nOX34v+VZwy99Mk1KXHTEY70qBYy8O2AMGE0OHT6LlYRxNvLslQ2001zg6lC0ub1cQ+Vwn9poXKPSMA3lrWZXmY9XQNwMwgNCqYFKTvmPdiCcVvqFkHJSTHt9MLHUxU9i+m3cZv9AZ4Dw1epD1zr7oYqJu3Rcb6oeeb39pGI/IAoxe98WcpyN+yz7QlblF1AOgoeXPxpmMfDZKwGq9OQx1znQc1OB+xRfFS9x9jYFrm+KTrKyW7dQZsfETH1XhzcQmO/4xQqwRQwHgjdI4an5MwG+CKK1/quuxfaEFxuXlr5ulZnqyPNHbEXJRKeIeAEuY2eBhOeb1xvPbdio9XUYfHkrTyHZ9EhtuD8bPm9qerRTvSG97a+lMrnMLCHMspD","layer_level":3},{"id":"a0745634-c4a3-4095-889a-e14932a9983f","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"地图系统","description":"map-system","prompt":"详尽描述地图系统的架构与运行机制,包括关卡设计、怪物生成、战斗区域管理与视图渲染。基于GameMap.ts说明地图主控制器的职责,结合RogueConfig.ts解释随机关卡生成逻辑。分析Mon.ts中怪物实体的设计模式及其与英雄的交互方式。阐述MapModelComp.ts与MapViewComp.ts如何分离数据与表现层。结合map.json和map_delivery.json配置文件说明地图数据结构与关卡参数定义。提供实例说明如何添加新关卡、配置怪物波次及实现战斗区域判定。","order":4,"progress_status":"completed","dependent_files":"assets/script/game/map/GameMap.ts,assets/script/game/map/RogueConfig.ts,assets/script/game/hero/Mon.ts,assets/script/game/map/model/MapModelComp.ts,assets/script/game/map/view/MapViewComp.ts,assets/resources/config/map/map.json,assets/resources/config/map/map_delivery.json","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-29T16:45:54.2784347+08:00","raw_data":"WikiEncrypted:ItcMR44qaTwBeXCQ5miW4d3aeT35VNnDYDZ+n9ZNZ1TtDnWb1Mu/izhOTdWJOcAFAJbeiKdAiK+gXfI+vrECul7Q43k6awRXcIc0WgD/lJ5JpoBTjrn4ZiV1JuhV97g+zWv7Tvptn+6kvQh5IrmcDocAnGw7rC6GJ/WHRTDoCCg5+R8Z+vDkVnCYwJKAfJYZF8FNbdqmDozrKAiEJRb7N9ecpy2oGaGWjm6NBZAeO4P6g0bpyNwaRuYuGBlKDVbBv2nYiHDAzfr1pRpIIbNOyLUBDA+8IMPTedihY+IpFfbEii4S3IW3X1seiXPADd6ZahHLcotgbqtKj9pQ+FEpyYrdW/qfybEtPPZbY4OwoAFHujncIO40wu+JNFCzeE+RTew/voFV6f7ijwyDKuNI8lNENDqzU+cMrZ8yqIpM6oSl4+JmXcn82lnxdwErvVk2SHGUs20DHsoyJubMxzbtE/T1xg+XbXGRshgGdE7a+k0082nkS2YDRT7aqNffaUuIRhXDhyPQK4eozFEROGyMs1/KDt1RCpsGAm50A16XHsf6XIqTGWyuKJRE1gVpi/PGn2H+cbBjDWH6+vDC4qwgyQf/4dDq0Zjz+ThlB0Eh5q0Kz7zxLt+GnbLQliS5U5fPuTNZZfgC2RhERwk7KQY7p4t8bwz96iN6fH3Pses6ZrQYb4UkeiMMyCL6gCaf55B0Zray3jVIiL1ga+aGyMecRqY/xtjF32Hm8XXD6NyqAuUtJJTjYcFiJbQ8aysMcmHiOnN3T/28nGYA4iDrVsRVpsqx3oZtlZj4KyOFYrlSZI2QAEfO6dIJM7ytjBu220eGbyH/bafyf1m82lLQdAEQTDlqLnen1eOPaZZor7JZErixI/M0gHE8ycnzZmF/yXBupNIqs3NySWNpt1+qzadzeTDrudIWAsJujyvUP0cVHYBLk9o1B9BtlkGuKuOjYSH3S972yAf25N3GuzvYA/ja9LLKtEZkZb+xfqBY4TKNQzKCNr2X8QxUDG1W+XcuUenvFkbKuP2KRnAXA8FJdz3f+iwny6r703dENVLSyPHdza39cwSNgpaGyzDOAoHaaA5BCWgNP74pW+cetqgnhXGMWfZ5256htcewVkuexEQIayyv45i4O4tm8nkIcGauKUGOH4pks5BOHN9PjC08H72lyoC7ZGU4W2AIapO2e7a7tQg+ERsykYmg1ko1k0Kv0sD/VSdKWgOvvOobM96yk+hMzBnCunSWh3xCJkR2rro5zLacnio80ZeYof8fc5ZIQORWHohg8ogqX5rxkzpiv+QTM8cfiRyZKyozmqq6mWWp0bjbwphS9KeXd5FqfX/6ao43WFbPaSonj4rEfRHp8r5pvx+PelAKuSWaIdueuhA31XTiqc1kA4aHZvobOEnm4N8u3K7i4KYpeFgqM24HaTwXajbRRGNjeJYig5S29Qzxdyg="},{"id":"6cefd3b4-8baf-48e8-b5dc-e8f53040a214","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"技能图标组件","description":"ui-skill-icon","prompt":"详细撰写SIconCompComp.ts实现的技能图标组件功能,说明其如何通过update_data方法接收技能UUID并加载对应图标资源。描述组件从SkillSet配置中获取技能路径(path),并通过oops.res.get动态加载SpriteFrame的过程。分析该组件与资源管理系统集成方式,以及Sprite组件的纹理更新机制。解释reset方法中的节点销毁逻辑及其与ECS系统组件生命周期的关联,提供该通用图标组件在不同UI上下文中的复用示例。","parent_id":"6f870e6f-9799-4354-8648-2abbdb72f7ad","order":4,"progress_status":"completed","dependent_files":"assets/script/game/map/SIconComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:16:45+08:00","raw_data":"WikiEncrypted:EPsGl3tAucLcCY0aoNKUXxykQBo92opp742CjXfFcjcHziVns+goco3qrkpnsvBLMbJghUs2X5vHK5f+x68hfgf0h6OvjOAltAcRWzhm/0ZpuFmy3QVrgoDwJqSJgfSGIrH0bYda1YXTjXjMXcvXojfYWsGhKsBO3SNlB5IdfVs6HWeas7ufh2p3aJjsFwNwF4O1c1N9YBFqQbyy5muPt96zz4xFq1p0Ov+VniovqWAa4tc3GSXWL7+EbocT83I788s7KrQq0ZDppMjlGnX0tOz7n4qnPLVA++aQKCUUECi/qJX/n2WUL4mnR9N0aeY5+9XBuwzHmBP4U3tpqTg0o3SkaDkbMk6A6+8DRJAU4bwt4DBsqIzE3gURw86uvOYE8PbXCLti19B53LyAg9D1h/cgXbm5XdonN7Tz9THZT/85Y355rqMrQNyJM9XFCNHwoYb3A2mwfIOMDAjFCq4182muksdUeX7rYaC/b/l9WgWm0eUTeKSj3O4XHm4hGtDHC3mDn3lkuxH2cY6E25upD0k7ku9nB89KoIRkxONc/wDRd704lyIw6XqmpCyfz4mNYnvxuLcEdJ5AowX16Tu84IxksAc/fffRYxkgs1EZJjK45xkTyp46uCj3WMmrPYJgHZRtLL2B1OBY2eKu0JzhdawNvsy5oTNRNSu5bx9zXA6eZYnVEXLHuyFvD8nAIVoNHbmPVPJ84DoUYrZOjZjWL6T5STbLCWQTg/ehTbPSOJgoCPS84FmxGxpxa+8SKIrH20GTurXXD5a87FmGb+dCbgNZvKJr+XUOAHV9q2a6FekcVgI+4yxYiPUA716oVSASlveuOkZqSTcfiYRQvu1mYXcU9BVkHPKulggv9tgjE+RY97gnHEBa5CePldgyzFqoK325E2vy07iBXrgrV5h9sTAKsIJuaqV6L108hIpJFAB9evHajn2hIKO01M6r7w8wtDsVQqjVCFF3HLkjLqkDNkBtSZo1f5B3s69xAastnZO4DHS7kx05E15E20m0iT6zvNGfqVeLtRhXckMLKk0TAomXDOkRNDIY1yx6Cn8lMOO2Xg9Qhi+GAuf2+Opu/XZKAeERuSY/8H7ufjDB1B8hjd4iZ9sVfLZufSak2mGPBmU=","layer_level":1},{"id":"0f35f30b-6bc1-4276-8b17-066199b14058","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"奖励系统","description":"reward-system","prompt":"系统性地文档化奖励系统的实现逻辑,聚焦于三选一奖励机制、属性提升、技能升级与任务完成反馈。基于Mission.ts和Tasks.ts说明任务配置结构与奖励类型定义。分析MissionComp.ts作为奖励面板控制器的工作流程,以及MissionHeroComp.ts、MissionMonComp.ts、MissionHomeComp.ts如何分别处理不同类型的奖励触发条件。解释玩家在战斗胜利后如何进入奖励选择界面,并展示选项生成算法与数据绑定过程。提供实际代码示例说明如何扩展新的奖励类型或调整奖励权重。","order":5,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts,assets/script/game/common/config/Tasks.ts,assets/script/game/map/MissionComp.ts,assets/script/game/map/MissionHeroComp.ts,assets/script/game/map/MissionMonComp.ts,assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-29T16:45:27.2755233+08:00","raw_data":"WikiEncrypted:O4flrEwQjo4XmpjZTF673fYM66tfmzxG5vZkd0wMNkHyBs3Gm7dyrckQG/VtuXVDxEB2NSiR0PgrlKzv1A5YQyHIivZqBMf+je0oYZREYHKk+Fe4Npn138gFj98P+xSs0ylbkvI+0fkWjV5AWRI/MkQLbh8T5nfCTVcY4x8+XIBXGgAaBQlobCaYSRhCYvyqHutzfUjCGe3GznsajxnFZCusvwy0E8ihGKd7+Cm9icc+XayWuzETfr4Vi9/CnG1DljOjRe+l6/d+Dj+8BR7j0ZS5mQ8iLEzZWAcJWJsKPDzpn0FekIbwcVhBHzRlWoSawIxdorlyrJLP/hHwgjQ+Qw2mJ3uEBn3U4Cr+Ba3VxussGnk0rU1QdBuVtUky6jKdM3OpLRDrLVaopIVDaiF8iPaVhxfWYe1KZRXjkBQ2w6CiRFlEC8jRSF7OfDGWIyS447Yt3BmrdjcCujkt5d4kp2YdnxXhJEMBOf15cRi17NppO1TN0BwauLdtUmQhp6eUNhHMG3LrYLSN3VOb2To0Z0YCi8dYa7/7QsLJl6FFxEw5RqCwJFvZmkwQdckmyMvIS5D/6UDd2KN6wKeNnMNNr8P/XmD+jLkVk4Bw86FQbEwY3ha5yjtS6OAg6yO/3XNRwquvGxbmCZqsS78uexfSPDIJQNSwSXGRLDAh7mwrjtO2MtMC0o+Lm9U7uG4ynGCGKKdOS7xIovInQGMRU+H6DM3k3NKt/Wh+ytSYfMuEOxo9Pa9J99LGwyBBe1+K/2EBsHfoqIqYpl729BhsPg9HpGdQpJflDevUe60Brolb8DdUhZZ7bFY4Tc7royzNnIeOuXCx8rpaXwNjP9RT6dlFgrftN9+xXiUYUAWze8GtXgbFPFLWKwtvtvr6+NQNw9EQpLkwoPhfKHJa+jBAY117U3L+6+8ww1de7FtibuObmtQHxV0OmD/U+86dDYbipQjlXHdNnEL1mqu3ObBSfcKUkR1Xm1k91h0V76wvdKG5z09YuJTsD245qr288QRQpkGWt+FfWv8J9iiPEsuYfIKQsTznghDUf914vHKWJE+nX0+1/aiiVWEY2jJlE7piqionHxVgmnUQaIMUs8c9mGmooJKebahN1gxmL4PysSW1zOFmYkAXeGfubAeW6pGPQa9gkej+Wg/QebqmClSKuBE5b/Q+YeIiZtGRRzWgecIMZU1BzKBMJHPbTYBDTIFDDcNB9hTEra+n+jo47+VJUXGkK1rY1FfsDHaoFd9bl9nX9qqQhRXbPryFmB186kQ7hwx/LbWRp2+Q1AfQD0zytpuMUFxD2lXTXXF4YzMt+zZX1KqKdFsUwYtsbVDMokH0gHfgLKPpTbRuvBbLRZyTxhMqPFs16mLxXlPUmnY0FQlqaZfuX5X0sKKs+Wxon2CcQvX75oGfseX5IqpSOrXMcw10xI5F7kxod9CtOaFhregKZ5B9JXec61jY79nLzyiZErUJ"},{"id":"6f870e6f-9799-4354-8648-2abbdb72f7ad","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"用户界面系统","description":"ui-system","prompt":"详细撰写UI系统的组成与实现方式,涵盖界面布局、组件职责与交互逻辑。基于GameUIConfig.ts说明UI层级结构与预制体路径配置。分析HInfoComp.ts(英雄信息面板)、MInfoComp.ts(怪物信息)、TopComp.ts(顶部状态栏)、VictoryComp.ts(胜利界面)和SIconComp.ts(技能图标)的功能实现。描述这些UI组件如何通过MVVM框架与数据模型绑定,并响应游戏事件自动更新。提供使用示例说明如何注册新UI界面、处理按钮点击事件及实现动态数据刷新。","order":6,"progress_status":"completed","dependent_files":"assets/script/game/common/config/GameUIConfig.ts,assets/script/game/map/HInfoComp.ts,assets/script/game/map/MInfoComp.ts,assets/script/game/map/TopComp.ts,assets/script/game/map/VictoryComp.ts,assets/script/game/map/SIconComp.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:50:14+08:00","raw_data":"WikiEncrypted:u+iP1rYyxI1hXGGlXR80A40xaEGJmHDTZd8hZYOXXIpyM7BRObYvpYFDJY1BczIvv2ETJIQLXd5grPlfKKk91b1nAsrHdhKTL3aivELy+rTgn5mRI8Ufafo84rzHhHxl5qyXxshdZEaqvQIIG1bDG3xJev79wpj8M3MzKzSZLZDWWohCfWDWveivBpMK8emQJ64zuUgvZ3pyQ9BJxI+mbVpaTrtaezqm+NP73ZL3vH9CE4FUZKXsXyf0vIsKwIcwTkHuSmvtA86ZEZFOzaPvm/7nWDhSGgLJXj5brOWmMhDSVSsDm6ntWhgMyvuOQYZmk+6Psk+GGbtXMeD555KWgxYj0uTFrboF4YmehAfy5+dx+4ehp3TDCnuoFBVddC8nbrCtcVpghn2KjnKvoaf+BR8jBY8lw5V+zSTtKIBPL3EgEEsg3HmbdME7UwUbzf3Dn4X3zfB7buZ/tMzKlc6BXLZaC8OsIMP6bkVoMkp7VhXWy/a1djOFnKO0GyNTKbikv8/xio0nTiE1lK3y1TjA0TftcbW6W2xU1dV1IMbbgxFbhQ9cZ0nUE1vaFuqcGrxXPOZcyNkhV1GUV0rtg9qU19zpSuUdDc4IOIbywAGWiAMEd7iW2VpqYwiAHRW0xLyIJqLJ/jC405fyKrZYsewOeBDHaR/QBJDIF1Bld6kjUpNFaXnbJpab6kML99n5h2HOmvHcJMOrA0MJqwMMn02JWRZN4JHxzOruHMEkV7RP5Yzjpi+GBCl1dnqmPcgLjZIJV0WZ1rMkD3oH5t6sk17PvNuITxbQBdC5OeKqg0WRysNmcqMkD2wOr6cMDZhWGCOSFGKOuZs1lHKwpAZAyqob+Ohu0eZ7tsFJBbrAw0GmlMfvpF4E2U3mZJ66PadYm736ijNXXjKUVnAioCXsoSf5DDMzieG5oSB5e8kU1VaVP0TkCse2KoE8YiWHprKD+9ERcRZIO6GPdIl5pd/j9CiV7o+EaYKY6f7Di4kb9mo8q794bGzrRnbT86vJ4XekTXKeuWMU1OhKA7+P9NfrfPL7KiHZkyNRDwnR7NAh13Reeinut+L/wI9Whv0YQFoiKqFgmDsREVMhDZjZsBUiURYiHo/bcsCsNZVI9G9UwhVo1SpPeFt0voBfpHZgKZYrcTBfLd5PwQL5CRqtdpH74do460tEFrslPIkBFB1LO12Upw3Tzrm4cVhdW6qC0LOGRsrzcqKOHKyV7gQcoK21TZaE0uGcbeqUBNb1Jv7HAmA5OaOT8pwrxW+asabF+7r+uap5Ig141WIpRzjFx1UVNcrxoamII8/reh3aA8O2EkSs/cdLu7Bu3+t8z9YtRMTrc0OyjV9Se99tlAwzq8btB4iAUUfOg4e0xv5TrGP032rLsAU="},{"id":"8a2baaf7-cf40-4469-b83e-2a3a85976b9b","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"数据管理","description":"data-management","prompt":"创建关于数据管理机制的完整文档,涵盖本地配置、多语言支持与微信云同步功能。基于WxCloudApi.ts详细说明与微信云开发的集成方式,包括用户数据上传、下载与冲突处理策略。分析index.js云函数的部署结构与接口定义。解释config.json中全局配置项的作用及其加载时机。结合en.json和zh.json说明多语言系统的实现机制与文本替换流程。提供代码示例展示如何调用云API同步进度、切换语言包及管理本地配置文件。","order":7,"progress_status":"completed","dependent_files":"assets/script/game/wx_clound_client_api/WxCloudApi.ts,build-templates/wechatgame/cloud_functions/cocos_cloud/index.js,assets/resources/config.json,assets/resources/language\\json/en.json,assets/resources/language\\json/zh.json","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:51:21+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFt0U+w1/T0i/lwh3wGz2PLUHAx4M4eJkWsmBaoSnB0f4eBch3IRsby5n7oDX1b+WKRWwcJ/ch77kCihLJQdGf3Lb6FqNGI+w6DMuJGiDHdPJx1mAMxp1XPP1vsEdMXnB4qZzat48uQC/rCIDBz1H6b5G6Jl9AULypCnsiwOHrgQovvL7PuaZNZHFgR/gL3I7JBwOowAVvpXjgn80mBL1KtnHENCRIOdqWre7d2eS7rmg0wrOsS4CnzYj3xS4Q9cJ0lUNC97vQlqIWJ8UBmozNjh5VdQ98voby6ObTTsDrxnVos4XBNV4Ai+gpk3WWROxucQdfiYagDLeROVjZwYtIEWLfj3UX2msXfSoq3WF0Bc1lsckqt/o7k3Tk4y7/Te2aztstfbtLA+ItHxcnkXso2ZOlWDlHnjQAl3rdN67IZ6mA6mEHzIXZEJo7xVYwxdmCdH03IXl4Ms2yixhGoGlPzGbA17pTr9t++d4tabb5yrw6W2jaQ8R9jf3TdaqmvmhRV+HdNQV/IYtgIEdSGeJaf5/C8t0wwIURZoFXepAveNX2eX5UpKBqTDkCXIKVm3q5A7jYNe1CgvNzy0V3QoDukY0Vm/fh+9P+yL1csAUWu7gbQHXbcVDaRH6xSu5Jabr2JTmr3ekgpcVdlaNdxgnM0cgxcfHuwuOQ7+DIMUhhHmUf5/P5yUUUdWrtawVg6j4Q+rDV22k00Rxmz427jFPG7/RpBbp/erdSKhgeeP6vbZ3KJZ1jt03zdU3E9OwBb0YZ1jpKnQf75vAlr0VmpNagYKGX2T8tkPrfmqnV5h1wXaDPAtfYhhjndGAeDUFGSmKZR08betmvbE0nY35nNOf7X92TdR82GxUgMCbRIiRe7C6F5y98tYwlqxlKsk+pose3Mb4/HO4XSaSHleNs+t098BdglMWvezUckmWXOZlzhTXmlbe/BIRugjFbTTAMW3lh81wntGnfDNKBZMUjGb/nzXBl7yx/YwqJn5Q1UMTfPV0uepeSNu2iNdYOmZHo+cQWRLclFudJ1ovbEoUAlwbxPp41p5hnWRQcIGJEow7GS9j80BxAvEzH0IofN07ts2/ERYBDWMN8CURH6+1zlI/0SFhMQ6gOAJ6K9MmmRRFoIPlruyxJlOMJLKq2Ww3TouCRWpUinbxplImTHo5draB4Tcs+sPSnQ1JCekumSuTFolksnCkUaT479Yve0H52+1ZZNHOLZSre9Hh34iIyf7AlKHBFNr7/IGCri5u/2GsWWGn1aQU5sKOiyfj+Bb+k+Wdv87QH/orHBFY50gf/pM2i/kxDFwNQMTe3C83Ly5eRY3vPiuVIzAGxxvkghzNBVT3IuQ=="},{"id":"17e2ecdc-81c5-49c0-b0a2-c142654c1366","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"辅助系统","description":"auxiliary-systems","prompt":"全面记录辅助系统的实现内容,包括新手引导、日志输出与音效管理。基于Guide.ts说明引导流程的配置结构,结合GuideConComp.ts和GuideSetpComp.ts解释引导步骤的执行逻辑与UI高亮机制。引用log.md文档化调试日志的输出规范与等级控制。结合audio.md说明音效资源的加载与播放策略。提供实际案例展示如何添加新的引导步骤、启用调试日志或控制背景音乐开关。","order":8,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Guide.ts,assets/script/game/map/GuideConComp.ts,assets/script/game/map/GuideSetpComp.ts,doc/core/common/audio.md,doc/core/common/log.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:51:07+08:00","raw_data":"WikiEncrypted:m2kIapzkdlNhlQPV5E5ri89L9gTLH2lzoSA6ukvEoyUuzXdK337XuPzjJoQxZfWZHXmB4wlFTtQrbSBZEwlf1owPTj+2LkahPD9bbGG6EYwbL4LvrI2rdSTIZhzphncA0TXDnRz+yUKHdZhI6YJ8L/l0tb7R+C31h9kMlmwaSH71jz38FCvPGw8em7ZrvD5zy9bsYz9F+4ZugQ5lTKAL+3OoDKLjepChGr5sk4tCVzqEc6mYMoWQXrAVcapBM1BGxkB4Yzlvi6cO+J+T6i/rbtGEs23KtZ94TD+S0lv+4fLBCSiW7LyjsgcKwYhtehJVPE6wgMkF1yz9Cyrra5DqmA19ULZ4SzxZRxVqAI/Jhz0pxP5pQIa1ks32yXDsq15cj8mjOXfk8eAp8ytYkjGPpsQEgUti0R1yZcEpGpFBJincHApGSR4fQRL0uah05OEihvqS6hHUMDeU1wYz6aIffRflJ28W3wI05MZNqNgSRowTgBJIhWlpDpRM8IGTb3ZwkqgEaEhPP56BTyhc/WNs5ir6VxfRpXjfr+2xUCda4BVsSO5MX6GruzGUlv8lWVwhWhX8J9j9jjGW2UfCB4zlPq8ApxHe52U6Az/pWnC4oxKk8aFEgrRrMogPcT/DPCOZvjqG03Sb51aRvtON5ij76xxX5aYX1KwCTXH38W9yEIUxLe1xIOw0JJveibQUJBol1gxCIfMzJ/j84dnTfq6PIPWYE9ym/dfsVESiwhXw2CkZo89VlHVfAFCgh8pdhg81V+NmK3I9uhSYpQT/nX+HNty8oTQ7ACj5gVU4zfZBfpsV5TJCGa7W71MvjyoOZUyWOLowg0X9FYcVqIZvGHIgEUk18/4gDHE674wtPV/wzPRP9MxlPb8hbzVwSBI8jSN5jfD4KGvQVuXwSZTmzN7xdz3n0DovTeWos+1sRmvXFSTgjaYITXkgD60unHkMgeW7QNQrc1LK7mJmanm4BId6GgO2KMzPkhUbqrMXrgftMaI/ZA/Xt62wtMzykQOFxYVd9EAoiJ42Aa7gqgJnv+DT1grXsjL3AHcQw25iHh7Mt0klDcEf7MHV6F5x3lyhQyOC0x9gqzKIET7R2KXXmYfWEYqpOhI7M2bCnIgM/Tr15/k8JOJgOK/0EPjEYboIrY6US2WNzq9PjapeJmM2TvvzqK3A25IbWsPWo1pGXTJ51Wo="},{"id":"86e0278a-1ee2-415e-ab58-19bbc0a5af61","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"开发指南","description":"development-guide","prompt":"编写面向开发者的实用指南,涵盖环境搭建、代码规范、调试技巧与项目维护流程。基于README.md和using.md提供详细的开发环境配置步骤,包括Cocos Creator版本要求、TypeScript编译设置与微信开发者工具集成。说明tsconfig.json和package.json中的关键配置项含义。介绍cankao.md中提供的参考信息用途及todo.md中的待办事项管理方式。提供常见问题解决方案,如构建失败、云函数部署错误、UI绑定异常等,并给出性能优化建议。","order":9,"progress_status":"completed","dependent_files":"README.md,doc/using.md,tsconfig.json,package.json,assets/script/cankao.md,assets/script/todo.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:51:20+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C/ucQxiwh0okVA48AmODs5RKNS8ZgNngqmnHSFcG/1UaJxx+3dUn+EkMTpYUsOg40j//dDWLE86TZIbLFaoR3kRSYxjR/nS1Yqfv9O6sa0Bsdz+Wpr97jDfBlxXN4DpwtUrk9LpaZWebJ9zJDK7OrhblTxl6C1Hys9McQJcyfOWOiDyDxx2ZathrB/UMio8i1WSyzdlPvgeYyUJX++6s8h4y2rhDSB+hSLcbz0I3OvB5Et5kWJrLH1vohuPgoldpgfF4ol4Fiiumh5jN6z+Mh6RHTqMZn3/0NCPR2q9YVajGEvENlJpSnaS+MZbmsJkE7u1mBiQtH/0Dp6ViPlPmLWzZrMmIL9vGAY9CEXFW7mUnx0TuM1qd2JgjSaaea56OfDSnJ7ISIIOQL7pKy3e4QMDVJZSyWcqEWchXQRx/Inow+Q2xaHC75H53nSVLIpEL5C2p3DOGfMSOwnRhCcbriAkPSvNDs1V1rI94ze8WmLq8B6oZ9SnGn093Cib67iSJNUPk/0RR5pSUemxExES3Mwev4UveiguVbcd8eawSg7izJo+72lhTUdHFPeG72ePuYY4yxAsEDzDa8VfSeRR8VnCfs71kWPC6c3kKRCft7hkPGmdno/W+H4J1oGoYA3ANUveBMZVSkV5vHDSXx/4VWqKAyUNMus9ap4/sUpDpDSeXpayVgrNqT055HMQx3ONHmEQkG60EQG42TOLikxUIde/KdAeotR2dkkoRHqxr+WMx8oGl/3pDPmk5TAQi5oxUapACW2VDzHHbuT3KxKx7QUrf52kzlv0fEp/lnxhH5n45bU3pPxstUTDkF1E8zmNx7tBG7vIuLPSSQf1nF1GC8uHZ5kCZlNy8BFm9AevCsZooRlAbs4rcmIIpX3fsDDBTpb25aFOijOQyhP6kiD9YN/CDZxKxPWJtVr7JUFmtUKdP0oMjs30XD9TImXdvVB02wD8P4zhpY7cV7O1PsKBiqQC0Wb8lOfE8ZBSTiNKloxbUHukKqvqDMmayc/QRclkaXenagYD7Ff9Mr0o6s7KC9+Y8Iri6jfgGFlkV/O+dWm6wQYIhAMfKn+2pmRAwhlpTFtlU7lsih0zN7wrrzQyjGYRhx1Jqp73AbK2Wx6bh/XHnws2VsHaKQDDG+u6KGR5nqQ=="}],"wiki_items":[{"catalog_id":"72c56791-2a86-4429-a822-384c79c48732","title":"核心系统","description":"core-systems","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"6f9e1ed9-ec30-4cb6-8850-7e583d45e5b7","gmt_create":"2025-10-28T10:47:19+08:00","gmt_modified":"2025-10-29T16:47:39.8468086+08:00"},{"catalog_id":"1bae5647-f555-4ca7-973f-465df25f24d1","title":"技术架构","description":"architecture","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"0a13f8c1-24c6-442a-9241-f01982a6b5dc","gmt_create":"2025-10-28T10:47:40+08:00","gmt_modified":"2025-10-28T10:47:40+08:00"},{"catalog_id":"0a890826-612d-4e2e-9093-6ef241735729","title":"项目概述","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"e80ad9c7-b0c5-4cdd-b2c4-40fc99394afc","gmt_create":"2025-10-28T10:48:06+08:00","gmt_modified":"2025-10-28T10:48:06+08:00"},{"catalog_id":"f79b3e3f-7266-4943-923c-fd05847c8278","title":"英雄系统","description":"hero-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"ebb9b717-3c81-41dd-882b-87e80cfd0240","gmt_create":"2025-10-28T10:48:46+08:00","gmt_modified":"2025-10-28T10:48:46+08:00"},{"catalog_id":"a0745634-c4a3-4095-889a-e14932a9983f","title":"地图系统","description":"map-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"6dbc5d43-ed54-4ddd-9a66-8e4dc783df75","gmt_create":"2025-10-28T10:49:50+08:00","gmt_modified":"2025-10-29T16:45:54.2807769+08:00"},{"catalog_id":"0f35f30b-6bc1-4276-8b17-066199b14058","title":"奖励系统","description":"reward-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"b905a937-ccbe-40ec-8a1d-61fba5d9b32c","gmt_create":"2025-10-28T10:49:56+08:00","gmt_modified":"2025-10-29T16:45:27.2766336+08:00"},{"catalog_id":"6f870e6f-9799-4354-8648-2abbdb72f7ad","title":"用户界面系统","description":"ui-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"107c65ae-5e40-4b2c-99fd-cb9df4b8e5e0","gmt_create":"2025-10-28T10:50:14+08:00","gmt_modified":"2025-10-28T10:50:14+08:00"},{"catalog_id":"17e2ecdc-81c5-49c0-b0a2-c142654c1366","title":"辅助系统","description":"auxiliary-systems","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"ec26c4e1-ce0e-4c03-9571-406920b91d0c","gmt_create":"2025-10-28T10:51:07+08:00","gmt_modified":"2025-10-28T10:51:07+08:00"},{"catalog_id":"86e0278a-1ee2-415e-ab58-19bbc0a5af61","title":"开发指南","description":"development-guide","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"ffaae0a2-68a4-4774-ae34-9179068bf2b0","gmt_create":"2025-10-28T10:51:20+08:00","gmt_modified":"2025-10-28T10:51:20+08:00"},{"catalog_id":"8a2baaf7-cf40-4469-b83e-2a3a85976b9b","title":"数据管理","description":"data-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"9d9258de-be13-401b-8368-d77dead75e64","gmt_create":"2025-10-28T10:51:21+08:00","gmt_modified":"2025-10-28T10:51:21+08:00"},{"catalog_id":"22995973-3621-45e6-9e84-32c5fef384e2","title":"ECS架构","description":"ecs-architecture","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"d29a354a-fc25-4963-aa87-5664d66c3811","gmt_create":"2025-10-28T10:52:32+08:00","gmt_modified":"2025-10-28T10:52:32+08:00"},{"catalog_id":"77dbb69f-54a3-4c4e-a1a6-a6742bd50f57","title":"初始化系统","description":"core-initialization","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"0797f0ee-2c61-4a0b-b3ad-31cb1d123c22","gmt_create":"2025-10-28T10:52:34+08:00","gmt_modified":"2025-10-28T10:52:34+08:00"},{"catalog_id":"83eb0a2c-74d9-499f-aff1-6671315879c1","title":"地图模型","description":"map-model","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"8dc5ffb1-25da-4650-9e23-d613e2517258","gmt_create":"2025-10-28T10:53:51+08:00","gmt_modified":"2025-10-28T10:53:51+08:00"},{"catalog_id":"5a36905a-2ad9-4491-8169-7c28155a3783","title":"英雄信息面板","description":"ui-hero-info","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"ffc251d1-0ade-46f8-b3f4-476510152402","gmt_create":"2025-10-28T10:55:04+08:00","gmt_modified":"2025-10-28T10:55:04+08:00"},{"catalog_id":"5d78ac41-4578-4d6a-a938-63f9800b992b","title":"新手引导系统","description":"guidance-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"182da3a0-12d6-4d18-b742-b441b0ee6c38","gmt_create":"2025-10-28T10:56:16+08:00","gmt_modified":"2025-10-28T10:56:16+08:00"},{"catalog_id":"4881e416-094c-4e01-a682-f10fdf06454b","title":"云数据同步","description":"cloud-synchronization","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"22ae3672-3500-4960-befd-e2ec5a94245f","gmt_create":"2025-10-28T10:57:19+08:00","gmt_modified":"2025-10-28T10:57:19+08:00"},{"catalog_id":"a6ffd8e2-cc9e-4627-aca0-2be07267d104","title":"英雄属性系统","description":"hero-attributes","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"e4b64990-08b7-4e59-afc1-d10f360758d7","gmt_create":"2025-10-28T10:58:47+08:00","gmt_modified":"2025-10-28T10:58:47+08:00"},{"catalog_id":"c184e717-725a-4230-b0eb-702cebb87246","title":"技能系统","description":"hero-skill-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"98dea568-f687-4236-95f9-cc996dadd644","gmt_create":"2025-10-28T10:59:00+08:00","gmt_modified":"2025-10-28T10:59:00+08:00"},{"catalog_id":"302d516c-946a-47b1-9354-c2758c07b447","title":"奖励机制","description":"reward-mechanism","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"60e8c935-ed45-4f9f-a284-ae4de8f71ad7","gmt_create":"2025-10-28T10:59:30+08:00","gmt_modified":"2025-10-28T10:59:30+08:00"},{"catalog_id":"6c8feaf5-8d1d-4617-a2f0-963d973207ec","title":"MVVM框架","description":"mvvm-framework","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"39beb0ad-e23e-47ec-94f1-a96aba22c020","gmt_create":"2025-10-28T11:00:30+08:00","gmt_modified":"2025-10-28T11:00:30+08:00"},{"catalog_id":"75df5580-3a63-41da-a5d4-61f5e51b2de0","title":"奖励配置","description":"reward-configuration","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"dbd69313-c4a3-4133-a77f-b02c3b677d4c","gmt_create":"2025-10-28T11:00:55+08:00","gmt_modified":"2025-10-28T11:00:55+08:00"},{"catalog_id":"befcb7ed-0b9b-48e9-adab-22abc27f8053","title":"怪物信息显示","description":"ui-monster-info","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"a6611122-3057-4a84-9bf9-636e56b15af5","gmt_create":"2025-10-28T11:05:49+08:00","gmt_modified":"2025-10-28T11:05:49+08:00"},{"catalog_id":"bbff622a-3c66-4c15-842f-d3bba7173423","title":"事件系统","description":"core-event-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"58ae8543-8e57-4e56-a256-c1c75880e136","gmt_create":"2025-10-28T11:06:03+08:00","gmt_modified":"2025-10-28T11:06:03+08:00"},{"catalog_id":"11673b58-6aa6-42e7-97bd-ced0af44ddd6","title":"地图视图","description":"map-view","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"a5e40246-3fb0-4bac-a1df-9d5c7fcca979","gmt_create":"2025-10-28T11:06:45+08:00","gmt_modified":"2025-10-28T11:06:45+08:00"},{"catalog_id":"5e109004-2b1a-4b69-8e09-c7258846f322","title":"日志输出系统","description":"logging-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"01e1db93-e5cf-49d2-996d-a0d81b519010","gmt_create":"2025-10-28T11:07:30+08:00","gmt_modified":"2025-10-28T11:07:30+08:00"},{"catalog_id":"0ab5b7b0-b2f7-4cb8-af8c-beb3ab3286ec","title":"本地存储管理","description":"local-storage","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"20d07e15-56b8-4beb-8b5e-0b756d3bd0d2","gmt_create":"2025-10-28T11:08:11+08:00","gmt_modified":"2025-10-28T11:08:11+08:00"},{"catalog_id":"0715a329-fbf0-4bf1-8bd6-c39ee388ee19","title":"天赋系统","description":"hero-talent-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"a4565400-edc7-4a2d-856b-bc79c5d942f8","gmt_create":"2025-10-28T11:08:12+08:00","gmt_modified":"2025-10-28T11:08:12+08:00"},{"catalog_id":"97580e07-40c3-49a4-9d29-82c3369f7144","title":"单例模式管理","description":"singleton-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"d81aca04-36f1-4006-8585-11c9082481d9","gmt_create":"2025-10-28T11:08:41+08:00","gmt_modified":"2025-10-28T11:08:41+08:00"},{"catalog_id":"d6f30777-c757-4b2a-a262-0e6cb15e5a2f","title":"奖励UI交互","description":"reward-ui-interaction","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"579f9f00-9d06-471c-a509-57913226bc15","gmt_create":"2025-10-28T11:09:20+08:00","gmt_modified":"2025-10-29T16:47:38.7872073+08:00"},{"catalog_id":"ac19b55d-307e-4c42-b7d2-616195c42f41","title":"顶部状态栏","description":"ui-top-bar","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"f33f7659-0332-4949-9b58-5420ff6534dc","gmt_create":"2025-10-28T11:10:01+08:00","gmt_modified":"2025-10-28T11:10:01+08:00"},{"catalog_id":"143ddb5f-8cee-4348-bf32-f0d070e5ba12","title":"肉鸽关卡配置","description":"rogue-config","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"7407fc87-6d3d-4fd5-8c59-9c5084cd60f9","gmt_create":"2025-10-28T11:10:11+08:00","gmt_modified":"2025-10-29T16:45:39.7976643+08:00"},{"catalog_id":"beb89502-3ee2-4f11-800f-65af0d6e1fa0","title":"资源加载系统","description":"core-resource-loading","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"c4533873-5d96-4dce-ac79-74df71673fb8","gmt_create":"2025-10-28T11:10:49+08:00","gmt_modified":"2025-10-28T11:10:49+08:00"},{"catalog_id":"464eae41-db8b-430b-8f77-073f9f2fc6b8","title":"配置管理","description":"configuration-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"e8f35846-5848-4f7f-959b-9463d65ef321","gmt_create":"2025-10-28T11:11:11+08:00","gmt_modified":"2025-10-28T11:11:11+08:00"},{"catalog_id":"5d736604-766b-481a-b049-673abe8e6fa5","title":"增益/减益状态系统","description":"hero-buff-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"b94c71a5-c1f5-4ffd-abcb-b01ed6c8c5b0","gmt_create":"2025-10-28T11:12:08+08:00","gmt_modified":"2025-10-28T11:12:08+08:00"},{"catalog_id":"ff55dc40-c8b1-410d-8640-7a81020a7553","title":"怪物系统","description":"monster-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"42f07ffd-d313-4497-bd38-483e18d4aedc","gmt_create":"2025-10-28T11:13:06+08:00","gmt_modified":"2025-10-29T16:47:32.0459243+08:00"},{"catalog_id":"b7cefdb2-c4f2-4392-b3d4-e65761f14641","title":"数据存储系统","description":"core-data-storage","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"a8e09c27-24b4-435c-a3ea-8355540d28bc","gmt_create":"2025-10-28T11:15:35+08:00","gmt_modified":"2025-10-28T11:15:35+08:00"},{"catalog_id":"a736cd71-7f19-4121-8c1a-fb8501f6cef0","title":"胜利界面","description":"ui-victory-screen","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"7ee27901-9955-4c81-b180-33cf3033c370","gmt_create":"2025-10-28T11:16:00+08:00","gmt_modified":"2025-10-28T11:16:00+08:00"},{"catalog_id":"81923473-dad5-443a-ab8a-e22ca7d1d96e","title":"音效管理系统","description":"audio-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"159d642d-3c56-4002-9e34-9bbd7a4bbc50","gmt_create":"2025-10-28T11:16:37+08:00","gmt_modified":"2025-10-28T11:16:37+08:00"},{"catalog_id":"6b3a7056-07e0-4ee0-9477-527e3e84c00f","title":"多语言支持","description":"multi-language-support","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"74a1f75f-ae01-4771-b9c6-f3f4dc59f585","gmt_create":"2025-10-28T11:16:44+08:00","gmt_modified":"2025-10-28T11:16:44+08:00"},{"catalog_id":"6cefd3b4-8baf-48e8-b5dc-e8f53040a214","title":"技能图标组件","description":"ui-skill-icon","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"dacc2fcb-6e97-4fdf-9cac-f56a93ca1a60","gmt_create":"2025-10-28T11:16:45+08:00","gmt_modified":"2025-10-28T11:16:45+08:00"},{"catalog_id":"d0415876-9b22-47a3-92d4-dfdc30a29d9d","title":"技能配置表结构","description":"skill-config-schema","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"3ba7a10d-361d-4d03-90f8-e368b9caa14f","gmt_create":"2025-10-28T11:18:18+08:00","gmt_modified":"2025-10-28T11:18:18+08:00"},{"catalog_id":"444d9cf9-1369-4aa9-a3ec-e2643449a253","title":"奖励配置","description":"reward-configuration","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"49d543a3-7880-444a-a582-96fded56f8bf","gmt_create":"2025-10-28T11:18:19+08:00","gmt_modified":"2025-10-28T11:18:19+08:00"},{"catalog_id":"50b74287-5f12-4548-8d2b-25bf355b37b1","title":"战斗奖励配置","description":"battle-reward-configuration","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"8d93c39c-d39e-4f31-8a04-2ee12de06ef1","gmt_create":"2025-10-28T11:18:59+08:00","gmt_modified":"2025-10-28T11:19:00+08:00"},{"catalog_id":"3bebf6cc-72b9-4b67-96ef-cb755e8657f6","title":"MissionComp事件处理机制","description":"mission-comp-event-handling","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"d2d71ab1-7fb1-4684-89d8-b67fc1260dcb","gmt_create":"2025-10-28T11:19:06+08:00","gmt_modified":"2025-10-28T11:19:06+08:00"},{"catalog_id":"1acac556-2ede-4601-885c-8f35c1ab48d8","title":"关卡生成规则","description":"rogue-stage-rules","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"5c5b6d2c-6ef7-4ea2-a8a1-88169906d2f5","gmt_create":"2025-10-28T11:19:25+08:00","gmt_modified":"2025-10-28T11:19:25+08:00"},{"catalog_id":"b928ad9c-af98-4851-a30c-879fc351a271","title":"地图视图控制","description":"map-view-control","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"1423e63a-5644-4c10-b135-5e7a56af8535","gmt_create":"2025-10-28T11:20:02+08:00","gmt_modified":"2025-10-28T11:20:03+08:00"},{"catalog_id":"dc4d87de-bd7d-4ff1-9d5d-901b96079880","title":"技能执行机制","description":"skill-execution-mechanism","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"42730c35-6947-4076-a381-fd56f8b100c9","gmt_create":"2025-10-28T11:20:21+08:00","gmt_modified":"2025-10-28T11:20:21+08:00"},{"catalog_id":"929c4f73-27bd-48aa-b38b-832dce5d3437","title":"怪物实体","description":"monster-entity","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"727a0a93-5ad1-4c61-bfe2-48f3da1a2f08","gmt_create":"2025-10-28T11:20:32+08:00","gmt_modified":"2025-10-28T11:20:32+08:00"},{"catalog_id":"b2690b08-a633-4cff-a360-0299c894a91b","title":"任务奖励配置","description":"task-reward-configuration","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"6df7bdcd-d5f5-4590-8058-771d347d7305","gmt_create":"2025-10-28T11:21:39+08:00","gmt_modified":"2025-10-28T11:21:39+08:00"},{"catalog_id":"801fd139-0b73-454e-8564-b037429832f3","title":"英雄管理组件交互","description":"mission-hero-comp-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"019c0048-c15d-428b-9894-80ca0ee892b4","gmt_create":"2025-10-28T11:22:00+08:00","gmt_modified":"2025-10-28T11:22:00+08:00"},{"catalog_id":"36b2fa51-94eb-434c-a175-ce323fc5a1f7","title":"地图图层管理","description":"map-layer-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"a9de2c19-d4a1-4b64-a3ba-88d177bd75ce","gmt_create":"2025-10-28T11:23:42+08:00","gmt_modified":"2025-10-28T11:23:43+08:00"},{"catalog_id":"d49c2031-24af-4d1e-81e4-925afc2a2666","title":"怪物配置体系","description":"rogue-monster-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"de41c53b-774d-4cd3-bdca-d4a66d811537","gmt_create":"2025-10-28T11:23:49+08:00","gmt_modified":"2025-10-28T11:23:49+08:00"},{"catalog_id":"4c2e7b97-0e79-45a0-9222-020a9a4c6fa7","title":"奖励触发机制","description":"reward-trigger-mechanism","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"0258adb5-2ff8-467e-b3fb-9ce228f85ca5","gmt_create":"2025-10-28T11:24:23+08:00","gmt_modified":"2025-10-28T11:24:23+08:00"},{"catalog_id":"8dc2ace8-6587-466f-917b-07f05adc967f","title":"属性系统","description":"monster-attributes","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"47351ee5-1254-418b-8e5b-00e83c2ee30a","gmt_create":"2025-10-28T11:25:07+08:00","gmt_modified":"2025-10-28T11:25:07+08:00"},{"catalog_id":"83b7ebe7-d911-441f-a037-5941db66b7d0","title":"奖励提示类型定义","description":"tooltip-reward-types","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"54d5501d-4bb5-4611-b733-66f1dd8b0f59","gmt_create":"2025-10-28T11:25:39+08:00","gmt_modified":"2025-10-28T11:25:39+08:00"},{"catalog_id":"9f84c171-dda4-4a86-8b9c-66ef2cbb693d","title":"奖励数据流","description":"reward-data-flow","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"e3ae1f8f-f8fc-415e-8516-b317471d66a3","gmt_create":"2025-10-28T11:25:51+08:00","gmt_modified":"2025-10-28T11:25:51+08:00"},{"catalog_id":"033f158e-c7ec-4cdc-bdf9-14978a05e615","title":"怪物生成与波次控制","description":"mission-mon-comp-spawn-logic","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"1353e307-3ba5-41d1-9980-902317ff65f3","gmt_create":"2025-10-28T11:26:20+08:00","gmt_modified":"2025-10-28T11:26:20+08:00"},{"catalog_id":"fe474a4a-0a65-4d6d-bf8f-eb6fa46c16bb","title":"随机事件系统","description":"rogue-event-system","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"d7059f4f-5348-4da1-88ea-88a3b2023fac","gmt_create":"2025-10-28T11:26:37+08:00","gmt_modified":"2025-10-28T11:26:37+08:00"},{"catalog_id":"7d51670e-a0b8-4732-84d8-8c08e500adb8","title":"地图视觉特效","description":"map-visual-effects","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"97b34f91-2306-47ba-8576-a468753c0fd3","gmt_create":"2025-10-28T11:27:30+08:00","gmt_modified":"2025-10-28T11:27:30+08:00"},{"catalog_id":"347f6fb0-614f-4334-8aa4-27c5aa0424b1","title":"技能机制","description":"monster-skills","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"4da3cbdc-b89c-43be-88a8-2448547691dc","gmt_create":"2025-10-28T11:27:42+08:00","gmt_modified":"2025-10-28T11:27:42+08:00"},{"catalog_id":"584d1979-71f8-49fb-a814-5760439763bd","title":"奖励UI集成","description":"reward-ui-integration","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"ec11fdb4-ba0f-44ad-8e23-d01a6923bd2d","gmt_create":"2025-10-28T11:28:12+08:00","gmt_modified":"2025-10-28T11:28:12+08:00"},{"catalog_id":"8cf4da63-707e-4892-b9c6-57d01e45c9c9","title":"基地组件状态同步","description":"mission-home-comp-state-sync","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"bff9df09-cd74-4860-a200-d86f7b714fcc","gmt_create":"2025-10-28T11:28:31+08:00","gmt_modified":"2025-10-28T11:28:31+08:00"},{"catalog_id":"bfcc1da8-f5e6-4c7b-98bd-5dbe0f8242ad","title":"技能冷却管理","description":"skill-cooldown-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"3381a563-018d-47ee-bbdf-cb561eeb0919","gmt_create":"2025-10-28T11:28:49+08:00","gmt_modified":"2025-10-28T11:28:49+08:00"},{"catalog_id":"8dd02869-ddd8-4d74-b651-0379d3b1feee","title":"地图基础图层","description":"map-layer-base","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"629904a1-012a-4bad-9218-42a49a289a17","gmt_create":"2025-10-28T11:29:25+08:00","gmt_modified":"2025-10-28T11:29:25+08:00"},{"catalog_id":"bd215c85-0179-4cfb-b4a8-92256ca7870a","title":"目标选择策略","description":"target-selection-strategy","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"4a391b7a-e1f2-4069-ad6c-3e523ad16a77","gmt_create":"2025-10-28T11:30:00+08:00","gmt_modified":"2025-10-28T11:30:00+08:00"},{"catalog_id":"fe209d1c-c5a8-462a-a373-d7ac5ac75525","title":"怪物实体初始化流程","description":"monster-entity-initialization","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"dfdc4503-fbb1-40db-82fb-1726f1d1f05e","gmt_create":"2025-10-28T11:30:21+08:00","gmt_modified":"2025-10-28T11:30:21+08:00"},{"catalog_id":"102004ab-a664-40ff-8a1f-8dc7b3e2f989","title":"怪物实体组件系统","description":"monster-entity-components","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"1ea25562-e2c7-4a6d-bfc7-95127c628533","gmt_create":"2025-10-28T11:31:45+08:00","gmt_modified":"2025-10-28T11:31:45+08:00"},{"catalog_id":"ec6fdd3e-91cd-4395-9a63-06e56c00cb39","title":"多段连发技能执行","description":"multi-stage-skill-execution","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"9c34142f-6da2-4692-afec-b02acc499e3c","gmt_create":"2025-10-28T11:32:00+08:00","gmt_modified":"2025-10-28T11:32:00+08:00"},{"catalog_id":"528550ce-5ee2-4d4d-958e-e998012cdcb8","title":"实体图层管理","description":"entity-layer-management","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"126ae057-4cfe-4772-a43b-546a20ab24de","gmt_create":"2025-10-28T11:32:57+08:00","gmt_modified":"2025-10-28T11:32:57+08:00"},{"catalog_id":"c613057f-bdfd-4a11-b9f4-ffd553f41b95","title":"技能特效图层","description":"skill-layer-rendering","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"11fba005-b594-44d9-b417-a70f44769d1b","gmt_create":"2025-10-28T11:33:05+08:00","gmt_modified":"2025-10-28T11:33:05+08:00"},{"catalog_id":"62d8e688-a8e3-4ea3-b566-2ebb7ace8431","title":"光照效果实现","description":"lighting-effect-implementation","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"e0b48c74-4b18-43ef-826c-6011362c3e08","gmt_create":"2025-10-28T11:33:50+08:00","gmt_modified":"2025-10-28T11:33:50+08:00"},{"catalog_id":"de3a4eaa-5441-41c0-8c62-38d804013fbf","title":"技能执行资源管理","description":"skill-execution-resources","extend":"{}","progress_status":"completed","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","id":"a69998fa-4870-45b1-ad70-dca470d8570f","gmt_create":"2025-10-28T11:34:05+08:00","gmt_modified":"2025-10-28T11:34:05+08:00"}],"wiki_overview":{"content":"\u003cblog\u003e\n# 英雄项目综合分析报告\n\n## 1. 项目介绍\n\n### 项目目的\n本项目是一款基于Cocos引擎开发的单局制肉鸽(Roguelike)塔防类游戏,名为\"pixel_hero\"。游戏以中国历史人物为英雄原型,结合春秋战国、楚汉争霸等历史背景,打造具有文化特色的策略战斗体验。\n\n### 核心目标\n- 实现自动战斗机制下的策略性成长系统\n- 构建丰富的英雄角色体系和多样化的能力成长路径\n- 提供高重玩价值的肉鸽游戏体验\n- 集成微信小游戏云开发能力\n\n### 目标受众\n主要面向喜欢策略塔防、肉鸽游戏机制以及对中国历史文化感兴趣的移动端玩家,特别是微信小游戏平台的用户群体。\n\n## 2. 技术架构\n\n### 组件分解\n项目采用模块化架构设计,主要包括:\n- **ECS架构系统**:用于实体-组件-系统的解耦设计\n- **MVVM框架**:实现视图与数据的绑定\n- **微信云开发集成**:提供后端服务支持\n- **单例模块管理**:通过SingletonModuleComp统一管理核心模块\n\n### 设计模式\n项目运用了多种设计模式:\n- **单例模式**:通过`smc`对象管理全局模块\n- **组件模式**:大量使用TypeScript类作为组件挂载到节点\n- **观察者模式**:事件系统实现模块间通信\n- **状态模式**:英雄能力成长体系的设计\n\n### 系统关系\n```mermaid\nflowchart TD\n A[客户端] --\u003e B[游戏逻辑层]\n B --\u003e C[ECS系统]\n B --\u003e D[MVVM框架]\n B --\u003e E[微信云API]\n C --\u003e F[英雄系统]\n C --\u003e G[地图系统]\n C --\u003e H[技能系统]\n D --\u003e I[UI界面]\n E --\u003e J[云数据库]\n F --\u003e K[英雄属性]\n F --\u003e L[成长体系]\n G --\u003e M[关卡设计]\n H --\u003e N[技能效果]\n```\n\n### 数据流\n```mermaid\nflowchart TD\n A[用户输入] --\u003e B[奖励选择]\n B --\u003e C[属性更新]\n C --\u003e D[ECS系统]\n D --\u003e E[战斗计算]\n E --\u003e F[UI更新]\n F --\u003e G[视觉反馈]\n H[游戏进度] --\u003e I[微信云存储]\n I --\u003e J[数据同步]\n```\n\n## 3. 关键实现\n\n### 主要入口点\n- **Main.ts**:游戏主入口文件,负责初始化核心系统\n- **Initialize.ts**:游戏初始化逻辑\n- **Root类继承**:基础框架集成\n\nSources:\n- [Main.ts](assets/script/Main.ts)\n\n### 核心模块\n- **ECS系统**:基于Oops插件框架的实体组件系统\n- **英雄系统**:包含英雄属性、技能、成长等逻辑\n- **地图系统**:关卡、怪物、战斗区域管理\n- **奖励系统**:三选一奖励机制实现\n\nSources:\n- [Hero.ts](assets/script/game/hero/Hero.ts)\n- [GameMap.ts](assets/script/game/map/GameMap.ts)\n- [Initialize.ts](assets/script/game/initialize/Initialize.ts)\n\n### 配置方法\n- **JSON配置文件**:存储游戏配置数据\n- **TypeScript常量**:定义游戏常量和配置\n- **云函数配置**:微信云开发相关设置\n\nSources:\n- [config.json](assets/resources/config.json)\n- [NetCode.json](assets/resources/config/game/NetCode.json)\n- [package.json](package.json)\n\n### 外部依赖\n- **crypto-es**:加密算法库\n- **Oops Plugin Framework**:Cocos扩展框架\n- **微信云开发SDK**:@cloudbase系列包\n\nSources:\n- [package.json](package.json)\n- [WxCloudApi.ts](assets/script/game/wx_clound_client_api/WxCloudApi.ts)\n\n### 集成点\n- **微信云开发**:用户数据存储、排行榜等\n- **Cocos引擎**:图形渲染、物理系统\n- **Oops框架**:MVC/MVVM架构支持\n\nSources:\n- [WxCloudApi.ts](assets/script/game/wx_clound_client_api/WxCloudApi.ts)\n- [index.js](build-templates/wechatgame/cloud_functions/cocos_cloud/index.js)\n\n### 组件关系\n```mermaid\ngraph LR\n A[Main] --\u003e B[Initialize]\n A --\u003e C[ECS系统]\n A --\u003e D[MVVM]\n B --\u003e E[UI初始化]\n C --\u003e F[英雄组件]\n C --\u003e G[地图组件]\n C --\u003e H[技能组件]\n F --\u003e I[Buff系统]\n G --\u003e J[关卡系统]\n H --\u003e K[技能视图]\n D --\u003e L[UI绑定]\n M[微信云API] --\u003e A\n```\n\n## 4. 关键特性\n\n### 功能概述\n- **肉鸽塔防玩法**:每局独立的游戏体验,随机奖励选择\n- **历史英雄体系**:34位中国历史人物作为可玩角色\n- **自动战斗机制**:无需手动操作的战斗系统\n- **三选一奖励**:策略性资源分配系统\n- **微信云集成**:云端数据存储与同步\n\n### 实现亮点\n- **ECS架构应用**:在Cocos引擎中实现实体组件系统\n- **多职业体系**:warrior、mage、support等五种职业分类\n- **成长路径设计**:每位英雄有三个独特的能力成长方向\n- **文化融合**:将中国历史人物特性转化为游戏机制\n\nSources:\n- [heros.md](assets/script/heros.md)\n- [Design.md](assets/script/Design.md)\n- [Hero.ts](assets/script/game/hero/Hero.ts)\n\n### 特性架构\n```mermaid\nstateDiagram-v2\n [*] --\u003e 游戏启动\n 游戏启动 --\u003e 英雄选择\n 英雄选择 --\u003e 战斗开始\n 战斗开始 --\u003e 普通关卡\n 普通关卡 --\u003e 精英关卡\n 精英关卡 --\u003e Boss关卡\n Boss关卡 --\u003e 游戏结束\n 战斗中 --\u003e 奖励选择\n 奖励选择 --\u003e 属性提升\n 奖励选择 --\u003e 技能升级\n 奖励选择 --\u003e 装备获取\n 属性提升 --\u003e 战斗继续\n 技能升级 --\u003e 战斗继续\n 装备获取 --\u003e 战斗继续\n```\n\u003c/blog\u003e","gmt_create":"2025-10-28T10:40:37+08:00","gmt_modified":"2025-10-28T10:40:37+08:00","id":"975c136e-6b67-43d2-b77c-eecb58e0d2f3","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3"},"wiki_readme":{"content":"No readme file","gmt_create":"2025-10-28T10:39:41+08:00","gmt_modified":"2025-10-28T10:39:41+08:00","id":"5bfb2690-83ee-4120-8c5c-6c7fdda7ce53","repo_id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3"},"wiki_repo":{"id":"0f6efb38-e2a7-4261-9961-fdf42b3712a3","name":"heros","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── assets\\n│ ├── resources\\n│ │ ├── config\\n│ │ │ ├── game\\n│ │ │ │ └── NetCode.json\\n│ │ │ └── map\\n│ │ │ ├── map.json\\n│ │ │ └── map_delivery.json\\n│ │ ├── language\\\\json\\n│ │ │ ├── en.json\\n│ │ │ └── zh.json\\n│ │ └── config.json\\n│ └── script\\n│ ├── game\\n│ │ ├── BezierMove\\n│ │ │ └── BezierMove.ts\\n│ │ ├── common\\n│ │ │ ├── config\\n│ │ │ │ ├── BoxSet.ts\\n│ │ │ │ ├── GameEvent.ts\\n│ │ │ │ ├── GameUIConfig.ts\\n│ │ │ │ ├── Guide.ts\\n│ │ │ │ ├── HeroAttrs.ts\\n│ │ │ │ ├── Mission.ts\\n│ │ │ │ ├── SkillSet.ts\\n│ │ │ │ ├── TalSet.ts\\n│ │ │ │ ├── Tasks.ts\\n│ │ │ │ └── heroSet.ts\\n│ │ │ ├── ecs\\\\position\\n│ │ │ │ ├── BattleMoveComp.ts\\n│ │ │ │ ├── BattleMoveSystem.ts\\n│ │ │ │ └── EcsPositionSystem.ts\\n│ │ │ └── SingletonModuleComp.ts\\n│ │ ├── hero\\n│ │ │ ├── BuffComp.ts\\n│ │ │ ├── Hero.ts\\n│ │ │ ├── HeroAnmComp.ts\\n│ │ │ ├── HeroConComp.ts\\n│ │ │ ├── HeroModelComp.ts\\n│ │ │ ├── HeroSpine.ts\\n│ │ │ ├── HeroViewComp.ts\\n│ │ │ ├── Mon.ts\\n│ │ │ ├── MonModelComp.ts\\n│ │ │ ├── SkillConComp.ts\\n│ │ │ └── TalComp.ts\\n│ │ ├── initialize\\n│ │ │ ├── view\\n│ │ │ │ └── LoadingViewComp.ts\\n│ │ │ └── Initialize.ts\\n│ │ ├── map\\n│ │ │ ├── model\\n│ │ │ │ └── MapModelComp.ts\\n│ │ │ ├── view\\n│ │ │ │ ├── map\\\\layer\\n│ │ │ │ │ ├── EntityLayer.ts\\n│ │ │ │ │ ├── MapLayer.ts\\n│ │ │ │ │ ├── SkillLayer.ts\\n│ │ │ │ │ └── light.ts\\n│ │ │ │ ├── MapViewComp.ts\\n│ │ │ │ ├── MapViewScene.ts\\n│ │ │ │ └── MoveUV.ts\\n│ │ │ ├── CardController.ts\\n│ │ │ ├── FlashSprite.ts\\n│ │ │ ├── GameMap.ts\\n│ │ │ ├── GuideConComp.ts\\n│ │ │ ├── GuideSetpComp.ts\\n│ │ │ ├── HInfoComp.ts\\n│ │ │ ├── MInfoComp.ts\\n│ │ │ ├── MapView.ts\\n│ │ │ ├── MissionComp.ts\\n│ │ │ ├── MissionHeroComp.ts\\n│ │ │ ├── MissionHomeComp.ts\\n│ │ │ ├── MissionMonComp.ts\\n│ │ │ ├── RogueConfig.ts\\n│ │ │ ├── SIconComp.ts\\n│ │ │ ├── TopComp.ts\\n│ │ │ ├── VictoryComp.ts\\n│ │ │ └── move.ts\\n│ │ ├── skill\\n│ │ │ ├── AtkConCom.ts\\n│ │ │ ├── ReadyCom.ts\\n│ │ │ ├── SkillEnt.ts\\n│ │ │ ├── SkillViewCom.ts\\n│ │ │ ├── Tooltip.ts\\n│ │ │ ├── TooltipCom.ts\\n│ │ │ ├── oncend.ts\\n│ │ │ └── timedCom.ts\\n│ │ └── wx_clound_client_api\\n│ │ ├── USAGE.md\\n│ │ ├── WxCloudApi.ts\\n│ │ └── wx.aip.d.ts\\n│ ├── Design.md\\n│ ├── Main.ts\\n│ ├── cankao.md\\n│ ├── heros.md\\n│ ├── heros2_table.md\\n│ └── todo.md\\n├── build-templates\\\\wechatgame\\\\cloud_functions\\\\cocos_cloud\\n│ ├── config.json\\n│ ├── deploy.md\\n│ ├── index.js\\n│ ├── package-lock.json\\n│ └── package.json\\n├── doc\\n│ ├── core\\n│ │ ├── common\\n│ │ │ ├── audio.md\\n│ │ │ ├── event.md\\n│ │ │ ├── loader.md\\n│ │ │ ├── log.md\\n│ │ │ ├── random.md\\n│ │ │ ├── storage.md\\n│ │ │ └── timer.md\\n│ │ ├── gui\\n│ │ │ └── gui.md\\n│ │ └── network.md\\n│ ├── ecs\\n│ │ └── ecs.md\\n│ ├── mvvm\\n│ │ ├── MvvmInfo.md\\n│ │ ├── VMBase.md\\n│ │ ├── VMCompsEdit.md\\n│ │ ├── VMCustom.md\\n│ │ ├── VMEvent.md\\n│ │ ├── VMLabel.md\\n│ │ ├── VMModify.md\\n│ │ ├── VMParent.md\\n│ │ ├── VMProgress.md\\n│ │ ├── VMState.md\\n│ │ └── ViewModelScript.md\\n│ └── using.md\\n├── settings\\n│ ├── 1.2.0\\\\packages\\n│ │ ├── builder.json\\n│ │ ├── engine.json\\n│ │ └── project.json\\n│ └── v2\\\\packages\\n│ ├── builder.json\\n│ ├── cocos-service.json\\n│ ├── device.json\\n│ ├── engine.json\\n│ ├── information.json\\n│ ├── program.json\\n│ └── project.json\\n├── ecs.md\\n├── fix_cloud_functions.bat\\n├── package-lock.json\\n├── package.json\\n├── tsconfig.json\\n└── update-oops-plugin-framework.bat\\n\"","current_document_structure":"WikiEncrypted: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","catalogue_think_content":"WikiEncrypted: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","recovery_checkpoint":"wiki_generation_completed","last_commit_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","last_commit_update":"2025-10-29T16:41:08+08:00","gmt_create":"2025-10-18T08:59:43+08:00","gmt_modified":"2025-10-29T16:47:40.2832316+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"oh/10171\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"0.2.8\"}"}}
\ No newline at end of file
+{"code_snippets":[{"id":"f1792db4ad8d94789b11cde132a58c15","path":"assets/script/game/map/MissionComp.ts","line_range":"1-151","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"5c8708ef78c4ca548eb2ce6b279b75ed","path":"assets/script/game/map/VictoryComp.ts","line_range":"1-75","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"3278c84d1eb6aecf068fb57c66f64e3e","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"1-41","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"9bb3b0d6ae62d8a89e6d6bea191fac71","path":"assets/script/game/map/MissionComp.ts","line_range":"15-151","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"7232a510e1fe5bf4baa29606d55a732a","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"20-41","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"f94423bec96eddd2f3f51c41a5654881","path":"assets/script/game/map/VictoryComp.ts","line_range":"25-75","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"72c29ea9fe1fd4c7e9189677fcfbd707","path":"assets/script/game/map/MissionHeroComp.ts","line_range":"1-81","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","path":"assets/script/game/map/MissionMonComp.ts","line_range":"1-240","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"19937d9863d6462cde11b752a8cdb27e","path":"assets/script/game/common/config/Mission.ts","line_range":"1-60","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"d56b3ca6bf1962fb60a5651241006c2c","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"25-47","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"546c749070d5836e4b3fae2548a9895a","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"1-544","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"8d5ff907f0988cbdb88574bf8d540aed","path":"assets/script/game/common/config/TalSet.ts","line_range":"68-114","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"312cd7280aa8d1ccd62d755d701c9fe5","path":"assets/script/game/map/MissionComp.ts","line_range":"40-50","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"75dff503ca30d0964e43596822727ce2","path":"assets/script/game/map/MissionComp.ts","line_range":"80-95","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":"6af28cda4e019cc7dc14e024f099de35","path":"assets/script/game/map/VictoryComp.ts","line_range":"25-40","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":"947e5b1ccf20c4a4e3fde389b032aff6","path":"assets/script/game/map/MissionHeroComp.ts","line_range":"15-30","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":"205893a617207b5b5300d1c459ccfa82","path":"assets/script/game/map/MissionMonComp.ts","line_range":"40-60","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":"86a8863611343f013419fb6c5f486237","path":"assets/script/game/map/RogueConfig.ts","line_range":"279-310","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":"4f7c15d2dbfd4808706252c0e0196d6c","path":"assets/script/game/common/config/GameUIConfig.ts","line_range":"1-36","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":"20993cd959ec406c9fc95cb4c9e6bb40","path":"assets/script/game/map/GameMap.ts","line_range":"1-35","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"1442be86a13f6fb82799c2fb135a5fbc","path":"assets/script/game/map/RogueConfig.ts","line_range":"31-31","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"6376e28d42ccacfc5d390f109669687e","path":"assets/script/game/map/RogueConfig.ts","line_range":"95-173","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"ede8bf9e076d0cf971b1f8255da908df","path":"assets/script/game/map/RogueConfig.ts","line_range":"69-73","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"9538a29efbb0c28a5ae3cb1e7b3a60e6","path":"assets/script/game/map/MissionMonComp.ts","line_range":"102-136","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"b44dd9330329d4f79260ce7b269c687f","path":"assets/script/game/map/model/MapModelComp.ts","line_range":"1-42","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"0732b42f7e0c66b58c71a549fb9ba36d","path":"assets/script/game/map/view/MapViewComp.ts","line_range":"1-44","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"847d14c7aff3114c46bc65a0aa7b4180","path":"assets/script/game/map/RogueConfig.ts","line_range":"1-310","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"2c0b6d3ac7326428001e915dfad04fda","path":"assets/script/game/hero/Mon.ts","line_range":"1-108","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"36d0aae654a4ab5cc9c6205c96a73c28","path":"assets/script/game/map/view/MapViewScene.ts","line_range":"1-76","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"5326fb0ba15856a89e7ceb0a85f5ba18","path":"assets/script/game/map/view/map/layer/MapLayer.ts","line_range":"1-46","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"85fb9bcdfda6d8bfd0a45798014e4d1b","path":"assets/script/game/map/view/map/layer/EntityLayer.ts","line_range":"1-38","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"f160c7f4a5c15627d79ed49ca194b3ee","path":"assets/script/game/map/view/map/layer/SkillLayer.ts","line_range":"1-47","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"6e63b2a364ca754b51e77bb5d612934e","path":"assets/script/game/map/RogueConfig.ts","line_range":"79-88","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"4af410d9512c22ea1700b1ed40f45a38","path":"assets/script/game/hero/Mon.ts","line_range":"37-60","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"ecb69f21af2c0a9ca39b58589047c2ce","path":"assets/script/game/map/MissionMonComp.ts","line_range":"19-25","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"25662ed6c41a80693fb7a3d396d0da7d","path":"assets/script/game/map/MissionMonComp.ts","line_range":"177-191","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"fc32e6130be7a1ba4d058a3ad1364222","path":"assets/script/game/hero/Mon.ts","line_range":"61-108","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"4c5b7fc60d7644b2b51f5c105d03003b","path":"assets/resources/config/map/map.json","line_range":"1-11","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"9f9d6e57f8784e13a3b01a9f224eb81d","path":"assets/resources/config/map/map_delivery.json","line_range":"1-29","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"3afb16f8d81e36bba305ab123b824da7","path":"assets/script/game/map/MissionMonComp.ts","line_range":"1-239","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"83e8b4c0b27ff843dbeb86a5227092f1","path":"assets/script/game/common/config/heroSet.ts","line_range":"1-151","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"7d4659e3f4037ac293718bb2acc03e23","path":"assets/script/game/map/RogueConfig.ts","line_range":"31-88","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":"2d101fe07b03aadbe1b5dbfcf26de5ae","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"72-778","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":"df3805ee6cf63b4ad2dec695168605ba","path":"assets/script/game/hero/Mon.ts","line_range":"35-58","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":"a4af501ccb4b798ce6e4446b283ef35c","path":"assets/script/game/common/config/heroSet.ts","line_range":"60-152","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":"b803464f63cf7bdefea90d1bde317179","path":"assets/script/game/map/VictoryComp.ts","line_range":"15-75","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"91d725f6202f7ba0231f1738bf3667b0","path":"assets/script/game/map/MissionHeroComp.ts","line_range":"12-81","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"84452177be5d44a04a15be16121b2ee0","path":"assets/script/game/map/MissionMonComp.ts","line_range":"15-240","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"b7311385fba4b280d656ebc84fa6f3d4","path":"assets/script/game/map/MissionHomeComp.ts","line_range":"12-54","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"ec0bf85d49105c08ed9c5a2751888915","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"25-195","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"d4e4bdea8e072773032e6f30ebce57f6","path":"assets/script/game/map/MissionHomeComp.ts","line_range":"1-54","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"9e0c68e50c643d5f7af407756d6adfce","path":"assets/script/game/map/MissionComp.ts","line_range":"32-35","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"365e75c0bf2b76926c4223cb137c3028","path":"assets/script/game/common/config/GameEvent.ts","line_range":"40-41","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"0a9b317310869ff6fdc9e9e59b553d73","path":"assets/script/game/common/config/GameUIConfig.ts","line_range":"12-13","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"c9a38e9eae1cbfa5fe601fab3febad56","path":"assets/script/game/map/MissionComp.ts","line_range":"55-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"099fc495f0332ae0b2d2719b92dec19f","path":"assets/script/game/map/MissionMonComp.ts","line_range":"15-199","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"9b6f22f170e6137f879aad6572d4be18","path":"assets/script/game/map/MissionComp.ts","line_range":"47-52","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"c5fe161d1d347bd0ab30ecefa4f94647","path":"assets/script/game/map/MissionMonComp.ts","line_range":"47-52","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"a3f65f0057ec697d390f8df475c04a21","path":"assets/script/game/map/MissionHomeComp.ts","line_range":"25-35","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"5e2bdb9582767e3b3d2662c0d58e8148","path":"assets/script/game/map/RogueConfig.ts","line_range":"65-73","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"549d119d101793b19391ce7b37a146f2","path":"assets/script/game/map/VictoryComp.ts","line_range":"28-42","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"72f760e39feb004d59c86d33671e7e40","path":"assets/script/game/map/VictoryComp.ts","line_range":"18-25","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"05aa73eb4f723f96abe045e46a9fa7b3","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"45-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"a203612193e05f2a76dbf9d2a73205e4","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"25-45","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"9993b9e10feac19ed85b5a03998b61fe","path":"assets/script/game/map/MissionComp.ts","line_range":"130-140","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"2f2f29cbf0539f28d076a551ba721dc4","path":"assets/script/game/map/VictoryComp.ts","line_range":"44-50","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"3abeaf96fae91890c9ddeef80c0dbf61","path":"assets/script/game/map/VictoryComp.ts","line_range":"44-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"20855fa3c479ba786c9b4102055d35ad","path":"assets/script/game/map/VictoryComp.ts","line_range":"44-75","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"ad9fc393dbffdc1f87f168341900906f","path":"assets/script/game/map/MissionComp.ts","line_range":"140-151","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"ee971c9c2eba0089530b38ab58776893","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"100-150","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"7e01a78db6d0d1b47f507bcc9a225c5b","path":"assets/script/Main.ts","line_range":"1-41","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"f8f423ce39f6aef6484456489dc3d7f0","path":"assets/script/game/initialize/Initialize.ts","line_range":"1-207","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"f6204bd47a4ab402fc82502942e8e2ae","path":"assets/script/game/initialize/view/LoadingViewComp.ts","line_range":"1-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"11603f48619a420f074e29a9fce83432","path":"assets/script/game/initialize/Initialize.ts","line_range":"25-40","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"93e528ba990fd4b108b47405c34d63ae","path":"assets/script/game/initialize/view/LoadingViewComp.ts","line_range":"75-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"d2047033b4b21ec79418ab611173354f","path":"assets/script/game/initialize/Initialize.ts","line_range":"42-207","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"65365d0af6e09e40842dad0d46135fba","path":"assets/script/game/initialize/view/LoadingViewComp.ts","line_range":"50-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"b9a7e30eb09bcefd0f401120b7f4ee90","path":"assets/script/game/common/config/GameEvent.ts","line_range":"1-70","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"cab85760490510ff7b49d6a4cfa68f76","path":"doc/core/common/event.md","line_range":"1-44","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"77afe4cff7ba3b829ddd89df108e43a8","path":"doc/core/common/loader.md","line_range":"1-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"a36042df076f59536a7e789c89b09c7e","path":"doc/core/common/storage.md","line_range":"1-39","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"89597afa0c8cea3ee5d848a27f2cfdd6","path":"assets/script/game/common/config/BoxSet.ts","line_range":"1-109","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"801a299cee93b05d6ff689b2f9066b4c","path":"assets/script/game/map/RogueConfig.ts","line_range":"21-23","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"bfbf4afa635806338197ae22839e7ddb","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"1-194","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"f11a94deb1fe186076b31a00340b218b","path":"assets/script/game/map/RogueConfig.ts","line_range":"0-178","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"f35acee34e76076a1014b8b7b428f0ce","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"1-50","gmt_create":"2025-10-30T16:40:04.5817794+08:00","gmt_modified":"2025-10-30T16:40:04.5817794+08:00"},{"id":"e4813fca1003ef1417f38da15303c2aa","path":"\\assets\\script\\game\\hero\\Hero.ts","line_range":"1-30","gmt_create":"2025-10-30T16:40:04.5863038+08:00","gmt_modified":"2025-10-30T16:40:04.5863038+08:00"},{"id":"55836123c1943c6c59758d8f9afc0955","path":"\\assets\\script\\game\\hero\\HeroAttrsComp.ts","line_range":"1-50","gmt_create":"2025-10-30T16:40:04.591348+08:00","gmt_modified":"2025-10-30T16:40:04.591348+08:00"},{"id":"09621588dd03762994bb3a6c34c3558e","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"1-546","gmt_create":"2025-10-30T16:40:04.5970688+08:00","gmt_modified":"2025-10-30T16:40:04.5970688+08:00"},{"id":"22737c38982f339e14ba94521ce65b6c","path":"\\assets\\script\\game\\hero\\Hero.ts","line_range":"1-100","gmt_create":"2025-10-30T16:40:04.6032963+08:00","gmt_modified":"2025-10-30T16:40:04.6032963+08:00"},{"id":"59c157af89f4d53ff4d9b8de98c551f9","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"142-226","gmt_create":"2025-10-30T16:40:04.6082414+08:00","gmt_modified":"2025-10-30T16:40:04.6082414+08:00"},{"id":"e220ba6762a3f8a40b8d15e3ea4f3907","path":"\\assets\\script\\game\\hero\\Hero.ts","line_range":"65-99","gmt_create":"2025-10-30T16:40:04.6138361+08:00","gmt_modified":"2025-10-30T16:40:04.6138361+08:00"},{"id":"32249a509fd840cd0ced5d985d2899d3","path":"\\assets\\script\\game\\hero\\HeroAttrsComp.ts","line_range":"165-250","gmt_create":"2025-10-30T16:40:04.6188093+08:00","gmt_modified":"2025-10-30T16:40:04.6188093+08:00"},{"id":"417dbc44955e2035265444314bb2c2a0","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"10-105","gmt_create":"2025-10-30T16:40:04.6248036+08:00","gmt_modified":"2025-10-30T16:40:04.6248036+08:00"},{"id":"7f5d6a44376f075fafac08fbba024817","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"8-10","gmt_create":"2025-10-30T16:40:04.6293517+08:00","gmt_modified":"2025-10-30T16:40:04.6293517+08:00"},{"id":"908e54d1dce81f7d5333001db45372b8","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"266-439","gmt_create":"2025-10-30T16:40:04.6337675+08:00","gmt_modified":"2025-10-30T16:40:04.6337675+08:00"},{"id":"944648e3992ba513a3b8bd49e2957a67","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"106-226","gmt_create":"2025-10-30T16:40:04.6392133+08:00","gmt_modified":"2025-10-30T16:40:04.6392133+08:00"},{"id":"26a4e8b92047f86510b5920475c8ef4d","path":"\\assets\\script\\game\\hero\\Hero.ts","line_range":"40-99","gmt_create":"2025-10-30T16:40:04.6454039+08:00","gmt_modified":"2025-10-30T16:40:04.6454039+08:00"},{"id":"2d398f845ca25a2a9f9a405568b35d17","path":"\\assets\\script\\game\\hero\\HeroAttrsComp.ts","line_range":"254-354","gmt_create":"2025-10-30T16:40:04.6503458+08:00","gmt_modified":"2025-10-30T16:40:04.6503458+08:00"},{"id":"48d2e927475878d06870bf43b6abc576","path":"\\assets\\script\\game\\hero\\HeroAttrsComp.ts","line_range":"7-380","gmt_create":"2025-10-30T16:40:04.6558936+08:00","gmt_modified":"2025-10-30T16:40:04.6558936+08:00"},{"id":"21004467c2d521c781a28a4317876d22","path":"\\assets\\script\\game\\hero\\HeroViewComp.ts","line_range":"44-80","gmt_create":"2025-10-30T16:40:04.6649814+08:00","gmt_modified":"2025-10-30T16:40:04.6649814+08:00"},{"id":"4e5eb8bcdfb0b2976fd25169b446d1f1","path":"\\assets\\script\\game\\hero\\HeroViewComp.ts","line_range":"1-80","gmt_create":"2025-10-30T16:40:04.6689484+08:00","gmt_modified":"2025-10-30T16:40:04.6689484+08:00"},{"id":"78a6282d2b72d3cc62e7ba2faba10b81","path":"\\assets\\script\\game\\hero\\Mon.ts","line_range":"87-108","gmt_create":"2025-10-30T16:40:04.676603+08:00","gmt_modified":"2025-10-30T16:40:04.676603+08:00"},{"id":"dd192c20ae1ba3f4b32c0626e32258a4","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","line_range":"1-20","gmt_create":"2025-10-30T16:40:04.6809922+08:00","gmt_modified":"2025-10-30T16:40:04.6809922+08:00"},{"id":"df5af1625385ea73c91baf2d7d50e1b4","path":"\\assets\\script\\game\\hero\\Hero.ts","line_range":"1-20","gmt_create":"2025-10-30T16:40:04.6849816+08:00","gmt_modified":"2025-10-30T16:40:04.6849816+08:00"},{"id":"0dbf6bba7f2b910d6ec3e9172902ed2d","path":"\\assets\\script\\game\\common\\config\\GameEvent.ts","line_range":"1-70","gmt_create":"2025-10-30T16:40:04.6888944+08:00","gmt_modified":"2025-10-30T16:40:04.6888944+08:00"},{"id":"055d5477b89fbd52b49b975a7f263932","path":"\\assets\\script\\game\\hero\\HeroAttrsComp.ts","line_range":"385-425","gmt_create":"2025-10-30T16:40:04.693519+08:00","gmt_modified":"2025-10-30T16:40:04.693519+08:00"},{"id":"c56f5be2f604c39d57500761c8cfd753","path":"assets/script/Design.md","line_range":"0-40","gmt_create":"2025-10-30T16:42:07.0540267+08:00","gmt_modified":"2025-10-30T16:42:07.0540267+08:00"},{"id":"36a4b9aeaa11db4a451998b181a43c73","path":"assets/script/game/map/MissionComp.ts","line_range":"1-150","gmt_create":"2025-10-30T16:42:07.060148+08:00","gmt_modified":"2025-10-30T16:42:07.060148+08:00"},{"id":"698fdc9649b69bff4768a719b587c574","path":"assets/script/game/map/MissionComp.ts","line_range":"23-70","gmt_create":"2025-10-30T16:42:07.0656851+08:00","gmt_modified":"2025-10-30T16:42:07.0656851+08:00"},{"id":"d2cf5a78bab15a8963b936f7714f53b3","path":"assets/script/game/map/VictoryComp.ts","line_range":"19-37","gmt_create":"2025-10-30T16:42:07.0706983+08:00","gmt_modified":"2025-10-30T16:42:07.0706983+08:00"},{"id":"058c32452fc985e77b6b0b727c2b4fdd","path":"assets/script/game/common/config/Mission.ts","line_range":"0-35","gmt_create":"2025-10-30T16:42:07.0757182+08:00","gmt_modified":"2025-10-30T16:42:07.0757182+08:00"},{"id":"1f1b6fd49adbab20f0179c28b450e4e0","path":"assets/script/game/map/MissionComp.ts","line_range":"23-33","gmt_create":"2025-10-30T16:42:07.0808522+08:00","gmt_modified":"2025-10-30T16:42:07.0808522+08:00"},{"id":"8fc5b02e33a5591e53453dbf34b56751","path":"assets/script/game/map/MissionComp.ts","line_range":"133-135","gmt_create":"2025-10-30T16:42:07.0852641+08:00","gmt_modified":"2025-10-30T16:42:07.0852641+08:00"},{"id":"053c2f6c268d66db789f788cda928da7","path":"assets/script/game/map/MissionComp.ts","line_range":"60-63","gmt_create":"2025-10-30T16:42:07.0891832+08:00","gmt_modified":"2025-10-30T16:42:07.0891832+08:00"},{"id":"db8b461259c92a7be915e4973d7b37da","path":"assets/script/game/map/MissionMonComp.ts","line_range":"145-148","gmt_create":"2025-10-30T16:42:07.0935824+08:00","gmt_modified":"2025-10-30T16:42:07.0935824+08:00"},{"id":"e63fb4868e38b507d1d03e7a82c1bc45","path":"assets/script/game/map/VictoryComp.ts","line_range":"35-37","gmt_create":"2025-10-30T16:42:07.099072+08:00","gmt_modified":"2025-10-30T16:42:07.099072+08:00"},{"id":"c351c08c2b7ea2e1787fced5aa88a53c","path":"assets/script/game/common/config/GameEvent.ts","line_range":"43","gmt_create":"2025-10-30T16:42:07.1029776+08:00","gmt_modified":"2025-10-30T16:42:07.1029776+08:00"},{"id":"dde874425f6e515fcf24e21763f3f7f8","path":"assets/script/game/common/config/GameUIConfig.ts","line_range":"30","gmt_create":"2025-10-30T16:42:07.107397+08:00","gmt_modified":"2025-10-30T16:42:07.107397+08:00"},{"id":"4a2ae74c379363f5f4a81ff0de73edf2","path":"assets/script/game/map/RogueConfig.ts","line_range":"47-86","gmt_create":"2025-10-30T16:42:07.1121724+08:00","gmt_modified":"2025-10-30T16:42:07.1121724+08:00"},{"id":"9e4463dc09c466496dbf0e5d85e20857","path":"assets/script/game/hero/HeroAttrsComp.ts","line_range":"72-778","gmt_create":"2025-10-30T16:42:57.9214144+08:00","gmt_modified":"2025-10-30T16:42:57.9214144+08:00"},{"id":"8e7040b53760cdce8ddab10cf9d29dac","path":"assets/script/game/hero/MonMove.ts","line_range":"10-271","gmt_create":"2025-10-30T16:42:57.9281298+08:00","gmt_modified":"2025-10-30T16:42:57.9281298+08:00"},{"id":"151f17810f95dc31deb6471009dc466f","path":"assets/script/game/hero/MonMove.ts","line_range":"3-15","gmt_create":"2025-10-30T16:42:57.9329782+08:00","gmt_modified":"2025-10-30T16:42:57.9329782+08:00"},{"id":"75d9aafe12c4490339eaa3f1c1260a9b","path":"assets/script/game/hero/MonMove.ts","line_range":"1-10","gmt_create":"2025-10-30T16:42:57.9380339+08:00","gmt_modified":"2025-10-30T16:42:57.9380339+08:00"},{"id":"3c7a094f94b257f9bb5ac5f8e26bf90b","path":"assets/script/game/hero/MonMove.ts","line_range":"10-50","gmt_create":"2025-10-30T16:42:57.9435547+08:00","gmt_modified":"2025-10-30T16:42:57.9435547+08:00"},{"id":"97dd7cb1437b0deada8a423ff9d0a3c0","path":"assets/script/game/hero/Mon.ts","line_range":"1-131","gmt_create":"2025-10-30T16:45:33.8952188+08:00","gmt_modified":"2025-10-30T16:45:33.8952188+08:00"},{"id":"d229946e48686c4029f2b0f4d22e28eb","path":"assets/script/game/hero/HeroAttrsComp.ts","line_range":"7-380","gmt_create":"2025-10-30T16:45:33.9029259+08:00","gmt_modified":"2025-10-30T16:45:33.9029259+08:00"},{"id":"e825ddd3a2e02f35e33185cf7c0eea54","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"24-404","gmt_create":"2025-10-30T16:45:33.910116+08:00","gmt_modified":"2025-10-30T16:45:33.910116+08:00"},{"id":"b61a51edad788bf23b35731e3bc0288a","path":"assets/script/game/hero/MonMove.ts","line_range":"8-22","gmt_create":"2025-10-30T16:45:33.9149858+08:00","gmt_modified":"2025-10-30T16:45:33.9149858+08:00"},{"id":"b92b5b6e8fd59c3b1d082e7980149cd6","path":"assets/script/game/hero/Hero.ts","line_range":"1-100","gmt_create":"2025-10-30T16:45:48.0656721+08:00","gmt_modified":"2025-10-30T16:45:48.0656721+08:00"},{"id":"4a3035a4bc66acda36135eafcbf6b04f","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"1-100","gmt_create":"2025-10-30T16:45:48.0723151+08:00","gmt_modified":"2025-10-30T16:45:48.0723151+08:00"},{"id":"3dd06df83ac52ee92aabc8b62fc7af80","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"1-50","gmt_create":"2025-10-30T16:45:48.07741+08:00","gmt_modified":"2025-10-30T16:45:48.07741+08:00"},{"id":"0e6fd0bfa97a04ddb2eb75d7659bc9b5","path":"assets/script/game/hero/TalComp.ts","line_range":"1-50","gmt_create":"2025-10-30T16:45:48.0825127+08:00","gmt_modified":"2025-10-30T16:45:48.0825127+08:00"},{"id":"d6185715e4dc3da697f7f904d20776eb","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"15-100","gmt_create":"2025-10-30T16:45:48.0875294+08:00","gmt_modified":"2025-10-30T16:45:48.0875294+08:00"},{"id":"0503d23d509141b68ba9c8a083b226fb","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"200-400","gmt_create":"2025-10-30T16:45:48.0930432+08:00","gmt_modified":"2025-10-30T16:45:48.0930432+08:00"},{"id":"d320d5d9ff6bb4d688ab0a585f154033","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"1-546","gmt_create":"2025-10-30T16:45:48.0968101+08:00","gmt_modified":"2025-10-30T16:45:48.0968101+08:00"},{"id":"161d81621259092d4df6ce60b1d8705c","path":"assets/script/game/common/config/SkillSet.ts","line_range":"80-148","gmt_create":"2025-10-30T16:45:48.1007988+08:00","gmt_modified":"2025-10-30T16:45:48.1007988+08:00"},{"id":"e9d29edbee644d4e6499a384a2c45062","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"1-271","gmt_create":"2025-10-30T16:45:48.1062075+08:00","gmt_modified":"2025-10-30T16:45:48.1062075+08:00"},{"id":"9093043de0ce7533097365171f7b7775","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"100-150","gmt_create":"2025-10-30T16:45:48.109276+08:00","gmt_modified":"2025-10-30T16:45:48.109276+08:00"},{"id":"39d6e62993a620fa1d4dcb912a5f4e42","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"200-250","gmt_create":"2025-10-30T16:45:48.1132728+08:00","gmt_modified":"2025-10-30T16:45:48.1132728+08:00"},{"id":"29e61dc85784fcc38b2a173185a093ce","path":"assets/script/game/common/config/SkillSet.ts","line_range":"1-148","gmt_create":"2025-10-30T16:45:48.1184992+08:00","gmt_modified":"2025-10-30T16:45:48.1184992+08:00"},{"id":"bcbe4279c4dafbd3aa06ba70a1d55be7","path":"assets/script/game/common/config/TalSet.ts","line_range":"10-50","gmt_create":"2025-10-30T16:45:48.1230029+08:00","gmt_modified":"2025-10-30T16:45:48.1230029+08:00"},{"id":"2644d10cdf37a9aa395440af060da1aa","path":"assets/script/game/hero/TalComp.ts","line_range":"15-40","gmt_create":"2025-10-30T16:45:48.1276047+08:00","gmt_modified":"2025-10-30T16:45:48.1276047+08:00"},{"id":"9d9799c43d04cc8d1c5a1f16df941514","path":"assets/script/game/hero/TalComp.ts","line_range":"120-170","gmt_create":"2025-10-30T16:45:48.1320449+08:00","gmt_modified":"2025-10-30T16:45:48.1320449+08:00"},{"id":"ca3eddec42d987a2bd9bd5066cb1b5b8","path":"assets/script/game/common/config/TalSet.ts","line_range":"1-116","gmt_create":"2025-10-30T16:45:48.1366045+08:00","gmt_modified":"2025-10-30T16:45:48.1366045+08:00"},{"id":"0f7b0d870914bc9d1a9fa53acd135caa","path":"assets/script/game/hero/TalComp.ts","line_range":"1-171","gmt_create":"2025-10-30T16:45:48.1410043+08:00","gmt_modified":"2025-10-30T16:45:48.1410043+08:00"},{"id":"22f7227cfb6dcdc2321347afa39681ec","path":"assets/script/game/hero/HeroAttrsComp.ts","line_range":"80-120","gmt_create":"2025-10-30T16:45:48.1455077+08:00","gmt_modified":"2025-10-30T16:45:48.1455077+08:00"},{"id":"329102cdd33e7b4eec0ce90633e948f5","path":"assets/script/game/hero/HeroAttrsComp.ts","line_range":"400-500","gmt_create":"2025-10-30T16:45:48.14992+08:00","gmt_modified":"2025-10-30T16:45:48.14992+08:00"},{"id":"d0e1cb2c70cf779f035ce3c4bb0f9e92","path":"assets/script/game/hero/HeroAttrsComp.ts","line_range":"1-489","gmt_create":"2025-10-30T16:45:48.1544187+08:00","gmt_modified":"2025-10-30T16:45:48.1544187+08:00"},{"id":"8b5422aa2f9fb766c446b2d6805fa0e3","path":"assets/script/game/hero/BuffComp.ts","line_range":"1-213","gmt_create":"2025-10-30T16:45:48.1588423+08:00","gmt_modified":"2025-10-30T16:45:48.1588423+08:00"},{"id":"c60ea10afe5d06f5de8ba165a5e91cbe","path":"assets/script/game/hero/Hero.ts","line_range":"15-35","gmt_create":"2025-10-30T16:45:48.1636303+08:00","gmt_modified":"2025-10-30T16:45:48.1636303+08:00"},{"id":"bbcd5d3c5dae635e1f9819c06e979ec5","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"15-30","gmt_create":"2025-10-30T16:45:48.1682364+08:00","gmt_modified":"2025-10-30T16:45:48.1682364+08:00"},{"id":"fc448939cb4509f6a65dbd1820228176","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"50-100","gmt_create":"2025-10-30T16:45:48.1738794+08:00","gmt_modified":"2025-10-30T16:45:48.1738794+08:00"},{"id":"9954355fd6971436738b2867bb7697ff","path":"assets/script/game/common/config/HeroAttrs.ts","line_range":"500-546","gmt_create":"2025-10-30T16:45:48.178383+08:00","gmt_modified":"2025-10-30T16:45:48.178383+08:00"},{"id":"1da9f845ce4bee715b8554745dce9bcd","path":"assets/script/game/hero/TalComp.ts","line_range":"100-170","gmt_create":"2025-10-30T16:45:48.1829448+08:00","gmt_modified":"2025-10-30T16:45:48.1829448+08:00"},{"id":"f450eb8e47e44acc53108dfb02fbe9a8","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"50-271","gmt_create":"2025-10-30T16:45:48.1868584+08:00","gmt_modified":"2025-10-30T16:45:48.1868584+08:00"},{"id":"4e4c00dafa0c7111cf32c42ac1087240","path":"assets/script/game/hero/TalComp.ts","line_range":"100-171","gmt_create":"2025-10-30T16:45:48.1914395+08:00","gmt_modified":"2025-10-30T16:45:48.1914395+08:00"},{"id":"7fbc2cbc62292f0a01ac71bb5430dc29","path":"assets/script/game/hero/HeroAtk.ts","line_range":"1-247","gmt_create":"2025-10-30T16:45:48.1953632+08:00","gmt_modified":"2025-10-30T16:45:48.1953632+08:00"},{"id":"f95f3d8abaf76642280be8e804fd3d54","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"200-300","gmt_create":"2025-10-30T16:45:48.1999507+08:00","gmt_modified":"2025-10-30T16:45:48.1999507+08:00"},{"id":"e5c3599d058d7a9d64e3e220e24a7424","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"1-50","gmt_create":"2025-10-30T16:46:15.4750994+08:00","gmt_modified":"2025-10-30T16:46:15.4750994+08:00"},{"id":"39756328458b12afe4005e331e32f68c","path":"\\assets\\script\\game\\map\\GameMap.ts","line_range":"1-35","gmt_create":"2025-10-30T16:46:15.4795245+08:00","gmt_modified":"2025-10-30T16:46:15.4795245+08:00"},{"id":"bebc095d9ad6e5f82387a1589bb8d294","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"1-173","gmt_create":"2025-10-30T16:46:15.4868548+08:00","gmt_modified":"2025-10-30T16:46:15.4868548+08:00"},{"id":"0c3c4d4213af7f98c2a0ccc99fa9ed31","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"31-31","gmt_create":"2025-10-30T16:46:15.4942834+08:00","gmt_modified":"2025-10-30T16:46:15.4942834+08:00"},{"id":"3298d59401f2130668af1e588432d8c7","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"18-20","gmt_create":"2025-10-30T16:46:15.499403+08:00","gmt_modified":"2025-10-30T16:46:15.499403+08:00"},{"id":"ae9b8f006b0fed0ede787e8083501356","path":"\\assets\\script\\game\\common\\config\\heroSet.ts","line_range":"20-215","gmt_create":"2025-10-30T16:46:15.5066442+08:00","gmt_modified":"2025-10-30T16:46:15.5066442+08:00"},{"id":"538ed4247a027ea7ea0bdab3dab40cb9","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"95-173","gmt_create":"2025-10-30T16:46:15.5132066+08:00","gmt_modified":"2025-10-30T16:46:15.5132066+08:00"},{"id":"ceb769e34204427a411dc6d3ed10f704","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"35-40","gmt_create":"2025-10-30T16:46:15.518773+08:00","gmt_modified":"2025-10-30T16:46:15.518773+08:00"},{"id":"0089c28a4682db1f0bbb702e868ff510","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"45-56","gmt_create":"2025-10-30T16:46:15.5248621+08:00","gmt_modified":"2025-10-30T16:46:15.5248621+08:00"},{"id":"e226bc8a329163b5abcb59dc0a43000f","path":"\\assets\\script\\game\\map\\RogueConfig.ts","line_range":"69-73","gmt_create":"2025-10-30T16:46:15.5303074+08:00","gmt_modified":"2025-10-30T16:46:15.5303074+08:00"},{"id":"301ed578267d355350772506438a26b0","path":"\\assets\\script\\game\\map\\GameMap.ts","line_range":"20-35","gmt_create":"2025-10-30T16:46:15.5364034+08:00","gmt_modified":"2025-10-30T16:46:15.5364034+08:00"},{"id":"bf584562c45f7dc7f6b3ea480e26904b","path":"\\assets\\script\\game\\map\\GameMap.ts","line_range":"25-35","gmt_create":"2025-10-30T16:46:15.5424133+08:00","gmt_modified":"2025-10-30T16:46:15.5424133+08:00"},{"id":"831735607a7949f6d29be7acb8b14e18","path":"assets/script/game/hero/EBusComp.ts","line_range":"6-89","gmt_create":"2025-10-30T16:47:39.9273518+08:00","gmt_modified":"2025-10-30T16:47:39.9273518+08:00"},{"id":"0ebf1193638775951b26a38b6d2eafb1","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"1-195","gmt_create":"2025-10-30T16:48:12.7947496+08:00","gmt_modified":"2025-10-30T16:48:12.7947496+08:00"},{"id":"e056e50a16a017f35868c4a8c284fe88","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"1-272","gmt_create":"2025-10-30T16:48:12.7994128+08:00","gmt_modified":"2025-10-30T16:48:12.7994128+08:00"},{"id":"3ba3aba896ed078adc851c714c1be7f0","path":"assets/script/game/hero/HeroAtk.ts","line_range":"1-248","gmt_create":"2025-10-30T16:48:12.8044634+08:00","gmt_modified":"2025-10-30T16:48:12.8044634+08:00"},{"id":"692da5b5a6ed3fc77a86c816ad804339","path":"assets/script/game/hero/HeroAttrsComp.ts","line_range":"1-380","gmt_create":"2025-10-30T16:48:12.808935+08:00","gmt_modified":"2025-10-30T16:48:12.808935+08:00"},{"id":"91d8b3d6c847a17689ad9de3b324048b","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"1-780","gmt_create":"2025-10-30T16:48:12.8133935+08:00","gmt_modified":"2025-10-30T16:48:12.8133935+08:00"},{"id":"575d3bf4687d4ad9c0c3cf2fa78efbe7","path":"assets/script/game/hero/HeroSkills.ts","line_range":"1-150","gmt_create":"2025-10-30T16:48:12.8351408+08:00","gmt_modified":"2025-10-30T16:48:12.8351408+08:00"},{"id":"468d0ac3397ae6b5e276668c65cd6136","path":"doc/ecs/ecs.md","line_range":"1-357","gmt_create":"2025-10-30T16:48:12.8407777+08:00","gmt_modified":"2025-10-30T16:48:12.8407777+08:00"},{"id":"1435f432b5f932f0668541d3d32c39d2","path":"doc/mvvm/MvvmInfo.md","line_range":"1-52","gmt_create":"2025-10-30T16:48:12.8466278+08:00","gmt_modified":"2025-10-30T16:48:12.8466278+08:00"},{"id":"377fc7e7698f3896b79803b701459130","path":"doc/mvvm/MvvmInfo.md","line_range":"30-51","gmt_create":"2025-10-30T16:48:12.8523004+08:00","gmt_modified":"2025-10-30T16:48:12.8523004+08:00"},{"id":"1a19f76695efdb7033e3a2e1d3127290","path":"assets/script/game/common/SingletonModuleComp.ts","line_range":"80-150","gmt_create":"2025-10-30T16:48:12.8592411+08:00","gmt_modified":"2025-10-30T16:48:12.8592411+08:00"},{"id":"f4cfa11b8a40329f87a85dfaf23fad60","path":"assets/script/game/initialize/Initialize.ts","line_range":"20-207","gmt_create":"2025-10-30T16:48:12.8644357+08:00","gmt_modified":"2025-10-30T16:48:12.8644357+08:00"},{"id":"742ab059e7adda20d002299a833182f3","path":"assets/script/Main.ts","line_range":"15-41","gmt_create":"2025-10-30T16:48:12.8710781+08:00","gmt_modified":"2025-10-30T16:48:12.8710781+08:00"},{"id":"1822d4431b7c3a060f78a770a5782112","path":"assets/script/game/initialize/Initialize.ts","line_range":"20-50","gmt_create":"2025-10-30T16:48:12.8761593+08:00","gmt_modified":"2025-10-30T16:48:12.8761593+08:00"},{"id":"503e23e27fe65de6eeb7c56fe5ddc4e3","path":"doc/ecs/ecs.md","line_range":"1-27","gmt_create":"2025-10-30T16:49:01.0864486+08:00","gmt_modified":"2025-10-30T16:49:01.0864486+08:00"},{"id":"58f6a49092329cd55765c02bef96b3fe","path":"assets/script/game/common/ecs/position/BattleMoveComp.ts","line_range":"1-16","gmt_create":"2025-10-30T16:49:01.0912275+08:00","gmt_modified":"2025-10-30T16:49:01.0912275+08:00"},{"id":"649583c23b84573bf01fa0a6e45050b6","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"1-50","gmt_create":"2025-10-30T16:49:01.0952289+08:00","gmt_modified":"2025-10-30T16:49:01.0952289+08:00"},{"id":"79b9f349d3439ba6a9f699ddbd7bfe67","path":"assets/script/game/map/model/MapModelComp.ts","line_range":"1-43","gmt_create":"2025-10-30T16:49:01.0997366+08:00","gmt_modified":"2025-10-30T16:49:01.0997366+08:00"},{"id":"83bf0b301874e0db34533faf1134f6d5","path":"doc/ecs/ecs.md","line_range":"45-87","gmt_create":"2025-10-30T16:49:01.1053713+08:00","gmt_modified":"2025-10-30T16:49:01.1053713+08:00"},{"id":"4e8e48b1a6d1857b23f54881016d0d19","path":"doc/ecs/ecs.md","line_range":"15-45","gmt_create":"2025-10-30T16:49:01.1112276+08:00","gmt_modified":"2025-10-30T16:49:01.1112276+08:00"},{"id":"f188469f59565d980ccea7c338cd76ef","path":"doc/ecs/ecs.md","line_range":"29-87","gmt_create":"2025-10-30T16:49:01.116242+08:00","gmt_modified":"2025-10-30T16:49:01.116242+08:00"},{"id":"21c219252bfd5a49adaf2aad4e8942a1","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"1-50","gmt_create":"2025-10-30T16:49:01.1225723+08:00","gmt_modified":"2025-10-30T16:49:01.1225723+08:00"},{"id":"aac08bcae13d06e149ea532343265203","path":"assets/script/game/common/ecs/position/EcsPositionSystem.ts","line_range":"1-9","gmt_create":"2025-10-30T16:49:01.1271359+08:00","gmt_modified":"2025-10-30T16:49:01.1271359+08:00"},{"id":"30dcf960f65615a73078e7fc06036ec2","path":"doc/ecs/ecs.md","line_range":"88-128","gmt_create":"2025-10-30T16:49:01.1311092+08:00","gmt_modified":"2025-10-30T16:49:01.1311092+08:00"},{"id":"2c36cf2710db8093624b243cebc8eb33","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"10-30","gmt_create":"2025-10-30T16:49:01.1356795+08:00","gmt_modified":"2025-10-30T16:49:01.1356795+08:00"},{"id":"bef6eb571d4927935764e1711ad73448","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"1-272","gmt_create":"2025-10-30T16:49:01.1389944+08:00","gmt_modified":"2025-10-30T16:49:01.1389944+08:00"},{"id":"07acee9e68040f2fcfe5ac4453f15286","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"10-20","gmt_create":"2025-10-30T16:49:01.1441342+08:00","gmt_modified":"2025-10-30T16:49:01.1441342+08:00"},{"id":"36b9860cc0980fceaa482fdd9e6e3182","path":"assets/script/game/common/ecs/position/BattleMoveComp.ts","line_range":"4-12","gmt_create":"2025-10-30T16:49:01.1481555+08:00","gmt_modified":"2025-10-30T16:49:01.1481555+08:00"},{"id":"ca8cc3f3a28c17fcc70cfb1bdde094ed","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","line_range":"15-272","gmt_create":"2025-10-30T16:49:01.1526763+08:00","gmt_modified":"2025-10-30T16:49:01.1526763+08:00"},{"id":"79c62a7448f130760da2878580960ce5","path":"assets/script/game/hero/HeroViewComp.ts","line_range":"60-120","gmt_create":"2025-10-30T16:49:01.1577889+08:00","gmt_modified":"2025-10-30T16:49:01.1577889+08:00"},{"id":"7c58a3ed69bb5960d14fe7feb02ee902","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"17-29","gmt_create":"2025-10-30T16:49:01.1636479+08:00","gmt_modified":"2025-10-30T16:49:01.1636479+08:00"},{"id":"3095954cbc2f07f34054667b72bddaa3","path":"assets/script/game/hero/HeroSkills.ts","line_range":"1-200","gmt_create":"2025-10-30T16:49:01.1698208+08:00","gmt_modified":"2025-10-30T16:49:01.1698208+08:00"},{"id":"f923a00cda6749b0c3eb1571c7dc1bb8","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"47-271","gmt_create":"2025-10-30T16:49:01.1749369+08:00","gmt_modified":"2025-10-30T16:49:01.1749369+08:00"},{"id":"ae97e33da377d978dc89ae2ef677614b","path":"assets/script/game/hero/HSkillSystem.ts","line_range":"47-171","gmt_create":"2025-10-30T16:49:01.1808782+08:00","gmt_modified":"2025-10-30T16:49:01.1808782+08:00"},{"id":"73facd28782fd96f64a7f0120cf783e5","path":"assets/script/game/hero/HeroAtk.ts","line_range":"18-247","gmt_create":"2025-10-30T16:49:01.1870297+08:00","gmt_modified":"2025-10-30T16:49:01.1870297+08:00"},{"id":"ff82f887016994dfafca6635fe75ad51","path":"doc/ecs/ecs.md","line_range":"129-272","gmt_create":"2025-10-30T16:49:01.1920696+08:00","gmt_modified":"2025-10-30T16:49:01.1920696+08:00"}],"commits":[{"id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","message":"feat(怪物系统): 重构怪物生成逻辑并添加多种怪物类型","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":"166200af73e0d105a939a35ef32facab9fef8d21","message":"刷怪 未完成","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"bdcc606e022e2345cc62d490d320dba111324338","message":"refactor(hero): 将is_atking状态从HeroViewComp移到HeroAttrsComp","gmt_create":"2025-10-30T16:40:05.0346935+08:00","gmt_modified":"2025-10-30T16:40:05.0346935+08:00"},{"id":"40e0086be310fb0dd254073af0f67625d48805de","message":"refactor(hero): 移除SkillConComp并添加ECS系统注册装饰器","gmt_create":"2025-10-30T16:40:05.0475645+08:00","gmt_modified":"2025-10-30T16:40:05.0475645+08:00"},{"id":"56f45a7bb48c2bec48bc131e174d386fa419ee2d","message":"fix(hero): 修复实体销毁时可能出现的空引用问题","gmt_create":"2025-10-30T16:41:05.5106235+08:00","gmt_modified":"2025-10-30T16:41:05.5106235+08:00"},{"id":"e3bdc4b23804946b0d0887fda03e87ce5a623812","message":"重构怪物属性系统,移除MonAttrsComp并替换为HeroAttrsComp。更新相关组件和系统以适应新属性结构,确保怪物逻辑与英雄逻辑一致。","gmt_create":"2025-10-30T16:42:58.0834713+08:00","gmt_modified":"2025-10-30T16:42:58.0834713+08:00"},{"id":"edb7f23918dac1c3a9cc2e79d20399066a694e1b","message":"feat(怪物系统): 重构怪物类型与属性计算系统","gmt_create":"2025-10-30T16:42:58.0927948+08:00","gmt_modified":"2025-10-30T16:42:58.0927948+08:00"},{"id":"2d358e450d7ac560f939a22f1d18b626dee6bfb7","message":"战斗系统 重构继续","gmt_create":"2025-10-30T16:45:34.298314+08:00","gmt_modified":"2025-10-30T16:45:34.298314+08:00"},{"id":"55646c3a117fa6ec4eeec9930e25e92ff96c1340","message":"refactor(英雄系统): 拆分通用移动组件为专属的英雄和怪物移动系统","gmt_create":"2025-10-30T16:45:34.3090777+08:00","gmt_modified":"2025-10-30T16:45:34.3090777+08:00"},{"id":"a79cb9f35de528d8873e341ad1b72bd0b6dee1ca","message":"角色视图 数据逻辑 依ecs 框架进行重构","gmt_create":"2025-10-30T16:45:34.3266075+08:00","gmt_modified":"2025-10-30T16:45:34.3266075+08:00"},{"id":"1281cbd32dbdd7534aa49210157013a8bbd771e4","message":"feat(HeroAtkSystem): Integrate visual feedback for attack and death events","gmt_create":"2025-10-30T16:45:48.6942782+08:00","gmt_modified":"2025-10-30T16:45:48.6942782+08:00"},{"id":"29e8b7e8e7b33359fdff54e0306b2b63f5f94ee6","message":"refactor(HeroViewComp): Simplify attack logic and clean up imports","gmt_create":"2025-10-30T16:45:48.7079284+08:00","gmt_modified":"2025-10-30T16:45:48.7079284+08:00"},{"id":"7984f8b7845d3598a0b121fff865aee41c795e55","message":"refactor(技能系统): 添加系统注册和调试日志","gmt_create":"2025-10-30T16:48:13.15061+08:00","gmt_modified":"2025-10-30T16:48:13.15061+08:00"}],"knowledge_relations":[{"id":651,"source_id":"ce758bd8-63d4-4310-970a-f114806cf58f","target_id":"68c7aa0d-0239-4a0a-bb01-23a314c4d907","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ce758bd8-63d4-4310-970a-f114806cf58f -\u003e 68c7aa0d-0239-4a0a-bb01-23a314c4d907","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":652,"source_id":"ce758bd8-63d4-4310-970a-f114806cf58f","target_id":"0753c0f6-8ca3-4750-987c-a7e9c4e98fa5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ce758bd8-63d4-4310-970a-f114806cf58f -\u003e 0753c0f6-8ca3-4750-987c-a7e9c4e98fa5","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":653,"source_id":"ce758bd8-63d4-4310-970a-f114806cf58f","target_id":"0edfc1fa-7664-450e-8df9-4716551f66fc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ce758bd8-63d4-4310-970a-f114806cf58f -\u003e 0edfc1fa-7664-450e-8df9-4716551f66fc","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":654,"source_id":"ce758bd8-63d4-4310-970a-f114806cf58f","target_id":"0a616c1a-4c88-4bd3-b58b-e72bbb029478","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ce758bd8-63d4-4310-970a-f114806cf58f -\u003e 0a616c1a-4c88-4bd3-b58b-e72bbb029478","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":655,"source_id":"ce758bd8-63d4-4310-970a-f114806cf58f","target_id":"476d9c2c-ef20-4996-a1d3-b455828fc2cb","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ce758bd8-63d4-4310-970a-f114806cf58f -\u003e 476d9c2c-ef20-4996-a1d3-b455828fc2cb","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":656,"source_id":"f5ce2e23-02b8-4fab-919d-f9da054816e7","target_id":"d0ae006a-5d7b-4dd6-b8cf-45e95517f49e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f5ce2e23-02b8-4fab-919d-f9da054816e7 -\u003e d0ae006a-5d7b-4dd6-b8cf-45e95517f49e","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":657,"source_id":"f5ce2e23-02b8-4fab-919d-f9da054816e7","target_id":"d8018a0c-35da-4399-ade0-344c6546c1e1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f5ce2e23-02b8-4fab-919d-f9da054816e7 -\u003e d8018a0c-35da-4399-ade0-344c6546c1e1","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":658,"source_id":"f5ce2e23-02b8-4fab-919d-f9da054816e7","target_id":"5ff539bb-a8a8-4da8-b428-a8acc7023ddf","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f5ce2e23-02b8-4fab-919d-f9da054816e7 -\u003e 5ff539bb-a8a8-4da8-b428-a8acc7023ddf","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":659,"source_id":"74c2a01d-9c65-4b00-9f68-1f26c774b502","target_id":"b05b4ba4-f89f-45bc-8f51-10f616f331d6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 74c2a01d-9c65-4b00-9f68-1f26c774b502 -\u003e b05b4ba4-f89f-45bc-8f51-10f616f331d6","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":660,"source_id":"74c2a01d-9c65-4b00-9f68-1f26c774b502","target_id":"c42becd1-1e7c-48a4-a491-d88e6b9415e7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 74c2a01d-9c65-4b00-9f68-1f26c774b502 -\u003e c42becd1-1e7c-48a4-a491-d88e6b9415e7","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":661,"source_id":"74c2a01d-9c65-4b00-9f68-1f26c774b502","target_id":"d55f9500-10d9-4ceb-9553-3383374f2411","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 74c2a01d-9c65-4b00-9f68-1f26c774b502 -\u003e d55f9500-10d9-4ceb-9553-3383374f2411","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":662,"source_id":"74c2a01d-9c65-4b00-9f68-1f26c774b502","target_id":"54c24c05-bd0a-46fb-b8be-e4589992bbff","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 74c2a01d-9c65-4b00-9f68-1f26c774b502 -\u003e 54c24c05-bd0a-46fb-b8be-e4589992bbff","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":669,"source_id":"0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502","target_id":"74aea229-6093-494c-b3da-5b31a8b44b83","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502 -\u003e 74aea229-6093-494c-b3da-5b31a8b44b83","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":670,"source_id":"0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502","target_id":"f52e6203-7b65-4f1c-a779-bb820bc67dc1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502 -\u003e f52e6203-7b65-4f1c-a779-bb820bc67dc1","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":671,"source_id":"0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502","target_id":"9e222a97-102c-488c-aeb7-b3bfd56ed0bc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502 -\u003e 9e222a97-102c-488c-aeb7-b3bfd56ed0bc","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":672,"source_id":"9b98417e-b959-41b8-9b33-3f09a3c6e7f8","target_id":"e1337aec-53ba-485d-8542-214a9132ced7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 9b98417e-b959-41b8-9b33-3f09a3c6e7f8 -\u003e e1337aec-53ba-485d-8542-214a9132ced7","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":673,"source_id":"9b98417e-b959-41b8-9b33-3f09a3c6e7f8","target_id":"0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 9b98417e-b959-41b8-9b33-3f09a3c6e7f8 -\u003e 0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":674,"source_id":"9b98417e-b959-41b8-9b33-3f09a3c6e7f8","target_id":"8d9bdf13-5d35-484e-85b9-45e1564db17a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 9b98417e-b959-41b8-9b33-3f09a3c6e7f8 -\u003e 8d9bdf13-5d35-484e-85b9-45e1564db17a","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":675,"source_id":"a1f371ae-7932-49ad-bdbc-7ab351f7ceae","target_id":"bb021f57-d588-4add-90ca-8aa59402e235","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a1f371ae-7932-49ad-bdbc-7ab351f7ceae -\u003e bb021f57-d588-4add-90ca-8aa59402e235","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":676,"source_id":"a1f371ae-7932-49ad-bdbc-7ab351f7ceae","target_id":"d0483e35-d406-4f1c-83ba-4bc0b877aace","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a1f371ae-7932-49ad-bdbc-7ab351f7ceae -\u003e d0483e35-d406-4f1c-83ba-4bc0b877aace","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":677,"source_id":"a1f371ae-7932-49ad-bdbc-7ab351f7ceae","target_id":"6cdc1115-dfaf-4d2c-bb97-98e698570c4a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a1f371ae-7932-49ad-bdbc-7ab351f7ceae -\u003e 6cdc1115-dfaf-4d2c-bb97-98e698570c4a","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":678,"source_id":"a1f371ae-7932-49ad-bdbc-7ab351f7ceae","target_id":"5753f756-772f-4935-ae74-3b794860b54b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a1f371ae-7932-49ad-bdbc-7ab351f7ceae -\u003e 5753f756-772f-4935-ae74-3b794860b54b","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":679,"source_id":"98371f14-f893-4a42-865a-1beed2cbabab","target_id":"0dcdc99a-fd54-4d72-9374-4f2f62a9fbb6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98371f14-f893-4a42-865a-1beed2cbabab -\u003e 0dcdc99a-fd54-4d72-9374-4f2f62a9fbb6","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":680,"source_id":"98371f14-f893-4a42-865a-1beed2cbabab","target_id":"8da4103c-cf95-4fb9-aa39-3a07d72b1532","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98371f14-f893-4a42-865a-1beed2cbabab -\u003e 8da4103c-cf95-4fb9-aa39-3a07d72b1532","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":681,"source_id":"0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e","target_id":"a8799a57-1034-4595-abdd-5c21f7df4b98","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e -\u003e a8799a57-1034-4595-abdd-5c21f7df4b98","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":682,"source_id":"0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e","target_id":"77706255-7be3-4645-979d-4da2019f1590","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e -\u003e 77706255-7be3-4645-979d-4da2019f1590","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":683,"source_id":"0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e","target_id":"4c8635b4-92b6-4095-b6e2-c641a51649d1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e -\u003e 4c8635b4-92b6-4095-b6e2-c641a51649d1","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":684,"source_id":"0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e","target_id":"bb46132a-9b3d-4964-a500-ca93cf5eecf1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e -\u003e bb46132a-9b3d-4964-a500-ca93cf5eecf1","gmt_create":"2025-10-28T11:34:06+08:00","gmt_modified":"2025-10-28T11:34:06+08:00"},{"id":699,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"f1792db4ad8d94789b11cde132a58c15","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-151","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":701,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"5c8708ef78c4ca548eb2ce6b279b75ed","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-75","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":703,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"3278c84d1eb6aecf068fb57c66f64e3e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-41","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":705,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9bb3b0d6ae62d8a89e6d6bea191fac71","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-151","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":707,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"7232a510e1fe5bf4baa29606d55a732a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-41","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":709,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"f94423bec96eddd2f3f51c41a5654881","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-75","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":711,"source_id":"55b95d946e8311cf4b51347c35fdd239","target_id":"72c29ea9fe1fd4c7e9189677fcfbd707","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-81","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":713,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-240","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":715,"source_id":"1ef3de5b733336220af07558e8524092","target_id":"19937d9863d6462cde11b752a8cdb27e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-60","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":717,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"d56b3ca6bf1962fb60a5651241006c2c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-47","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":719,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"546c749070d5836e4b3fae2548a9895a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-544","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":721,"source_id":"f0a95fd5b8d3a53b53f9b1fab22c4892","target_id":"8d5ff907f0988cbdb88574bf8d540aed","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 68-114","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":723,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"312cd7280aa8d1ccd62d755d701c9fe5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-50","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":725,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"75dff503ca30d0964e43596822727ce2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 80-95","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":727,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"6af28cda4e019cc7dc14e024f099de35","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-40","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":729,"source_id":"55b95d946e8311cf4b51347c35fdd239","target_id":"947e5b1ccf20c4a4e3fde389b032aff6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-30","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":731,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"205893a617207b5b5300d1c459ccfa82","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-60","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":733,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"86a8863611343f013419fb6c5f486237","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 279-310","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":735,"source_id":"a179921633204a04508698cabd51dc3f","target_id":"4f7c15d2dbfd4808706252c0e0196d6c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-36","gmt_create":"2025-10-29T16:45:27+08:00","gmt_modified":"2025-10-29T16:45:27+08:00"},{"id":743,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"45d35e995fd12eac98563d1f52f29c60","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":745,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"bc5b41b084fa2c3300df5c9ae6ea209d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-40","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":747,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"d6a5fee55d8026bdae651866b55a6ceb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-173","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":749,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"b43e37e7d31c36e32b39d1e989faa564","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":751,"source_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","target_id":"20993cd959ec406c9fc95cb4c9e6bb40","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-35","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":753,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"1442be86a13f6fb82799c2fb135a5fbc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-31","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":755,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"be1c3f7acfda1fb5cab3d04092e92aef","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-20","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":757,"source_id":"71296acfa18eb254aad4a491a38a0eeb","target_id":"0dc975b996cbf540896bca917461e40b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-215","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":759,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 95-173","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":761,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"271e91a8467b8c4327d0a28bc8f7dc32","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-40","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":763,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"961d1d50dc5e36b4a50c34b9e3380a39","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-56","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":765,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"ede8bf9e076d0cf971b1f8255da908df","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 69-73","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":767,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"9538a29efbb0c28a5ae3cb1e7b3a60e6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 102-136","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":769,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"48aa606e2a65a47fa62613c913befb09","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-85","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":771,"source_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","target_id":"e985a0cbfbcce38c9be0d4d9591857b6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-35","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":774,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"58091848c95da91e8187a42ab636c9b8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 75-95","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":776,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"74629278d6d37cd0737ef8522248a611","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-50","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":794,"source_id":"cb84194ad3ff858116a2e22ef24edf68","target_id":"b44dd9330329d4f79260ce7b269c687f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-42","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":796,"source_id":"d7ee26dbb506f5bd77891b9f9e5fe619","target_id":"0732b42f7e0c66b58c71a549fb9ba36d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-44","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":798,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"847d14c7aff3114c46bc65a0aa7b4180","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-310","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":800,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"2c0b6d3ac7326428001e915dfad04fda","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-108","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":802,"source_id":"b8eb3238a98a3ea5aaaecf9a1cf9afb2","target_id":"36d0aae654a4ab5cc9c6205c96a73c28","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-76","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":804,"source_id":"22d6ce7ceac7856710c4d644d607e9e1","target_id":"5326fb0ba15856a89e7ceb0a85f5ba18","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-46","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":806,"source_id":"4ac77391af6e46a8f92c32f8328b252c","target_id":"85fb9bcdfda6d8bfd0a45798014e4d1b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-38","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":808,"source_id":"369370e14074b4e928913799f4a8034c","target_id":"f160c7f4a5c15627d79ed49ca194b3ee","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-47","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":811,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 79-88","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":813,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"4af410d9512c22ea1700b1ed40f45a38","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-60","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":816,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"ecb69f21af2c0a9ca39b58589047c2ce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-25","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":818,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"25662ed6c41a80693fb7a3d396d0da7d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 177-191","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":820,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"fc32e6130be7a1ba4d058a3ad1364222","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 61-108","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":822,"source_id":"b916aeaa6d2fbb6527e057fe2674a98b","target_id":"4c5b7fc60d7644b2b51f5c105d03003b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-11","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":824,"source_id":"aa984e214033ea289198ab72ee72ecce","target_id":"9f9d6e57f8784e13a3b01a9f224eb81d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-29","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":826,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"3afb16f8d81e36bba305ab123b824da7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-239","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":828,"source_id":"71296acfa18eb254aad4a491a38a0eeb","target_id":"83e8b4c0b27ff843dbeb86a5227092f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-151","gmt_create":"2025-10-29T16:45:54+08:00","gmt_modified":"2025-10-29T16:45:54+08:00"},{"id":838,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"7d4659e3f4037ac293718bb2acc03e23","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-88","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":840,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"2d101fe07b03aadbe1b5dbfcf26de5ae","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 72-778","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":842,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"df3805ee6cf63b4ad2dec695168605ba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-58","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":846,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"e1edd04a4bd4d235e1b7cf47d8e5d4dd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-271","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":848,"source_id":"1bdf0135febf814703a132d4fafd505c","target_id":"edd870772e59d6103353d2b4af4ff406","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-15","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":850,"source_id":"71296acfa18eb254aad4a491a38a0eeb","target_id":"a4af501ccb4b798ce6e4446b283ef35c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 60-152","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":852,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"d0de087696f83e63e9158e0f0edf6842","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-10","gmt_create":"2025-10-29T16:47:32+08:00","gmt_modified":"2025-10-29T16:47:32+08:00"},{"id":854,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"531fec51305c0d692e33d02a84e83e2e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-50","gmt_create":"2025-10-29T16:47:32+08:00","gmt_modified":"2025-10-29T16:47:32+08:00"},{"id":856,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"07f8913ce2d72e8a58de070f0f32c097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":857,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"8c384aae8f912ab9228f0ad8185f7977","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/VictoryComp.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":858,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"55b95d946e8311cf4b51347c35fdd239","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHeroComp.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":859,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":860,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"76d8975e90e717d01c6dd43c3696f63b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":861,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"149ad16f650a03be2be72bfdcb3a8ff2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameEvent.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":862,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"a179921633204a04508698cabd51dc3f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameUIConfig.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":863,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":864,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":865,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"9bb3b0d6ae62d8a89e6d6bea191fac71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#15-151","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":866,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"b803464f63cf7bdefea90d1bde317179","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#15-75","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":867,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"b803464f63cf7bdefea90d1bde317179","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-75","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":868,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"91d725f6202f7ba0231f1738bf3667b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#12-81","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":869,"source_id":"55b95d946e8311cf4b51347c35fdd239","target_id":"91d725f6202f7ba0231f1738bf3667b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-81","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":870,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"84452177be5d44a04a15be16121b2ee0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#15-240","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":871,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"84452177be5d44a04a15be16121b2ee0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-240","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":872,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"b7311385fba4b280d656ebc84fa6f3d4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHomeComp.ts#12-54","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":873,"source_id":"76d8975e90e717d01c6dd43c3696f63b","target_id":"b7311385fba4b280d656ebc84fa6f3d4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-54","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":874,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"ec0bf85d49105c08ed9c5a2751888915","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#25-195","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":875,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"ec0bf85d49105c08ed9c5a2751888915","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-195","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":876,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"f1792db4ad8d94789b11cde132a58c15","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#1-151","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":877,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"5c8708ef78c4ca548eb2ce6b279b75ed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#1-75","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":878,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"72c29ea9fe1fd4c7e9189677fcfbd707","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#1-81","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":879,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-240","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":880,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"d4e4bdea8e072773032e6f30ebce57f6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHomeComp.ts#1-54","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":881,"source_id":"76d8975e90e717d01c6dd43c3696f63b","target_id":"d4e4bdea8e072773032e6f30ebce57f6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-54","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":882,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"9e0c68e50c643d5f7af407756d6adfce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#32-35","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":883,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9e0c68e50c643d5f7af407756d6adfce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-35","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":884,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"365e75c0bf2b76926c4223cb137c3028","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameEvent.ts#40-41","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":885,"source_id":"149ad16f650a03be2be72bfdcb3a8ff2","target_id":"365e75c0bf2b76926c4223cb137c3028","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-41","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":886,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"0a9b317310869ff6fdc9e9e59b553d73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameUIConfig.ts#12-13","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":887,"source_id":"a179921633204a04508698cabd51dc3f","target_id":"0a9b317310869ff6fdc9e9e59b553d73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-13","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":888,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"c9a38e9eae1cbfa5fe601fab3febad56","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#55-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":889,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"c9a38e9eae1cbfa5fe601fab3febad56","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 55-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":890,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"099fc495f0332ae0b2d2719b92dec19f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#15-199","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":891,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"099fc495f0332ae0b2d2719b92dec19f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-199","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":892,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"9b6f22f170e6137f879aad6572d4be18","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#47-52","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":893,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9b6f22f170e6137f879aad6572d4be18","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-52","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":894,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"c5fe161d1d347bd0ab30ecefa4f94647","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#47-52","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":895,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"c5fe161d1d347bd0ab30ecefa4f94647","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-52","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":896,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"a3f65f0057ec697d390f8df475c04a21","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHomeComp.ts#25-35","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":897,"source_id":"76d8975e90e717d01c6dd43c3696f63b","target_id":"a3f65f0057ec697d390f8df475c04a21","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-35","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":898,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"1442be86a13f6fb82799c2fb135a5fbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#31-31","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":899,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#95-173","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":900,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"5e2bdb9582767e3b3d2662c0d58e8148","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#65-73","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":901,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"5e2bdb9582767e3b3d2662c0d58e8148","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 65-73","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":902,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"549d119d101793b19391ce7b37a146f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#28-42","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":903,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"549d119d101793b19391ce7b37a146f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 28-42","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":904,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"72f760e39feb004d59c86d33671e7e40","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#18-25","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":905,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"72f760e39feb004d59c86d33671e7e40","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-25","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":906,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"05aa73eb4f723f96abe045e46a9fa7b3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#45-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":907,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"05aa73eb4f723f96abe045e46a9fa7b3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":908,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"a203612193e05f2a76dbf9d2a73205e4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#25-45","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":909,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"a203612193e05f2a76dbf9d2a73205e4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-45","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":910,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"9993b9e10feac19ed85b5a03998b61fe","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#130-140","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":911,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"9993b9e10feac19ed85b5a03998b61fe","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 130-140","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":912,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"2f2f29cbf0539f28d076a551ba721dc4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#44-50","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":913,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"2f2f29cbf0539f28d076a551ba721dc4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-50","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":914,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"3abeaf96fae91890c9ddeef80c0dbf61","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#44-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":915,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"3abeaf96fae91890c9ddeef80c0dbf61","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-65","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":916,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"20855fa3c479ba786c9b4102055d35ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#44-75","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":917,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"20855fa3c479ba786c9b4102055d35ad","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-75","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":918,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"ad9fc393dbffdc1f87f168341900906f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#140-151","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":919,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"ad9fc393dbffdc1f87f168341900906f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 140-151","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":920,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"ee971c9c2eba0089530b38ab58776893","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#100-150","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":921,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"ee971c9c2eba0089530b38ab58776893","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 100-150","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":922,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 9dc1126dfed6a3f33c636f55a2869ed17bb9c51c","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":923,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"166200af73e0d105a939a35ef32facab9fef8d21","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 166200af73e0d105a939a35ef32facab9fef8d21","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":937,"source_id":"34840ed043448df3e2d822bfce6f3cd9","target_id":"7e01a78db6d0d1b47f507bcc9a225c5b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-41","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":939,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"f8f423ce39f6aef6484456489dc3d7f0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-207","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":941,"source_id":"46fce2862caa7076385508f79421f313","target_id":"f6204bd47a4ab402fc82502942e8e2ae","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":943,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"11603f48619a420f074e29a9fce83432","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-40","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":945,"source_id":"46fce2862caa7076385508f79421f313","target_id":"93e528ba990fd4b108b47405c34d63ae","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 75-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":947,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"d2047033b4b21ec79418ab611173354f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-207","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":949,"source_id":"46fce2862caa7076385508f79421f313","target_id":"65365d0af6e09e40842dad0d46135fba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 50-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":951,"source_id":"149ad16f650a03be2be72bfdcb3a8ff2","target_id":"b9a7e30eb09bcefd0f401120b7f4ee90","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-70","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":953,"source_id":"134588a5ee3c64b37a2b9e6a9b7a2846","target_id":"cab85760490510ff7b49d6a4cfa68f76","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-44","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":955,"source_id":"11ddf6386c9a1d4eb208723cb69eb4d9","target_id":"77afe4cff7ba3b829ddd89df108e43a8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-91","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":957,"source_id":"513ea52f734ed68f1dc8bad330c8d097","target_id":"a36042df076f59536a7e789c89b09c7e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-39","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":959,"source_id":"3b5310e63f2b7b3bbf3e0852062ce0c3","target_id":"89597afa0c8cea3ee5d848a27f2cfdd6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-109","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":961,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"801a299cee93b05d6ff689b2f9066b4c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-23","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":968,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"bfbf4afa635806338197ae22839e7ddb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-194","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":970,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"f11a94deb1fe186076b31a00340b218b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 0-178","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":983,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"e2bb5632-3005-4d39-bbde-dcac420c1fad","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 81635847-07a0-4147-8939-28660fcba5e3 -\u003e e2bb5632-3005-4d39-bbde-dcac420c1fad","gmt_create":"2025-10-29T16:47:40+08:00","gmt_modified":"2025-10-29T16:47:40+08:00"},{"id":984,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"024f6002-3523-4aa2-801d-18046e9ddba0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 81635847-07a0-4147-8939-28660fcba5e3 -\u003e 024f6002-3523-4aa2-801d-18046e9ddba0","gmt_create":"2025-10-29T16:47:40+08:00","gmt_modified":"2025-10-29T16:47:40+08:00"},{"id":985,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"da30afbe-f229-40f5-8d5e-6d410cc8e049","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 81635847-07a0-4147-8939-28660fcba5e3 -\u003e da30afbe-f229-40f5-8d5e-6d410cc8e049","gmt_create":"2025-10-29T16:47:40+08:00","gmt_modified":"2025-10-29T16:47:40+08:00"},{"id":986,"source_id":"81635847-07a0-4147-8939-28660fcba5e3","target_id":"63096e00-d308-48c5-848e-dd35333f9338","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 81635847-07a0-4147-8939-28660fcba5e3 -\u003e 63096e00-d308-48c5-848e-dd35333f9338","gmt_create":"2025-10-29T16:47:40+08:00","gmt_modified":"2025-10-29T16:47:40+08:00"},{"id":993,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"608120d37a55327f7696658a4daf5a38","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts","gmt_create":"2025-10-30T16:40:04.6975306+08:00","gmt_modified":"2025-10-30T16:40:04.6975306+08:00"},{"id":994,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"ba5a99e2e416357986cc4993b7a62632","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\hero\\Hero.ts","gmt_create":"2025-10-30T16:40:04.7026167+08:00","gmt_modified":"2025-10-30T16:40:04.7026167+08:00"},{"id":995,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"d25e365a5eea6d64045d956ac29418d4","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroAttrsComp.ts","gmt_create":"2025-10-30T16:40:04.7077251+08:00","gmt_modified":"2025-10-30T16:40:04.7077251+08:00"},{"id":996,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"b64d150d6c9c751f600118b85b979461","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\game\\hero\\HeroViewComp.ts","gmt_create":"2025-10-30T16:40:04.7131086+08:00","gmt_modified":"2025-10-30T16:40:04.7131086+08:00"},{"id":997,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"841b5eec0240728d74c06430ae4a2baa","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\heroSet.ts","gmt_create":"2025-10-30T16:40:04.7182947+08:00","gmt_modified":"2025-10-30T16:40:04.7182947+08:00"},{"id":998,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"4fc297f1b65d4692b50255b95b9a01ee","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\GameEvent.ts","gmt_create":"2025-10-30T16:40:04.7254088+08:00","gmt_modified":"2025-10-30T16:40:04.7254088+08:00"},{"id":999,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"f35acee34e76076a1014b8b7b428f0ce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#1-50","gmt_create":"2025-10-30T16:40:04.7330067+08:00","gmt_modified":"2025-10-30T16:40:04.7330067+08:00"},{"id":1000,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"f35acee34e76076a1014b8b7b428f0ce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-30T16:40:04.7387329+08:00","gmt_modified":"2025-10-30T16:40:04.7387329+08:00"},{"id":1001,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"e4813fca1003ef1417f38da15303c2aa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\Hero.ts#1-30","gmt_create":"2025-10-30T16:40:04.7456747+08:00","gmt_modified":"2025-10-30T16:40:04.7456747+08:00"},{"id":1002,"source_id":"ba5a99e2e416357986cc4993b7a62632","target_id":"e4813fca1003ef1417f38da15303c2aa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-30","gmt_create":"2025-10-30T16:40:04.7520249+08:00","gmt_modified":"2025-10-30T16:40:04.7520249+08:00"},{"id":1003,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"55836123c1943c6c59758d8f9afc0955","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroAttrsComp.ts#1-50","gmt_create":"2025-10-30T16:40:04.7575872+08:00","gmt_modified":"2025-10-30T16:40:04.7575872+08:00"},{"id":1004,"source_id":"d25e365a5eea6d64045d956ac29418d4","target_id":"55836123c1943c6c59758d8f9afc0955","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-30T16:40:04.7641917+08:00","gmt_modified":"2025-10-30T16:40:04.7641917+08:00"},{"id":1005,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"09621588dd03762994bb3a6c34c3558e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#1-546","gmt_create":"2025-10-30T16:40:04.7697199+08:00","gmt_modified":"2025-10-30T16:40:04.7697199+08:00"},{"id":1006,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"09621588dd03762994bb3a6c34c3558e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-546","gmt_create":"2025-10-30T16:40:04.7754001+08:00","gmt_modified":"2025-10-30T16:40:04.7754001+08:00"},{"id":1007,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"22737c38982f339e14ba94521ce65b6c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\Hero.ts#1-100","gmt_create":"2025-10-30T16:40:04.7816547+08:00","gmt_modified":"2025-10-30T16:40:04.7816547+08:00"},{"id":1008,"source_id":"ba5a99e2e416357986cc4993b7a62632","target_id":"22737c38982f339e14ba94521ce65b6c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-100","gmt_create":"2025-10-30T16:40:04.7880069+08:00","gmt_modified":"2025-10-30T16:40:04.7880069+08:00"},{"id":1009,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"59c157af89f4d53ff4d9b8de98c551f9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#142-226","gmt_create":"2025-10-30T16:40:04.7948181+08:00","gmt_modified":"2025-10-30T16:40:04.7948181+08:00"},{"id":1010,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"59c157af89f4d53ff4d9b8de98c551f9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 142-226","gmt_create":"2025-10-30T16:40:04.8022452+08:00","gmt_modified":"2025-10-30T16:40:04.8022452+08:00"},{"id":1011,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"e220ba6762a3f8a40b8d15e3ea4f3907","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\Hero.ts#65-99","gmt_create":"2025-10-30T16:40:04.8095083+08:00","gmt_modified":"2025-10-30T16:40:04.8095083+08:00"},{"id":1012,"source_id":"ba5a99e2e416357986cc4993b7a62632","target_id":"e220ba6762a3f8a40b8d15e3ea4f3907","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 65-99","gmt_create":"2025-10-30T16:40:04.8162963+08:00","gmt_modified":"2025-10-30T16:40:04.8162963+08:00"},{"id":1013,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"32249a509fd840cd0ced5d985d2899d3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroAttrsComp.ts#165-250","gmt_create":"2025-10-30T16:40:04.8251585+08:00","gmt_modified":"2025-10-30T16:40:04.8251585+08:00"},{"id":1014,"source_id":"d25e365a5eea6d64045d956ac29418d4","target_id":"32249a509fd840cd0ced5d985d2899d3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 165-250","gmt_create":"2025-10-30T16:40:04.8335803+08:00","gmt_modified":"2025-10-30T16:40:04.8335803+08:00"},{"id":1015,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"417dbc44955e2035265444314bb2c2a0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#10-105","gmt_create":"2025-10-30T16:40:04.8433912+08:00","gmt_modified":"2025-10-30T16:40:04.8433912+08:00"},{"id":1016,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"417dbc44955e2035265444314bb2c2a0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-105","gmt_create":"2025-10-30T16:40:04.8491171+08:00","gmt_modified":"2025-10-30T16:40:04.8491171+08:00"},{"id":1017,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"7f5d6a44376f075fafac08fbba024817","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#8-10","gmt_create":"2025-10-30T16:40:04.8535739+08:00","gmt_modified":"2025-10-30T16:40:04.8535739+08:00"},{"id":1018,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"7f5d6a44376f075fafac08fbba024817","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 8-10","gmt_create":"2025-10-30T16:40:04.8609725+08:00","gmt_modified":"2025-10-30T16:40:04.8609725+08:00"},{"id":1019,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"908e54d1dce81f7d5333001db45372b8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#266-439","gmt_create":"2025-10-30T16:40:04.8699896+08:00","gmt_modified":"2025-10-30T16:40:04.8699896+08:00"},{"id":1020,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"908e54d1dce81f7d5333001db45372b8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 266-439","gmt_create":"2025-10-30T16:40:04.876863+08:00","gmt_modified":"2025-10-30T16:40:04.876863+08:00"},{"id":1021,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"944648e3992ba513a3b8bd49e2957a67","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#106-226","gmt_create":"2025-10-30T16:40:04.8824888+08:00","gmt_modified":"2025-10-30T16:40:04.8824888+08:00"},{"id":1022,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"944648e3992ba513a3b8bd49e2957a67","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 106-226","gmt_create":"2025-10-30T16:40:04.8892555+08:00","gmt_modified":"2025-10-30T16:40:04.8892555+08:00"},{"id":1023,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"26a4e8b92047f86510b5920475c8ef4d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\Hero.ts#40-99","gmt_create":"2025-10-30T16:40:04.8965546+08:00","gmt_modified":"2025-10-30T16:40:04.8965546+08:00"},{"id":1024,"source_id":"ba5a99e2e416357986cc4993b7a62632","target_id":"26a4e8b92047f86510b5920475c8ef4d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-99","gmt_create":"2025-10-30T16:40:04.9032769+08:00","gmt_modified":"2025-10-30T16:40:04.9032769+08:00"},{"id":1025,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"2d398f845ca25a2a9f9a405568b35d17","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroAttrsComp.ts#254-354","gmt_create":"2025-10-30T16:40:04.9102263+08:00","gmt_modified":"2025-10-30T16:40:04.9102263+08:00"},{"id":1026,"source_id":"d25e365a5eea6d64045d956ac29418d4","target_id":"2d398f845ca25a2a9f9a405568b35d17","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 254-354","gmt_create":"2025-10-30T16:40:04.9180822+08:00","gmt_modified":"2025-10-30T16:40:04.9180822+08:00"},{"id":1027,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"48d2e927475878d06870bf43b6abc576","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroAttrsComp.ts#7-380","gmt_create":"2025-10-30T16:40:04.9270646+08:00","gmt_modified":"2025-10-30T16:40:04.9270646+08:00"},{"id":1028,"source_id":"d25e365a5eea6d64045d956ac29418d4","target_id":"48d2e927475878d06870bf43b6abc576","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-380","gmt_create":"2025-10-30T16:40:04.9327262+08:00","gmt_modified":"2025-10-30T16:40:04.9327262+08:00"},{"id":1029,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"1f9884cd78576c8311aec4a3fb33e1f8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroViewComp.ts","gmt_create":"2025-10-30T16:40:04.9383926+08:00","gmt_modified":"2025-10-30T16:40:04.9383926+08:00"},{"id":1030,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"21004467c2d521c781a28a4317876d22","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroViewComp.ts#44-80","gmt_create":"2025-10-30T16:40:04.9447695+08:00","gmt_modified":"2025-10-30T16:40:04.9447695+08:00"},{"id":1031,"source_id":"1f9884cd78576c8311aec4a3fb33e1f8","target_id":"21004467c2d521c781a28a4317876d22","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-80","gmt_create":"2025-10-30T16:40:04.9520997+08:00","gmt_modified":"2025-10-30T16:40:04.9520997+08:00"},{"id":1032,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"4e5eb8bcdfb0b2976fd25169b446d1f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroViewComp.ts#1-80","gmt_create":"2025-10-30T16:40:04.9589389+08:00","gmt_modified":"2025-10-30T16:40:04.9589389+08:00"},{"id":1033,"source_id":"1f9884cd78576c8311aec4a3fb33e1f8","target_id":"4e5eb8bcdfb0b2976fd25169b446d1f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-80","gmt_create":"2025-10-30T16:40:04.9639753+08:00","gmt_modified":"2025-10-30T16:40:04.9639753+08:00"},{"id":1034,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"318918ae96e4a7511da31bb040b4876c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\hero\\Mon.ts","gmt_create":"2025-10-30T16:40:04.9691218+08:00","gmt_modified":"2025-10-30T16:40:04.9691218+08:00"},{"id":1035,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"78a6282d2b72d3cc62e7ba2faba10b81","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\Mon.ts#87-108","gmt_create":"2025-10-30T16:40:04.9752312+08:00","gmt_modified":"2025-10-30T16:40:04.9752312+08:00"},{"id":1036,"source_id":"318918ae96e4a7511da31bb040b4876c","target_id":"78a6282d2b72d3cc62e7ba2faba10b81","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 87-108","gmt_create":"2025-10-30T16:40:04.982077+08:00","gmt_modified":"2025-10-30T16:40:04.982077+08:00"},{"id":1037,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"dd192c20ae1ba3f4b32c0626e32258a4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\HeroAttrs.ts#1-20","gmt_create":"2025-10-30T16:40:04.9888991+08:00","gmt_modified":"2025-10-30T16:40:04.9888991+08:00"},{"id":1038,"source_id":"608120d37a55327f7696658a4daf5a38","target_id":"dd192c20ae1ba3f4b32c0626e32258a4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-20","gmt_create":"2025-10-30T16:40:04.9951545+08:00","gmt_modified":"2025-10-30T16:40:04.9951545+08:00"},{"id":1039,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"df5af1625385ea73c91baf2d7d50e1b4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\Hero.ts#1-20","gmt_create":"2025-10-30T16:40:05.0007165+08:00","gmt_modified":"2025-10-30T16:40:05.0007165+08:00"},{"id":1040,"source_id":"ba5a99e2e416357986cc4993b7a62632","target_id":"df5af1625385ea73c91baf2d7d50e1b4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-20","gmt_create":"2025-10-30T16:40:05.0058395+08:00","gmt_modified":"2025-10-30T16:40:05.0058395+08:00"},{"id":1041,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"0dbf6bba7f2b910d6ec3e9172902ed2d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\GameEvent.ts#1-70","gmt_create":"2025-10-30T16:40:05.0116602+08:00","gmt_modified":"2025-10-30T16:40:05.0116602+08:00"},{"id":1042,"source_id":"4fc297f1b65d4692b50255b95b9a01ee","target_id":"0dbf6bba7f2b910d6ec3e9172902ed2d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-70","gmt_create":"2025-10-30T16:40:05.0172162+08:00","gmt_modified":"2025-10-30T16:40:05.0172162+08:00"},{"id":1043,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"055d5477b89fbd52b49b975a7f263932","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\hero\\HeroAttrsComp.ts#385-425","gmt_create":"2025-10-30T16:40:05.0223347+08:00","gmt_modified":"2025-10-30T16:40:05.0223347+08:00"},{"id":1044,"source_id":"d25e365a5eea6d64045d956ac29418d4","target_id":"055d5477b89fbd52b49b975a7f263932","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 385-425","gmt_create":"2025-10-30T16:40:05.0278051+08:00","gmt_modified":"2025-10-30T16:40:05.0278051+08:00"},{"id":1045,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"bdcc606e022e2345cc62d490d320dba111324338","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: bdcc606e022e2345cc62d490d320dba111324338","gmt_create":"2025-10-30T16:40:05.039187+08:00","gmt_modified":"2025-10-30T16:40:05.039187+08:00"},{"id":1046,"source_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","target_id":"40e0086be310fb0dd254073af0f67625d48805de","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 40e0086be310fb0dd254073af0f67625d48805de","gmt_create":"2025-10-30T16:40:05.0525967+08:00","gmt_modified":"2025-10-30T16:40:05.0525967+08:00"},{"id":1047,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"1ef3de5b733336220af07558e8524092","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-30T16:41:05.3001265+08:00","gmt_modified":"2025-10-30T16:41:05.3001265+08:00"},{"id":1048,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"ce0ec3b705bb28e957d6d14681ffdca2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/Tasks.ts","gmt_create":"2025-10-30T16:41:05.3063371+08:00","gmt_modified":"2025-10-30T16:41:05.3063371+08:00"},{"id":1049,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"07f8913ce2d72e8a58de070f0f32c097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-30T16:41:05.3119339+08:00","gmt_modified":"2025-10-30T16:41:05.3119339+08:00"},{"id":1050,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"55b95d946e8311cf4b51347c35fdd239","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHeroComp.ts","gmt_create":"2025-10-30T16:41:05.3179458+08:00","gmt_modified":"2025-10-30T16:41:05.3179458+08:00"},{"id":1051,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-30T16:41:05.3234984+08:00","gmt_modified":"2025-10-30T16:41:05.3234984+08:00"},{"id":1052,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"76d8975e90e717d01c6dd43c3696f63b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-30T16:41:05.3295998+08:00","gmt_modified":"2025-10-30T16:41:05.3295998+08:00"},{"id":1053,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"8c384aae8f912ab9228f0ad8185f7977","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/VictoryComp.ts","gmt_create":"2025-10-30T16:41:05.3352218+08:00","gmt_modified":"2025-10-30T16:41:05.3352218+08:00"},{"id":1054,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"a179921633204a04508698cabd51dc3f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameUIConfig.ts","gmt_create":"2025-10-30T16:41:05.340239+08:00","gmt_modified":"2025-10-30T16:41:05.340239+08:00"},{"id":1055,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-30T16:41:05.3452406+08:00","gmt_modified":"2025-10-30T16:41:05.3452406+08:00"},{"id":1056,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-30T16:41:05.350285+08:00","gmt_modified":"2025-10-30T16:41:05.350285+08:00"},{"id":1057,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"54e9ade54b1a5062bcca7bde48ab68a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-30T16:41:05.356892+08:00","gmt_modified":"2025-10-30T16:41:05.356892+08:00"},{"id":1058,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"f0a95fd5b8d3a53b53f9b1fab22c4892","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/TalSet.ts","gmt_create":"2025-10-30T16:41:05.3618462+08:00","gmt_modified":"2025-10-30T16:41:05.3618462+08:00"},{"id":1059,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-30T16:41:05.3687949+08:00","gmt_modified":"2025-10-30T16:41:05.3687949+08:00"},{"id":1060,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"f1792db4ad8d94789b11cde132a58c15","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#1-151","gmt_create":"2025-10-30T16:41:05.374927+08:00","gmt_modified":"2025-10-30T16:41:05.374927+08:00"},{"id":1061,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"5c8708ef78c4ca548eb2ce6b279b75ed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#1-75","gmt_create":"2025-10-30T16:41:05.3815486+08:00","gmt_modified":"2025-10-30T16:41:05.3815486+08:00"},{"id":1062,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"3278c84d1eb6aecf068fb57c66f64e3e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#1-41","gmt_create":"2025-10-30T16:41:05.3881719+08:00","gmt_modified":"2025-10-30T16:41:05.3881719+08:00"},{"id":1063,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"9bb3b0d6ae62d8a89e6d6bea191fac71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#15-151","gmt_create":"2025-10-30T16:41:05.3960498+08:00","gmt_modified":"2025-10-30T16:41:05.3960498+08:00"},{"id":1064,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"7232a510e1fe5bf4baa29606d55a732a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#20-41","gmt_create":"2025-10-30T16:41:05.4007488+08:00","gmt_modified":"2025-10-30T16:41:05.4007488+08:00"},{"id":1065,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"f94423bec96eddd2f3f51c41a5654881","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#25-75","gmt_create":"2025-10-30T16:41:05.4089632+08:00","gmt_modified":"2025-10-30T16:41:05.4089632+08:00"},{"id":1066,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"72c29ea9fe1fd4c7e9189677fcfbd707","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#1-81","gmt_create":"2025-10-30T16:41:05.4194204+08:00","gmt_modified":"2025-10-30T16:41:05.4194204+08:00"},{"id":1067,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"050a9f72a7e4f9fb7bbc70b0ba9eab26","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-240","gmt_create":"2025-10-30T16:41:05.4257244+08:00","gmt_modified":"2025-10-30T16:41:05.4257244+08:00"},{"id":1068,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"19937d9863d6462cde11b752a8cdb27e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/Mission.ts#1-60","gmt_create":"2025-10-30T16:41:05.4341297+08:00","gmt_modified":"2025-10-30T16:41:05.4341297+08:00"},{"id":1069,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"d56b3ca6bf1962fb60a5651241006c2c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#25-47","gmt_create":"2025-10-30T16:41:05.4419692+08:00","gmt_modified":"2025-10-30T16:41:05.4419692+08:00"},{"id":1070,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"546c749070d5836e4b3fae2548a9895a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#1-544","gmt_create":"2025-10-30T16:41:05.4496853+08:00","gmt_modified":"2025-10-30T16:41:05.4496853+08:00"},{"id":1071,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"8d5ff907f0988cbdb88574bf8d540aed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/TalSet.ts#68-114","gmt_create":"2025-10-30T16:41:05.4569884+08:00","gmt_modified":"2025-10-30T16:41:05.4569884+08:00"},{"id":1072,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"312cd7280aa8d1ccd62d755d701c9fe5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#40-50","gmt_create":"2025-10-30T16:41:05.4636446+08:00","gmt_modified":"2025-10-30T16:41:05.4636446+08:00"},{"id":1073,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"75dff503ca30d0964e43596822727ce2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#80-95","gmt_create":"2025-10-30T16:41:05.4699171+08:00","gmt_modified":"2025-10-30T16:41:05.4699171+08:00"},{"id":1074,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"6af28cda4e019cc7dc14e024f099de35","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#25-40","gmt_create":"2025-10-30T16:41:05.475514+08:00","gmt_modified":"2025-10-30T16:41:05.475514+08:00"},{"id":1075,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"947e5b1ccf20c4a4e3fde389b032aff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionHeroComp.ts#15-30","gmt_create":"2025-10-30T16:41:05.4841726+08:00","gmt_modified":"2025-10-30T16:41:05.4841726+08:00"},{"id":1076,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"205893a617207b5b5300d1c459ccfa82","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#40-60","gmt_create":"2025-10-30T16:41:05.4913958+08:00","gmt_modified":"2025-10-30T16:41:05.4913958+08:00"},{"id":1077,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"86a8863611343f013419fb6c5f486237","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#279-310","gmt_create":"2025-10-30T16:41:05.4977631+08:00","gmt_modified":"2025-10-30T16:41:05.4977631+08:00"},{"id":1078,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"4f7c15d2dbfd4808706252c0e0196d6c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameUIConfig.ts#1-36","gmt_create":"2025-10-30T16:41:05.5055823+08:00","gmt_modified":"2025-10-30T16:41:05.5055823+08:00"},{"id":1079,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"56f45a7bb48c2bec48bc131e174d386fa419ee2d","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 56f45a7bb48c2bec48bc131e174d386fa419ee2d","gmt_create":"2025-10-30T16:41:05.5145757+08:00","gmt_modified":"2025-10-30T16:41:05.5145757+08:00"},{"id":1080,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"1ef3de5b733336220af07558e8524092","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-30T16:42:07.1184068+08:00","gmt_modified":"2025-10-30T16:42:07.1184068+08:00"},{"id":1081,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"07f8913ce2d72e8a58de070f0f32c097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-30T16:42:07.1239028+08:00","gmt_modified":"2025-10-30T16:42:07.1239028+08:00"},{"id":1082,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"8c384aae8f912ab9228f0ad8185f7977","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/VictoryComp.ts","gmt_create":"2025-10-30T16:42:07.1315738+08:00","gmt_modified":"2025-10-30T16:42:07.1315738+08:00"},{"id":1083,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"149ad16f650a03be2be72bfdcb3a8ff2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameEvent.ts","gmt_create":"2025-10-30T16:42:07.137935+08:00","gmt_modified":"2025-10-30T16:42:07.137935+08:00"},{"id":1084,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-30T16:42:07.1451966+08:00","gmt_modified":"2025-10-30T16:42:07.1451966+08:00"},{"id":1085,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-30T16:42:07.1502771+08:00","gmt_modified":"2025-10-30T16:42:07.1502771+08:00"},{"id":1086,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"1c77ce06968111f329426f30bf27272f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/Design.md","gmt_create":"2025-10-30T16:42:07.1570924+08:00","gmt_modified":"2025-10-30T16:42:07.1570924+08:00"},{"id":1087,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"c56f5be2f604c39d57500761c8cfd753","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/Design.md#0-40","gmt_create":"2025-10-30T16:42:07.1632365+08:00","gmt_modified":"2025-10-30T16:42:07.1632365+08:00"},{"id":1088,"source_id":"1c77ce06968111f329426f30bf27272f","target_id":"c56f5be2f604c39d57500761c8cfd753","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 0-40","gmt_create":"2025-10-30T16:42:07.1677339+08:00","gmt_modified":"2025-10-30T16:42:07.1677339+08:00"},{"id":1089,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"36a4b9aeaa11db4a451998b181a43c73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#1-150","gmt_create":"2025-10-30T16:42:07.1749944+08:00","gmt_modified":"2025-10-30T16:42:07.1749944+08:00"},{"id":1090,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"36a4b9aeaa11db4a451998b181a43c73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-150","gmt_create":"2025-10-30T16:42:07.1806138+08:00","gmt_modified":"2025-10-30T16:42:07.1806138+08:00"},{"id":1091,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"698fdc9649b69bff4768a719b587c574","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#23-70","gmt_create":"2025-10-30T16:42:07.1862899+08:00","gmt_modified":"2025-10-30T16:42:07.1862899+08:00"},{"id":1092,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"698fdc9649b69bff4768a719b587c574","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-70","gmt_create":"2025-10-30T16:42:07.1923841+08:00","gmt_modified":"2025-10-30T16:42:07.1923841+08:00"},{"id":1093,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"d2cf5a78bab15a8963b936f7714f53b3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#19-37","gmt_create":"2025-10-30T16:42:07.200301+08:00","gmt_modified":"2025-10-30T16:42:07.200301+08:00"},{"id":1094,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"d2cf5a78bab15a8963b936f7714f53b3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-37","gmt_create":"2025-10-30T16:42:07.2076608+08:00","gmt_modified":"2025-10-30T16:42:07.2076608+08:00"},{"id":1095,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"9538a29efbb0c28a5ae3cb1e7b3a60e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#102-136","gmt_create":"2025-10-30T16:42:07.2160927+08:00","gmt_modified":"2025-10-30T16:42:07.2160927+08:00"},{"id":1096,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"058c32452fc985e77b6b0b727c2b4fdd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/Mission.ts#0-35","gmt_create":"2025-10-30T16:42:07.2232587+08:00","gmt_modified":"2025-10-30T16:42:07.2232587+08:00"},{"id":1097,"source_id":"1ef3de5b733336220af07558e8524092","target_id":"058c32452fc985e77b6b0b727c2b4fdd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 0-35","gmt_create":"2025-10-30T16:42:07.2284159+08:00","gmt_modified":"2025-10-30T16:42:07.2284159+08:00"},{"id":1098,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"1f1b6fd49adbab20f0179c28b450e4e0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#23-33","gmt_create":"2025-10-30T16:42:07.2346054+08:00","gmt_modified":"2025-10-30T16:42:07.2346054+08:00"},{"id":1099,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"1f1b6fd49adbab20f0179c28b450e4e0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-33","gmt_create":"2025-10-30T16:42:07.2414611+08:00","gmt_modified":"2025-10-30T16:42:07.2414611+08:00"},{"id":1100,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"8fc5b02e33a5591e53453dbf34b56751","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#133-135","gmt_create":"2025-10-30T16:42:07.2482585+08:00","gmt_modified":"2025-10-30T16:42:07.2482585+08:00"},{"id":1101,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"8fc5b02e33a5591e53453dbf34b56751","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 133-135","gmt_create":"2025-10-30T16:42:07.2543608+08:00","gmt_modified":"2025-10-30T16:42:07.2543608+08:00"},{"id":1102,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"053c2f6c268d66db789f788cda928da7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionComp.ts#60-63","gmt_create":"2025-10-30T16:42:07.2624141+08:00","gmt_modified":"2025-10-30T16:42:07.2624141+08:00"},{"id":1103,"source_id":"07f8913ce2d72e8a58de070f0f32c097","target_id":"053c2f6c268d66db789f788cda928da7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 60-63","gmt_create":"2025-10-30T16:42:07.2680954+08:00","gmt_modified":"2025-10-30T16:42:07.2680954+08:00"},{"id":1104,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"db8b461259c92a7be915e4973d7b37da","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#145-148","gmt_create":"2025-10-30T16:42:07.2737602+08:00","gmt_modified":"2025-10-30T16:42:07.2737602+08:00"},{"id":1105,"source_id":"70e98a62cc69b9276b26e1627a592fd5","target_id":"db8b461259c92a7be915e4973d7b37da","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 145-148","gmt_create":"2025-10-30T16:42:07.2789252+08:00","gmt_modified":"2025-10-30T16:42:07.2789252+08:00"},{"id":1106,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"e63fb4868e38b507d1d03e7a82c1bc45","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/VictoryComp.ts#35-37","gmt_create":"2025-10-30T16:42:07.2873834+08:00","gmt_modified":"2025-10-30T16:42:07.2873834+08:00"},{"id":1107,"source_id":"8c384aae8f912ab9228f0ad8185f7977","target_id":"e63fb4868e38b507d1d03e7a82c1bc45","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-37","gmt_create":"2025-10-30T16:42:07.293057+08:00","gmt_modified":"2025-10-30T16:42:07.293057+08:00"},{"id":1108,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"c351c08c2b7ea2e1787fced5aa88a53c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameEvent.ts#43","gmt_create":"2025-10-30T16:42:07.2996868+08:00","gmt_modified":"2025-10-30T16:42:07.2996868+08:00"},{"id":1109,"source_id":"149ad16f650a03be2be72bfdcb3a8ff2","target_id":"c351c08c2b7ea2e1787fced5aa88a53c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43","gmt_create":"2025-10-30T16:42:07.3036011+08:00","gmt_modified":"2025-10-30T16:42:07.3036011+08:00"},{"id":1110,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"a179921633204a04508698cabd51dc3f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameUIConfig.ts","gmt_create":"2025-10-30T16:42:07.3125088+08:00","gmt_modified":"2025-10-30T16:42:07.3125088+08:00"},{"id":1111,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"dde874425f6e515fcf24e21763f3f7f8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameUIConfig.ts#30","gmt_create":"2025-10-30T16:42:07.3182521+08:00","gmt_modified":"2025-10-30T16:42:07.3182521+08:00"},{"id":1112,"source_id":"a179921633204a04508698cabd51dc3f","target_id":"dde874425f6e515fcf24e21763f3f7f8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30","gmt_create":"2025-10-30T16:42:07.323302+08:00","gmt_modified":"2025-10-30T16:42:07.323302+08:00"},{"id":1113,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"4a2ae74c379363f5f4a81ff0de73edf2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#47-86","gmt_create":"2025-10-30T16:42:07.330057+08:00","gmt_modified":"2025-10-30T16:42:07.330057+08:00"},{"id":1114,"source_id":"6fe19f7a3876795ce719853671c9601a","target_id":"4a2ae74c379363f5f4a81ff0de73edf2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-86","gmt_create":"2025-10-30T16:42:07.3357985+08:00","gmt_modified":"2025-10-30T16:42:07.3357985+08:00"},{"id":1115,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"56f45a7bb48c2bec48bc131e174d386fa419ee2d","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 56f45a7bb48c2bec48bc131e174d386fa419ee2d","gmt_create":"2025-10-30T16:42:07.3437322+08:00","gmt_modified":"2025-10-30T16:42:07.3437322+08:00"},{"id":1116,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"b9778ad6079066adc4b276ef182a43dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/Mon.ts","gmt_create":"2025-10-30T16:42:57.9480521+08:00","gmt_modified":"2025-10-30T16:42:57.9480521+08:00"},{"id":1117,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"86d91ac5705499080176f6626a436473","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAttrsComp.ts","gmt_create":"2025-10-30T16:42:57.9529859+08:00","gmt_modified":"2025-10-30T16:42:57.9529859+08:00"},{"id":1118,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"54e9ade54b1a5062bcca7bde48ab68a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-30T16:42:57.9582927+08:00","gmt_modified":"2025-10-30T16:42:57.9582927+08:00"},{"id":1119,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-30T16:42:57.9641743+08:00","gmt_modified":"2025-10-30T16:42:57.9641743+08:00"},{"id":1120,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-30T16:42:57.9697694+08:00","gmt_modified":"2025-10-30T16:42:57.9697694+08:00"},{"id":1121,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"59ca29ac4449c23348d331661d6d22c3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/MonMove.ts","gmt_create":"2025-10-30T16:42:57.9748428+08:00","gmt_modified":"2025-10-30T16:42:57.9748428+08:00"},{"id":1122,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"4199d1159ca21ba580dfeab42ad5a17a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroViewComp.ts","gmt_create":"2025-10-30T16:42:57.98047+08:00","gmt_modified":"2025-10-30T16:42:57.98047+08:00"},{"id":1123,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"7d4659e3f4037ac293718bb2acc03e23","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#31-88","gmt_create":"2025-10-30T16:42:57.9861055+08:00","gmt_modified":"2025-10-30T16:42:57.9861055+08:00"},{"id":1124,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"9e4463dc09c466496dbf0e5d85e20857","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAttrsComp.ts#72-778","gmt_create":"2025-10-30T16:42:57.9923119+08:00","gmt_modified":"2025-10-30T16:42:57.9923119+08:00"},{"id":1125,"source_id":"86d91ac5705499080176f6626a436473","target_id":"9e4463dc09c466496dbf0e5d85e20857","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 72-778","gmt_create":"2025-10-30T16:42:57.9973692+08:00","gmt_modified":"2025-10-30T16:42:57.9973692+08:00"},{"id":1126,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"2d101fe07b03aadbe1b5dbfcf26de5ae","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#72-778","gmt_create":"2025-10-30T16:42:58.0034891+08:00","gmt_modified":"2025-10-30T16:42:58.0034891+08:00"},{"id":1127,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"df3805ee6cf63b4ad2dec695168605ba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#35-58","gmt_create":"2025-10-30T16:42:58.0099455+08:00","gmt_modified":"2025-10-30T16:42:58.0099455+08:00"},{"id":1128,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#79-88","gmt_create":"2025-10-30T16:42:58.0194099+08:00","gmt_modified":"2025-10-30T16:42:58.0194099+08:00"},{"id":1129,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"8e7040b53760cdce8ddab10cf9d29dac","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/MonMove.ts#10-271","gmt_create":"2025-10-30T16:42:58.0277721+08:00","gmt_modified":"2025-10-30T16:42:58.0277721+08:00"},{"id":1130,"source_id":"59ca29ac4449c23348d331661d6d22c3","target_id":"8e7040b53760cdce8ddab10cf9d29dac","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-271","gmt_create":"2025-10-30T16:42:58.035561+08:00","gmt_modified":"2025-10-30T16:42:58.035561+08:00"},{"id":1131,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"151f17810f95dc31deb6471009dc466f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/MonMove.ts#3-15","gmt_create":"2025-10-30T16:42:58.0427265+08:00","gmt_modified":"2025-10-30T16:42:58.0427265+08:00"},{"id":1132,"source_id":"59ca29ac4449c23348d331661d6d22c3","target_id":"151f17810f95dc31deb6471009dc466f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-15","gmt_create":"2025-10-30T16:42:58.0489627+08:00","gmt_modified":"2025-10-30T16:42:58.0489627+08:00"},{"id":1133,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"a4af501ccb4b798ce6e4446b283ef35c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/heroSet.ts#60-152","gmt_create":"2025-10-30T16:42:58.0547501+08:00","gmt_modified":"2025-10-30T16:42:58.0547501+08:00"},{"id":1134,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"75d9aafe12c4490339eaa3f1c1260a9b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/MonMove.ts#1-10","gmt_create":"2025-10-30T16:42:58.0617914+08:00","gmt_modified":"2025-10-30T16:42:58.0617914+08:00"},{"id":1135,"source_id":"59ca29ac4449c23348d331661d6d22c3","target_id":"75d9aafe12c4490339eaa3f1c1260a9b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-10","gmt_create":"2025-10-30T16:42:58.0668638+08:00","gmt_modified":"2025-10-30T16:42:58.0668638+08:00"},{"id":1136,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"3c7a094f94b257f9bb5ac5f8e26bf90b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/MonMove.ts#10-50","gmt_create":"2025-10-30T16:42:58.07293+08:00","gmt_modified":"2025-10-30T16:42:58.07293+08:00"},{"id":1137,"source_id":"59ca29ac4449c23348d331661d6d22c3","target_id":"3c7a094f94b257f9bb5ac5f8e26bf90b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-50","gmt_create":"2025-10-30T16:42:58.078458+08:00","gmt_modified":"2025-10-30T16:42:58.078458+08:00"},{"id":1138,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"e3bdc4b23804946b0d0887fda03e87ce5a623812","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: e3bdc4b23804946b0d0887fda03e87ce5a623812","gmt_create":"2025-10-30T16:42:58.0862092+08:00","gmt_modified":"2025-10-30T16:42:58.0862092+08:00"},{"id":1139,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"edb7f23918dac1c3a9cc2e79d20399066a694e1b","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: edb7f23918dac1c3a9cc2e79d20399066a694e1b","gmt_create":"2025-10-30T16:42:58.0973248+08:00","gmt_modified":"2025-10-30T16:42:58.0973248+08:00"},{"id":1140,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/GameMap.ts","gmt_create":"2025-10-30T16:45:33.9495054+08:00","gmt_modified":"2025-10-30T16:45:33.9495054+08:00"},{"id":1141,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-30T16:45:33.9567711+08:00","gmt_modified":"2025-10-30T16:45:33.9567711+08:00"},{"id":1142,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"b9778ad6079066adc4b276ef182a43dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/Mon.ts","gmt_create":"2025-10-30T16:45:33.9630841+08:00","gmt_modified":"2025-10-30T16:45:33.9630841+08:00"},{"id":1143,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"cb84194ad3ff858116a2e22ef24edf68","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/model/MapModelComp.ts","gmt_create":"2025-10-30T16:45:33.9705194+08:00","gmt_modified":"2025-10-30T16:45:33.9705194+08:00"},{"id":1144,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"d7ee26dbb506f5bd77891b9f9e5fe619","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/MapViewComp.ts","gmt_create":"2025-10-30T16:45:33.9775288+08:00","gmt_modified":"2025-10-30T16:45:33.9775288+08:00"},{"id":1145,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"b916aeaa6d2fbb6527e057fe2674a98b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/resources/config/map/map.json","gmt_create":"2025-10-30T16:45:33.9843951+08:00","gmt_modified":"2025-10-30T16:45:33.9843951+08:00"},{"id":1146,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"aa984e214033ea289198ab72ee72ecce","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/resources/config/map/map_delivery.json","gmt_create":"2025-10-30T16:45:33.990519+08:00","gmt_modified":"2025-10-30T16:45:33.990519+08:00"},{"id":1147,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-30T16:45:33.9967148+08:00","gmt_modified":"2025-10-30T16:45:33.9967148+08:00"},{"id":1148,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-30T16:45:34.004619+08:00","gmt_modified":"2025-10-30T16:45:34.004619+08:00"},{"id":1149,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"b8eb3238a98a3ea5aaaecf9a1cf9afb2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/MapViewScene.ts","gmt_create":"2025-10-30T16:45:34.0100937+08:00","gmt_modified":"2025-10-30T16:45:34.0100937+08:00"},{"id":1150,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"22d6ce7ceac7856710c4d644d607e9e1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/map/layer/MapLayer.ts","gmt_create":"2025-10-30T16:45:34.0151235+08:00","gmt_modified":"2025-10-30T16:45:34.0151235+08:00"},{"id":1151,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"4ac77391af6e46a8f92c32f8328b252c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/map/layer/EntityLayer.ts","gmt_create":"2025-10-30T16:45:34.0212582+08:00","gmt_modified":"2025-10-30T16:45:34.0212582+08:00"},{"id":1152,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"369370e14074b4e928913799f4a8034c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/map/layer/SkillLayer.ts","gmt_create":"2025-10-30T16:45:34.026669+08:00","gmt_modified":"2025-10-30T16:45:34.026669+08:00"},{"id":1153,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"86d91ac5705499080176f6626a436473","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAttrsComp.ts","gmt_create":"2025-10-30T16:45:34.0323854+08:00","gmt_modified":"2025-10-30T16:45:34.0323854+08:00"},{"id":1154,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"59ca29ac4449c23348d331661d6d22c3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/MonMove.ts","gmt_create":"2025-10-30T16:45:34.0386059+08:00","gmt_modified":"2025-10-30T16:45:34.0386059+08:00"},{"id":1155,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"4199d1159ca21ba580dfeab42ad5a17a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroViewComp.ts","gmt_create":"2025-10-30T16:45:34.0447247+08:00","gmt_modified":"2025-10-30T16:45:34.0447247+08:00"},{"id":1156,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"20993cd959ec406c9fc95cb4c9e6bb40","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/GameMap.ts#1-35","gmt_create":"2025-10-30T16:45:34.0508038+08:00","gmt_modified":"2025-10-30T16:45:34.0508038+08:00"},{"id":1157,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"b44dd9330329d4f79260ce7b269c687f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/model/MapModelComp.ts#1-42","gmt_create":"2025-10-30T16:45:34.0562598+08:00","gmt_modified":"2025-10-30T16:45:34.0562598+08:00"},{"id":1158,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"0732b42f7e0c66b58c71a549fb9ba36d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/MapViewComp.ts#1-44","gmt_create":"2025-10-30T16:45:34.063496+08:00","gmt_modified":"2025-10-30T16:45:34.063496+08:00"},{"id":1159,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"847d14c7aff3114c46bc65a0aa7b4180","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#1-310","gmt_create":"2025-10-30T16:45:34.069037+08:00","gmt_modified":"2025-10-30T16:45:34.069037+08:00"},{"id":1160,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"2c0b6d3ac7326428001e915dfad04fda","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#1-108","gmt_create":"2025-10-30T16:45:34.0756525+08:00","gmt_modified":"2025-10-30T16:45:34.0756525+08:00"},{"id":1161,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"36d0aae654a4ab5cc9c6205c96a73c28","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/MapViewScene.ts#1-76","gmt_create":"2025-10-30T16:45:34.0862383+08:00","gmt_modified":"2025-10-30T16:45:34.0862383+08:00"},{"id":1162,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"5326fb0ba15856a89e7ceb0a85f5ba18","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/map/layer/MapLayer.ts#1-46","gmt_create":"2025-10-30T16:45:34.0926473+08:00","gmt_modified":"2025-10-30T16:45:34.0926473+08:00"},{"id":1163,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"85fb9bcdfda6d8bfd0a45798014e4d1b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/map/layer/EntityLayer.ts#1-38","gmt_create":"2025-10-30T16:45:34.1002557+08:00","gmt_modified":"2025-10-30T16:45:34.1002557+08:00"},{"id":1164,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"f160c7f4a5c15627d79ed49ca194b3ee","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/view/map/layer/SkillLayer.ts#1-47","gmt_create":"2025-10-30T16:45:34.1092515+08:00","gmt_modified":"2025-10-30T16:45:34.1092515+08:00"},{"id":1165,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"97dd7cb1437b0deada8a423ff9d0a3c0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#1-131","gmt_create":"2025-10-30T16:45:34.1193859+08:00","gmt_modified":"2025-10-30T16:45:34.1193859+08:00"},{"id":1166,"source_id":"b9778ad6079066adc4b276ef182a43dd","target_id":"97dd7cb1437b0deada8a423ff9d0a3c0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-131","gmt_create":"2025-10-30T16:45:34.1262167+08:00","gmt_modified":"2025-10-30T16:45:34.1262167+08:00"},{"id":1167,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"d229946e48686c4029f2b0f4d22e28eb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAttrsComp.ts#7-380","gmt_create":"2025-10-30T16:45:34.132641+08:00","gmt_modified":"2025-10-30T16:45:34.132641+08:00"},{"id":1168,"source_id":"86d91ac5705499080176f6626a436473","target_id":"d229946e48686c4029f2b0f4d22e28eb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-380","gmt_create":"2025-10-30T16:45:34.1377031+08:00","gmt_modified":"2025-10-30T16:45:34.1377031+08:00"},{"id":1169,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"e825ddd3a2e02f35e33185cf7c0eea54","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#24-404","gmt_create":"2025-10-30T16:45:34.1452197+08:00","gmt_modified":"2025-10-30T16:45:34.1452197+08:00"},{"id":1170,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"e825ddd3a2e02f35e33185cf7c0eea54","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-404","gmt_create":"2025-10-30T16:45:34.1502187+08:00","gmt_modified":"2025-10-30T16:45:34.1502187+08:00"},{"id":1171,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"b61a51edad788bf23b35731e3bc0288a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/MonMove.ts#8-22","gmt_create":"2025-10-30T16:45:34.1568573+08:00","gmt_modified":"2025-10-30T16:45:34.1568573+08:00"},{"id":1172,"source_id":"59ca29ac4449c23348d331661d6d22c3","target_id":"b61a51edad788bf23b35731e3bc0288a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 8-22","gmt_create":"2025-10-30T16:45:34.1636321+08:00","gmt_modified":"2025-10-30T16:45:34.1636321+08:00"},{"id":1173,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"1442be86a13f6fb82799c2fb135a5fbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#31-31","gmt_create":"2025-10-30T16:45:34.1737801+08:00","gmt_modified":"2025-10-30T16:45:34.1737801+08:00"},{"id":1174,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#79-88","gmt_create":"2025-10-30T16:45:34.1798618+08:00","gmt_modified":"2025-10-30T16:45:34.1798618+08:00"},{"id":1175,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"4af410d9512c22ea1700b1ed40f45a38","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#37-60","gmt_create":"2025-10-30T16:45:34.1872426+08:00","gmt_modified":"2025-10-30T16:45:34.1872426+08:00"},{"id":1176,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#95-173","gmt_create":"2025-10-30T16:45:34.195241+08:00","gmt_modified":"2025-10-30T16:45:34.195241+08:00"},{"id":1177,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"ecb69f21af2c0a9ca39b58589047c2ce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#19-25","gmt_create":"2025-10-30T16:45:34.2057945+08:00","gmt_modified":"2025-10-30T16:45:34.2057945+08:00"},{"id":1178,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"25662ed6c41a80693fb7a3d396d0da7d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#177-191","gmt_create":"2025-10-30T16:45:34.2160472+08:00","gmt_modified":"2025-10-30T16:45:34.2160472+08:00"},{"id":1179,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"fc32e6130be7a1ba4d058a3ad1364222","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Mon.ts#61-108","gmt_create":"2025-10-30T16:45:34.2251805+08:00","gmt_modified":"2025-10-30T16:45:34.2251805+08:00"},{"id":1180,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"4c5b7fc60d7644b2b51f5c105d03003b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/resources/config/map/map.json#1-11","gmt_create":"2025-10-30T16:45:34.2392196+08:00","gmt_modified":"2025-10-30T16:45:34.2392196+08:00"},{"id":1181,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"9f9d6e57f8784e13a3b01a9f224eb81d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/resources/config/map/map_delivery.json#1-29","gmt_create":"2025-10-30T16:45:34.2470884+08:00","gmt_modified":"2025-10-30T16:45:34.2470884+08:00"},{"id":1182,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"3afb16f8d81e36bba305ab123b824da7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#1-239","gmt_create":"2025-10-30T16:45:34.260931+08:00","gmt_modified":"2025-10-30T16:45:34.260931+08:00"},{"id":1183,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"83e8b4c0b27ff843dbeb86a5227092f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/heroSet.ts#1-151","gmt_create":"2025-10-30T16:45:34.2728316+08:00","gmt_modified":"2025-10-30T16:45:34.2728316+08:00"},{"id":1184,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"e3bdc4b23804946b0d0887fda03e87ce5a623812","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: e3bdc4b23804946b0d0887fda03e87ce5a623812","gmt_create":"2025-10-30T16:45:34.293219+08:00","gmt_modified":"2025-10-30T16:45:34.293219+08:00"},{"id":1185,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"2d358e450d7ac560f939a22f1d18b626dee6bfb7","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 2d358e450d7ac560f939a22f1d18b626dee6bfb7","gmt_create":"2025-10-30T16:45:34.3030742+08:00","gmt_modified":"2025-10-30T16:45:34.3030742+08:00"},{"id":1186,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"55646c3a117fa6ec4eeec9930e25e92ff96c1340","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 55646c3a117fa6ec4eeec9930e25e92ff96c1340","gmt_create":"2025-10-30T16:45:34.3122817+08:00","gmt_modified":"2025-10-30T16:45:34.3122817+08:00"},{"id":1187,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"56f45a7bb48c2bec48bc131e174d386fa419ee2d","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 56f45a7bb48c2bec48bc131e174d386fa419ee2d","gmt_create":"2025-10-30T16:45:34.3193931+08:00","gmt_modified":"2025-10-30T16:45:34.3193931+08:00"},{"id":1188,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"a79cb9f35de528d8873e341ad1b72bd0b6dee1ca","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: a79cb9f35de528d8873e341ad1b72bd0b6dee1ca","gmt_create":"2025-10-30T16:45:34.3305473+08:00","gmt_modified":"2025-10-30T16:45:34.3305473+08:00"},{"id":1189,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"54e9ade54b1a5062bcca7bde48ab68a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-30T16:45:48.2049607+08:00","gmt_modified":"2025-10-30T16:45:48.2049607+08:00"},{"id":1190,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"157f2716bf2263faca74bb5592afcf7f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/SkillSet.ts","gmt_create":"2025-10-30T16:45:48.210684+08:00","gmt_modified":"2025-10-30T16:45:48.210684+08:00"},{"id":1191,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"f0a95fd5b8d3a53b53f9b1fab22c4892","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/TalSet.ts","gmt_create":"2025-10-30T16:45:48.2178881+08:00","gmt_modified":"2025-10-30T16:45:48.2178881+08:00"},{"id":1192,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"6590fe6946e5d8e76755bdf990bb7449","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/Hero.ts","gmt_create":"2025-10-30T16:45:48.2236002+08:00","gmt_modified":"2025-10-30T16:45:48.2236002+08:00"},{"id":1193,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"4199d1159ca21ba580dfeab42ad5a17a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroViewComp.ts","gmt_create":"2025-10-30T16:45:48.2300795+08:00","gmt_modified":"2025-10-30T16:45:48.2300795+08:00"},{"id":1194,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"1b0bcfc084e9b397cd728b94c434658b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HSkillSystem.ts","gmt_create":"2025-10-30T16:45:48.2357866+08:00","gmt_modified":"2025-10-30T16:45:48.2357866+08:00"},{"id":1195,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"6c84e3ce296993895cc6143c08923506","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/BuffComp.ts","gmt_create":"2025-10-30T16:45:48.2413886+08:00","gmt_modified":"2025-10-30T16:45:48.2413886+08:00"},{"id":1196,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"19361fb72adf518d116d3330713123c0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/TalComp.ts","gmt_create":"2025-10-30T16:45:48.2486026+08:00","gmt_modified":"2025-10-30T16:45:48.2486026+08:00"},{"id":1197,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"71296acfa18eb254aad4a491a38a0eeb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-30T16:45:48.2532388+08:00","gmt_modified":"2025-10-30T16:45:48.2532388+08:00"},{"id":1198,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"86d91ac5705499080176f6626a436473","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAttrsComp.ts","gmt_create":"2025-10-30T16:45:48.2581173+08:00","gmt_modified":"2025-10-30T16:45:48.2581173+08:00"},{"id":1199,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"6b693e3956266703aefe006aae2ea6f8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAtk.ts","gmt_create":"2025-10-30T16:45:48.2646469+08:00","gmt_modified":"2025-10-30T16:45:48.2646469+08:00"},{"id":1200,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"c1a967bfd32071f301854a3c8f34dfae","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/EBusComp.ts","gmt_create":"2025-10-30T16:45:48.2714608+08:00","gmt_modified":"2025-10-30T16:45:48.2714608+08:00"},{"id":1201,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"b92b5b6e8fd59c3b1d082e7980149cd6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Hero.ts#1-100","gmt_create":"2025-10-30T16:45:48.2780113+08:00","gmt_modified":"2025-10-30T16:45:48.2780113+08:00"},{"id":1202,"source_id":"6590fe6946e5d8e76755bdf990bb7449","target_id":"b92b5b6e8fd59c3b1d082e7980149cd6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-100","gmt_create":"2025-10-30T16:45:48.2830609+08:00","gmt_modified":"2025-10-30T16:45:48.2830609+08:00"},{"id":1203,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"4a3035a4bc66acda36135eafcbf6b04f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#1-100","gmt_create":"2025-10-30T16:45:48.2896828+08:00","gmt_modified":"2025-10-30T16:45:48.2896828+08:00"},{"id":1204,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"4a3035a4bc66acda36135eafcbf6b04f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-100","gmt_create":"2025-10-30T16:45:48.2954009+08:00","gmt_modified":"2025-10-30T16:45:48.2954009+08:00"},{"id":1205,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"3dd06df83ac52ee92aabc8b62fc7af80","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#1-50","gmt_create":"2025-10-30T16:45:48.3004229+08:00","gmt_modified":"2025-10-30T16:45:48.3004229+08:00"},{"id":1206,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"3dd06df83ac52ee92aabc8b62fc7af80","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-30T16:45:48.3056196+08:00","gmt_modified":"2025-10-30T16:45:48.3056196+08:00"},{"id":1207,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"0e6fd0bfa97a04ddb2eb75d7659bc9b5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/TalComp.ts#1-50","gmt_create":"2025-10-30T16:45:48.3100049+08:00","gmt_modified":"2025-10-30T16:45:48.3100049+08:00"},{"id":1208,"source_id":"19361fb72adf518d116d3330713123c0","target_id":"0e6fd0bfa97a04ddb2eb75d7659bc9b5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-30T16:45:48.315632+08:00","gmt_modified":"2025-10-30T16:45:48.315632+08:00"},{"id":1209,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"d6185715e4dc3da697f7f904d20776eb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#15-100","gmt_create":"2025-10-30T16:45:48.3219876+08:00","gmt_modified":"2025-10-30T16:45:48.3219876+08:00"},{"id":1210,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"d6185715e4dc3da697f7f904d20776eb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-100","gmt_create":"2025-10-30T16:45:48.328216+08:00","gmt_modified":"2025-10-30T16:45:48.328216+08:00"},{"id":1211,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"0503d23d509141b68ba9c8a083b226fb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#200-400","gmt_create":"2025-10-30T16:45:48.336321+08:00","gmt_modified":"2025-10-30T16:45:48.336321+08:00"},{"id":1212,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"0503d23d509141b68ba9c8a083b226fb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 200-400","gmt_create":"2025-10-30T16:45:48.3414448+08:00","gmt_modified":"2025-10-30T16:45:48.3414448+08:00"},{"id":1213,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"d320d5d9ff6bb4d688ab0a585f154033","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#1-546","gmt_create":"2025-10-30T16:45:48.346453+08:00","gmt_modified":"2025-10-30T16:45:48.346453+08:00"},{"id":1214,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"d320d5d9ff6bb4d688ab0a585f154033","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-546","gmt_create":"2025-10-30T16:45:48.352986+08:00","gmt_modified":"2025-10-30T16:45:48.352986+08:00"},{"id":1215,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"161d81621259092d4df6ce60b1d8705c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/SkillSet.ts#80-148","gmt_create":"2025-10-30T16:45:48.3579576+08:00","gmt_modified":"2025-10-30T16:45:48.3579576+08:00"},{"id":1216,"source_id":"157f2716bf2263faca74bb5592afcf7f","target_id":"161d81621259092d4df6ce60b1d8705c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 80-148","gmt_create":"2025-10-30T16:45:48.3651494+08:00","gmt_modified":"2025-10-30T16:45:48.3651494+08:00"},{"id":1217,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"e9d29edbee644d4e6499a384a2c45062","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#1-271","gmt_create":"2025-10-30T16:45:48.3746279+08:00","gmt_modified":"2025-10-30T16:45:48.3746279+08:00"},{"id":1218,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"e9d29edbee644d4e6499a384a2c45062","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-271","gmt_create":"2025-10-30T16:45:48.3801864+08:00","gmt_modified":"2025-10-30T16:45:48.3801864+08:00"},{"id":1219,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"9093043de0ce7533097365171f7b7775","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#100-150","gmt_create":"2025-10-30T16:45:48.3871059+08:00","gmt_modified":"2025-10-30T16:45:48.3871059+08:00"},{"id":1220,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"9093043de0ce7533097365171f7b7775","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 100-150","gmt_create":"2025-10-30T16:45:48.3937186+08:00","gmt_modified":"2025-10-30T16:45:48.3937186+08:00"},{"id":1221,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"39d6e62993a620fa1d4dcb912a5f4e42","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#200-250","gmt_create":"2025-10-30T16:45:48.400636+08:00","gmt_modified":"2025-10-30T16:45:48.400636+08:00"},{"id":1222,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"39d6e62993a620fa1d4dcb912a5f4e42","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 200-250","gmt_create":"2025-10-30T16:45:48.4058269+08:00","gmt_modified":"2025-10-30T16:45:48.4058269+08:00"},{"id":1223,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"29e61dc85784fcc38b2a173185a093ce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/SkillSet.ts#1-148","gmt_create":"2025-10-30T16:45:48.4141581+08:00","gmt_modified":"2025-10-30T16:45:48.4141581+08:00"},{"id":1224,"source_id":"157f2716bf2263faca74bb5592afcf7f","target_id":"29e61dc85784fcc38b2a173185a093ce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-148","gmt_create":"2025-10-30T16:45:48.4220738+08:00","gmt_modified":"2025-10-30T16:45:48.4220738+08:00"},{"id":1225,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"bcbe4279c4dafbd3aa06ba70a1d55be7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/TalSet.ts#10-50","gmt_create":"2025-10-30T16:45:48.4297381+08:00","gmt_modified":"2025-10-30T16:45:48.4297381+08:00"},{"id":1226,"source_id":"f0a95fd5b8d3a53b53f9b1fab22c4892","target_id":"bcbe4279c4dafbd3aa06ba70a1d55be7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-50","gmt_create":"2025-10-30T16:45:48.4353091+08:00","gmt_modified":"2025-10-30T16:45:48.4353091+08:00"},{"id":1227,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"2644d10cdf37a9aa395440af060da1aa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/TalComp.ts#15-40","gmt_create":"2025-10-30T16:45:48.4413705+08:00","gmt_modified":"2025-10-30T16:45:48.4413705+08:00"},{"id":1228,"source_id":"19361fb72adf518d116d3330713123c0","target_id":"2644d10cdf37a9aa395440af060da1aa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-40","gmt_create":"2025-10-30T16:45:48.4502475+08:00","gmt_modified":"2025-10-30T16:45:48.4502475+08:00"},{"id":1229,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"9d9799c43d04cc8d1c5a1f16df941514","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/TalComp.ts#120-170","gmt_create":"2025-10-30T16:45:48.4570527+08:00","gmt_modified":"2025-10-30T16:45:48.4570527+08:00"},{"id":1230,"source_id":"19361fb72adf518d116d3330713123c0","target_id":"9d9799c43d04cc8d1c5a1f16df941514","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 120-170","gmt_create":"2025-10-30T16:45:48.4615057+08:00","gmt_modified":"2025-10-30T16:45:48.4615057+08:00"},{"id":1231,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"ca3eddec42d987a2bd9bd5066cb1b5b8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/TalSet.ts#1-116","gmt_create":"2025-10-30T16:45:48.4682433+08:00","gmt_modified":"2025-10-30T16:45:48.4682433+08:00"},{"id":1232,"source_id":"f0a95fd5b8d3a53b53f9b1fab22c4892","target_id":"ca3eddec42d987a2bd9bd5066cb1b5b8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-116","gmt_create":"2025-10-30T16:45:48.4734795+08:00","gmt_modified":"2025-10-30T16:45:48.4734795+08:00"},{"id":1233,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"0f7b0d870914bc9d1a9fa53acd135caa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/TalComp.ts#1-171","gmt_create":"2025-10-30T16:45:48.4818924+08:00","gmt_modified":"2025-10-30T16:45:48.4818924+08:00"},{"id":1234,"source_id":"19361fb72adf518d116d3330713123c0","target_id":"0f7b0d870914bc9d1a9fa53acd135caa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-171","gmt_create":"2025-10-30T16:45:48.4879534+08:00","gmt_modified":"2025-10-30T16:45:48.4879534+08:00"},{"id":1235,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"22f7227cfb6dcdc2321347afa39681ec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAttrsComp.ts#80-120","gmt_create":"2025-10-30T16:45:48.4951736+08:00","gmt_modified":"2025-10-30T16:45:48.4951736+08:00"},{"id":1236,"source_id":"86d91ac5705499080176f6626a436473","target_id":"22f7227cfb6dcdc2321347afa39681ec","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 80-120","gmt_create":"2025-10-30T16:45:48.5002533+08:00","gmt_modified":"2025-10-30T16:45:48.5002533+08:00"},{"id":1237,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"329102cdd33e7b4eec0ce90633e948f5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAttrsComp.ts#400-500","gmt_create":"2025-10-30T16:45:48.5059958+08:00","gmt_modified":"2025-10-30T16:45:48.5059958+08:00"},{"id":1238,"source_id":"86d91ac5705499080176f6626a436473","target_id":"329102cdd33e7b4eec0ce90633e948f5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 400-500","gmt_create":"2025-10-30T16:45:48.5139271+08:00","gmt_modified":"2025-10-30T16:45:48.5139271+08:00"},{"id":1239,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"d0e1cb2c70cf779f035ce3c4bb0f9e92","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAttrsComp.ts#1-489","gmt_create":"2025-10-30T16:45:48.5205949+08:00","gmt_modified":"2025-10-30T16:45:48.5205949+08:00"},{"id":1240,"source_id":"86d91ac5705499080176f6626a436473","target_id":"d0e1cb2c70cf779f035ce3c4bb0f9e92","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-489","gmt_create":"2025-10-30T16:45:48.5267693+08:00","gmt_modified":"2025-10-30T16:45:48.5267693+08:00"},{"id":1241,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"8b5422aa2f9fb766c446b2d6805fa0e3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/BuffComp.ts#1-213","gmt_create":"2025-10-30T16:45:48.5341207+08:00","gmt_modified":"2025-10-30T16:45:48.5341207+08:00"},{"id":1242,"source_id":"6c84e3ce296993895cc6143c08923506","target_id":"8b5422aa2f9fb766c446b2d6805fa0e3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-213","gmt_create":"2025-10-30T16:45:48.539104+08:00","gmt_modified":"2025-10-30T16:45:48.539104+08:00"},{"id":1243,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"c60ea10afe5d06f5de8ba165a5e91cbe","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/Hero.ts#15-35","gmt_create":"2025-10-30T16:45:48.5459003+08:00","gmt_modified":"2025-10-30T16:45:48.5459003+08:00"},{"id":1244,"source_id":"6590fe6946e5d8e76755bdf990bb7449","target_id":"c60ea10afe5d06f5de8ba165a5e91cbe","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-35","gmt_create":"2025-10-30T16:45:48.5509271+08:00","gmt_modified":"2025-10-30T16:45:48.5509271+08:00"},{"id":1245,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"bbcd5d3c5dae635e1f9819c06e979ec5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#15-30","gmt_create":"2025-10-30T16:45:48.5575953+08:00","gmt_modified":"2025-10-30T16:45:48.5575953+08:00"},{"id":1246,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"bbcd5d3c5dae635e1f9819c06e979ec5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-30","gmt_create":"2025-10-30T16:45:48.5641162+08:00","gmt_modified":"2025-10-30T16:45:48.5641162+08:00"},{"id":1247,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"fc448939cb4509f6a65dbd1820228176","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#50-100","gmt_create":"2025-10-30T16:45:48.5763314+08:00","gmt_modified":"2025-10-30T16:45:48.5763314+08:00"},{"id":1248,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"fc448939cb4509f6a65dbd1820228176","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 50-100","gmt_create":"2025-10-30T16:45:48.5838606+08:00","gmt_modified":"2025-10-30T16:45:48.5838606+08:00"},{"id":1249,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"9954355fd6971436738b2867bb7697ff","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/HeroAttrs.ts#500-546","gmt_create":"2025-10-30T16:45:48.5889952+08:00","gmt_modified":"2025-10-30T16:45:48.5889952+08:00"},{"id":1250,"source_id":"54e9ade54b1a5062bcca7bde48ab68a7","target_id":"9954355fd6971436738b2867bb7697ff","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 500-546","gmt_create":"2025-10-30T16:45:48.5953885+08:00","gmt_modified":"2025-10-30T16:45:48.5953885+08:00"},{"id":1251,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"1da9f845ce4bee715b8554745dce9bcd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/TalComp.ts#100-170","gmt_create":"2025-10-30T16:45:48.602627+08:00","gmt_modified":"2025-10-30T16:45:48.602627+08:00"},{"id":1252,"source_id":"19361fb72adf518d116d3330713123c0","target_id":"1da9f845ce4bee715b8554745dce9bcd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 100-170","gmt_create":"2025-10-30T16:45:48.6097319+08:00","gmt_modified":"2025-10-30T16:45:48.6097319+08:00"},{"id":1253,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"f450eb8e47e44acc53108dfb02fbe9a8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#50-271","gmt_create":"2025-10-30T16:45:48.6168534+08:00","gmt_modified":"2025-10-30T16:45:48.6168534+08:00"},{"id":1254,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"f450eb8e47e44acc53108dfb02fbe9a8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 50-271","gmt_create":"2025-10-30T16:45:48.6223797+08:00","gmt_modified":"2025-10-30T16:45:48.6223797+08:00"},{"id":1255,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"4e4c00dafa0c7111cf32c42ac1087240","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/TalComp.ts#100-171","gmt_create":"2025-10-30T16:45:48.6304481+08:00","gmt_modified":"2025-10-30T16:45:48.6304481+08:00"},{"id":1256,"source_id":"19361fb72adf518d116d3330713123c0","target_id":"4e4c00dafa0c7111cf32c42ac1087240","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 100-171","gmt_create":"2025-10-30T16:45:48.6382426+08:00","gmt_modified":"2025-10-30T16:45:48.6382426+08:00"},{"id":1257,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"7fbc2cbc62292f0a01ac71bb5430dc29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAtk.ts#1-247","gmt_create":"2025-10-30T16:45:48.6453675+08:00","gmt_modified":"2025-10-30T16:45:48.6453675+08:00"},{"id":1258,"source_id":"6b693e3956266703aefe006aae2ea6f8","target_id":"7fbc2cbc62292f0a01ac71bb5430dc29","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-247","gmt_create":"2025-10-30T16:45:48.6525588+08:00","gmt_modified":"2025-10-30T16:45:48.6525588+08:00"},{"id":1259,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"f95f3d8abaf76642280be8e804fd3d54","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#200-300","gmt_create":"2025-10-30T16:45:48.6607331+08:00","gmt_modified":"2025-10-30T16:45:48.6607331+08:00"},{"id":1260,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"f95f3d8abaf76642280be8e804fd3d54","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 200-300","gmt_create":"2025-10-30T16:45:48.6667574+08:00","gmt_modified":"2025-10-30T16:45:48.6667574+08:00"},{"id":1261,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"40e0086be310fb0dd254073af0f67625d48805de","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 40e0086be310fb0dd254073af0f67625d48805de","gmt_create":"2025-10-30T16:45:48.6740487+08:00","gmt_modified":"2025-10-30T16:45:48.6740487+08:00"},{"id":1262,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"bdcc606e022e2345cc62d490d320dba111324338","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: bdcc606e022e2345cc62d490d320dba111324338","gmt_create":"2025-10-30T16:45:48.6801155+08:00","gmt_modified":"2025-10-30T16:45:48.6801155+08:00"},{"id":1263,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"55646c3a117fa6ec4eeec9930e25e92ff96c1340","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 55646c3a117fa6ec4eeec9930e25e92ff96c1340","gmt_create":"2025-10-30T16:45:48.6878514+08:00","gmt_modified":"2025-10-30T16:45:48.6878514+08:00"},{"id":1264,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"1281cbd32dbdd7534aa49210157013a8bbd771e4","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 1281cbd32dbdd7534aa49210157013a8bbd771e4","gmt_create":"2025-10-30T16:45:48.6994036+08:00","gmt_modified":"2025-10-30T16:45:48.6994036+08:00"},{"id":1265,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"29e8b7e8e7b33359fdff54e0306b2b63f5f94ee6","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 29e8b7e8e7b33359fdff54e0306b2b63f5f94ee6","gmt_create":"2025-10-30T16:45:48.7143954+08:00","gmt_modified":"2025-10-30T16:45:48.7143954+08:00"},{"id":1266,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"a79cb9f35de528d8873e341ad1b72bd0b6dee1ca","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: a79cb9f35de528d8873e341ad1b72bd0b6dee1ca","gmt_create":"2025-10-30T16:45:48.7211534+08:00","gmt_modified":"2025-10-30T16:45:48.7211534+08:00"},{"id":1267,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"39cb47a7c10606388cf30b76aebfaebb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts","gmt_create":"2025-10-30T16:46:15.5476234+08:00","gmt_modified":"2025-10-30T16:46:15.5476234+08:00"},{"id":1268,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"bc67c0f3a9273338ad4c029fafdb3a95","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\map\\GameMap.ts","gmt_create":"2025-10-30T16:46:15.5542457+08:00","gmt_modified":"2025-10-30T16:46:15.5542457+08:00"},{"id":1269,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"e5c3599d058d7a9d64e3e220e24a7424","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#1-50","gmt_create":"2025-10-30T16:46:15.5631156+08:00","gmt_modified":"2025-10-30T16:46:15.5631156+08:00"},{"id":1270,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"e5c3599d058d7a9d64e3e220e24a7424","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-30T16:46:15.5698595+08:00","gmt_modified":"2025-10-30T16:46:15.5698595+08:00"},{"id":1271,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"39756328458b12afe4005e331e32f68c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\GameMap.ts#1-35","gmt_create":"2025-10-30T16:46:15.5754972+08:00","gmt_modified":"2025-10-30T16:46:15.5754972+08:00"},{"id":1272,"source_id":"bc67c0f3a9273338ad4c029fafdb3a95","target_id":"39756328458b12afe4005e331e32f68c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-35","gmt_create":"2025-10-30T16:46:15.5810349+08:00","gmt_modified":"2025-10-30T16:46:15.5810349+08:00"},{"id":1273,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"bebc095d9ad6e5f82387a1589bb8d294","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#1-173","gmt_create":"2025-10-30T16:46:15.5868469+08:00","gmt_modified":"2025-10-30T16:46:15.5868469+08:00"},{"id":1274,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"bebc095d9ad6e5f82387a1589bb8d294","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-173","gmt_create":"2025-10-30T16:46:15.5934945+08:00","gmt_modified":"2025-10-30T16:46:15.5934945+08:00"},{"id":1275,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"0c3c4d4213af7f98c2a0ccc99fa9ed31","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#31-31","gmt_create":"2025-10-30T16:46:15.6006193+08:00","gmt_modified":"2025-10-30T16:46:15.6006193+08:00"},{"id":1276,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"0c3c4d4213af7f98c2a0ccc99fa9ed31","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-31","gmt_create":"2025-10-30T16:46:15.6067125+08:00","gmt_modified":"2025-10-30T16:46:15.6067125+08:00"},{"id":1277,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"3298d59401f2130668af1e588432d8c7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#18-20","gmt_create":"2025-10-30T16:46:15.6140782+08:00","gmt_modified":"2025-10-30T16:46:15.6140782+08:00"},{"id":1278,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"3298d59401f2130668af1e588432d8c7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-20","gmt_create":"2025-10-30T16:46:15.6197047+08:00","gmt_modified":"2025-10-30T16:46:15.6197047+08:00"},{"id":1279,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"841b5eec0240728d74c06430ae4a2baa","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\heroSet.ts","gmt_create":"2025-10-30T16:46:15.6307071+08:00","gmt_modified":"2025-10-30T16:46:15.6307071+08:00"},{"id":1280,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"ae9b8f006b0fed0ede787e8083501356","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\common\\config\\heroSet.ts#20-215","gmt_create":"2025-10-30T16:46:15.6373581+08:00","gmt_modified":"2025-10-30T16:46:15.6373581+08:00"},{"id":1281,"source_id":"841b5eec0240728d74c06430ae4a2baa","target_id":"ae9b8f006b0fed0ede787e8083501356","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-215","gmt_create":"2025-10-30T16:46:15.6457799+08:00","gmt_modified":"2025-10-30T16:46:15.6457799+08:00"},{"id":1282,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"538ed4247a027ea7ea0bdab3dab40cb9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#95-173","gmt_create":"2025-10-30T16:46:15.6552749+08:00","gmt_modified":"2025-10-30T16:46:15.6552749+08:00"},{"id":1283,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"538ed4247a027ea7ea0bdab3dab40cb9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 95-173","gmt_create":"2025-10-30T16:46:15.6618351+08:00","gmt_modified":"2025-10-30T16:46:15.6618351+08:00"},{"id":1284,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"ceb769e34204427a411dc6d3ed10f704","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#35-40","gmt_create":"2025-10-30T16:46:15.669057+08:00","gmt_modified":"2025-10-30T16:46:15.669057+08:00"},{"id":1285,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"ceb769e34204427a411dc6d3ed10f704","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-40","gmt_create":"2025-10-30T16:46:15.6751399+08:00","gmt_modified":"2025-10-30T16:46:15.6751399+08:00"},{"id":1286,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"0089c28a4682db1f0bbb702e868ff510","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#45-56","gmt_create":"2025-10-30T16:46:15.6828827+08:00","gmt_modified":"2025-10-30T16:46:15.6828827+08:00"},{"id":1287,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"0089c28a4682db1f0bbb702e868ff510","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-56","gmt_create":"2025-10-30T16:46:15.6934655+08:00","gmt_modified":"2025-10-30T16:46:15.6934655+08:00"},{"id":1288,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"e226bc8a329163b5abcb59dc0a43000f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\RogueConfig.ts#69-73","gmt_create":"2025-10-30T16:46:15.7032382+08:00","gmt_modified":"2025-10-30T16:46:15.7032382+08:00"},{"id":1289,"source_id":"39cb47a7c10606388cf30b76aebfaebb","target_id":"e226bc8a329163b5abcb59dc0a43000f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 69-73","gmt_create":"2025-10-30T16:46:15.7106744+08:00","gmt_modified":"2025-10-30T16:46:15.7106744+08:00"},{"id":1290,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"301ed578267d355350772506438a26b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\GameMap.ts#20-35","gmt_create":"2025-10-30T16:46:15.7223503+08:00","gmt_modified":"2025-10-30T16:46:15.7223503+08:00"},{"id":1291,"source_id":"bc67c0f3a9273338ad4c029fafdb3a95","target_id":"301ed578267d355350772506438a26b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-35","gmt_create":"2025-10-30T16:46:15.728979+08:00","gmt_modified":"2025-10-30T16:46:15.728979+08:00"},{"id":1292,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"bf584562c45f7dc7f6b3ea480e26904b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: c:\\cocos\\heros\\assets\\script\\game\\map\\GameMap.ts#25-35","gmt_create":"2025-10-30T16:46:15.7364663+08:00","gmt_modified":"2025-10-30T16:46:15.7364663+08:00"},{"id":1293,"source_id":"bc67c0f3a9273338ad4c029fafdb3a95","target_id":"bf584562c45f7dc7f6b3ea480e26904b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-35","gmt_create":"2025-10-30T16:46:15.7442447+08:00","gmt_modified":"2025-10-30T16:46:15.7442447+08:00"},{"id":1294,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"edb7f23918dac1c3a9cc2e79d20399066a694e1b","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: edb7f23918dac1c3a9cc2e79d20399066a694e1b","gmt_create":"2025-10-30T16:46:15.7585952+08:00","gmt_modified":"2025-10-30T16:46:15.7585952+08:00"},{"id":1295,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"97fa0b4a759e9c84a09d7c6576af2ad9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/initialize/Initialize.ts","gmt_create":"2025-10-30T16:47:39.9434207+08:00","gmt_modified":"2025-10-30T16:47:39.9434207+08:00"},{"id":1296,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"46fce2862caa7076385508f79421f313","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/initialize/view/LoadingViewComp.ts","gmt_create":"2025-10-30T16:47:39.9484783+08:00","gmt_modified":"2025-10-30T16:47:39.9484783+08:00"},{"id":1297,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"149ad16f650a03be2be72bfdcb3a8ff2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/GameEvent.ts","gmt_create":"2025-10-30T16:47:39.9534769+08:00","gmt_modified":"2025-10-30T16:47:39.9534769+08:00"},{"id":1298,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"3b5310e63f2b7b3bbf3e0852062ce0c3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/config/BoxSet.ts","gmt_create":"2025-10-30T16:47:39.9596041+08:00","gmt_modified":"2025-10-30T16:47:39.9596041+08:00"},{"id":1299,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"34840ed043448df3e2d822bfce6f3cd9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/Main.ts","gmt_create":"2025-10-30T16:47:39.965191+08:00","gmt_modified":"2025-10-30T16:47:39.965191+08:00"},{"id":1300,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"8c139dc4cdda963ac6ba8f5d3d7c716a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/GameMap.ts","gmt_create":"2025-10-30T16:47:39.9713854+08:00","gmt_modified":"2025-10-30T16:47:39.9713854+08:00"},{"id":1301,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-30T16:47:39.9780826+08:00","gmt_modified":"2025-10-30T16:47:39.9780826+08:00"},{"id":1302,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"134588a5ee3c64b37a2b9e6a9b7a2846","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/core/common/event.md","gmt_create":"2025-10-30T16:47:39.9869931+08:00","gmt_modified":"2025-10-30T16:47:39.9869931+08:00"},{"id":1303,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"11ddf6386c9a1d4eb208723cb69eb4d9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/core/common/loader.md","gmt_create":"2025-10-30T16:47:39.9942132+08:00","gmt_modified":"2025-10-30T16:47:39.9942132+08:00"},{"id":1304,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"513ea52f734ed68f1dc8bad330c8d097","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/core/common/storage.md","gmt_create":"2025-10-30T16:47:40.0008854+08:00","gmt_modified":"2025-10-30T16:47:40.0008854+08:00"},{"id":1305,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"6fe19f7a3876795ce719853671c9601a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-30T16:47:40.0081224+08:00","gmt_modified":"2025-10-30T16:47:40.0081224+08:00"},{"id":1306,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"b9778ad6079066adc4b276ef182a43dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/Mon.ts","gmt_create":"2025-10-30T16:47:40.0170763+08:00","gmt_modified":"2025-10-30T16:47:40.0170763+08:00"},{"id":1307,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"c1a967bfd32071f301854a3c8f34dfae","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/EBusComp.ts","gmt_create":"2025-10-30T16:47:40.0268145+08:00","gmt_modified":"2025-10-30T16:47:40.0268145+08:00"},{"id":1308,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"7e01a78db6d0d1b47f507bcc9a225c5b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/Main.ts#1-41","gmt_create":"2025-10-30T16:47:40.0352798+08:00","gmt_modified":"2025-10-30T16:47:40.0352798+08:00"},{"id":1309,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"f8f423ce39f6aef6484456489dc3d7f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#1-207","gmt_create":"2025-10-30T16:47:40.0455922+08:00","gmt_modified":"2025-10-30T16:47:40.0455922+08:00"},{"id":1310,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"f6204bd47a4ab402fc82502942e8e2ae","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/view/LoadingViewComp.ts#1-91","gmt_create":"2025-10-30T16:47:40.0539677+08:00","gmt_modified":"2025-10-30T16:47:40.0539677+08:00"},{"id":1311,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"831735607a7949f6d29be7acb8b14e18","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/EBusComp.ts#6-89","gmt_create":"2025-10-30T16:47:40.0618889+08:00","gmt_modified":"2025-10-30T16:47:40.0618889+08:00"},{"id":1312,"source_id":"c1a967bfd32071f301854a3c8f34dfae","target_id":"831735607a7949f6d29be7acb8b14e18","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 6-89","gmt_create":"2025-10-30T16:47:40.0687392+08:00","gmt_modified":"2025-10-30T16:47:40.0687392+08:00"},{"id":1313,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"11603f48619a420f074e29a9fce83432","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#25-40","gmt_create":"2025-10-30T16:47:40.07646+08:00","gmt_modified":"2025-10-30T16:47:40.07646+08:00"},{"id":1314,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"93e528ba990fd4b108b47405c34d63ae","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/view/LoadingViewComp.ts#75-91","gmt_create":"2025-10-30T16:47:40.0875766+08:00","gmt_modified":"2025-10-30T16:47:40.0875766+08:00"},{"id":1315,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"d2047033b4b21ec79418ab611173354f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#42-207","gmt_create":"2025-10-30T16:47:40.0959464+08:00","gmt_modified":"2025-10-30T16:47:40.0959464+08:00"},{"id":1316,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"65365d0af6e09e40842dad0d46135fba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/view/LoadingViewComp.ts#50-91","gmt_create":"2025-10-30T16:47:40.1037457+08:00","gmt_modified":"2025-10-30T16:47:40.1037457+08:00"},{"id":1317,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"b9a7e30eb09bcefd0f401120b7f4ee90","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/GameEvent.ts#1-70","gmt_create":"2025-10-30T16:47:40.1121425+08:00","gmt_modified":"2025-10-30T16:47:40.1121425+08:00"},{"id":1318,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"cab85760490510ff7b49d6a4cfa68f76","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/core/common/event.md#1-44","gmt_create":"2025-10-30T16:47:40.1186045+08:00","gmt_modified":"2025-10-30T16:47:40.1186045+08:00"},{"id":1319,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"77afe4cff7ba3b829ddd89df108e43a8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/core/common/loader.md#1-91","gmt_create":"2025-10-30T16:47:40.1278442+08:00","gmt_modified":"2025-10-30T16:47:40.1278442+08:00"},{"id":1320,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"a36042df076f59536a7e789c89b09c7e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/core/common/storage.md#1-39","gmt_create":"2025-10-30T16:47:40.1339046+08:00","gmt_modified":"2025-10-30T16:47:40.1339046+08:00"},{"id":1321,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"89597afa0c8cea3ee5d848a27f2cfdd6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/config/BoxSet.ts#1-109","gmt_create":"2025-10-30T16:47:40.1415562+08:00","gmt_modified":"2025-10-30T16:47:40.1415562+08:00"},{"id":1322,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"801a299cee93b05d6ff689b2f9066b4c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#21-23","gmt_create":"2025-10-30T16:47:40.1487727+08:00","gmt_modified":"2025-10-30T16:47:40.1487727+08:00"},{"id":1323,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"ede8bf9e076d0cf971b1f8255da908df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#69-73","gmt_create":"2025-10-30T16:47:40.1550461+08:00","gmt_modified":"2025-10-30T16:47:40.1550461+08:00"},{"id":1324,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"6e63b2a364ca754b51e77bb5d612934e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#79-88","gmt_create":"2025-10-30T16:47:40.1617886+08:00","gmt_modified":"2025-10-30T16:47:40.1617886+08:00"},{"id":1325,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"6376e28d42ccacfc5d390f109669687e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#95-173","gmt_create":"2025-10-30T16:47:40.169603+08:00","gmt_modified":"2025-10-30T16:47:40.169603+08:00"},{"id":1326,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"70e98a62cc69b9276b26e1627a592fd5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-30T16:47:40.1759885+08:00","gmt_modified":"2025-10-30T16:47:40.1759885+08:00"},{"id":1327,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"099fc495f0332ae0b2d2719b92dec19f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/MissionMonComp.ts#15-199","gmt_create":"2025-10-30T16:47:40.1816577+08:00","gmt_modified":"2025-10-30T16:47:40.1816577+08:00"},{"id":1328,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"bfbf4afa635806338197ae22839e7ddb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#1-194","gmt_create":"2025-10-30T16:47:40.1906335+08:00","gmt_modified":"2025-10-30T16:47:40.1906335+08:00"},{"id":1329,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"f11a94deb1fe186076b31a00340b218b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/RogueConfig.ts#0-178","gmt_create":"2025-10-30T16:47:40.1971541+08:00","gmt_modified":"2025-10-30T16:47:40.1971541+08:00"},{"id":1330,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"edb7f23918dac1c3a9cc2e79d20399066a694e1b","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: edb7f23918dac1c3a9cc2e79d20399066a694e1b","gmt_create":"2025-10-30T16:47:40.2051393+08:00","gmt_modified":"2025-10-30T16:47:40.2051393+08:00"},{"id":1331,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"a79cb9f35de528d8873e341ad1b72bd0b6dee1ca","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: a79cb9f35de528d8873e341ad1b72bd0b6dee1ca","gmt_create":"2025-10-30T16:47:40.2106858+08:00","gmt_modified":"2025-10-30T16:47:40.2106858+08:00"},{"id":1332,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"34840ed043448df3e2d822bfce6f3cd9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/Main.ts","gmt_create":"2025-10-30T16:48:12.8812629+08:00","gmt_modified":"2025-10-30T16:48:12.8812629+08:00"},{"id":1333,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"97fa0b4a759e9c84a09d7c6576af2ad9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/initialize/Initialize.ts","gmt_create":"2025-10-30T16:48:12.8859816+08:00","gmt_modified":"2025-10-30T16:48:12.8859816+08:00"},{"id":1334,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"f8f423ce39f6aef6484456489dc3d7f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#1-207","gmt_create":"2025-10-30T16:48:12.8923945+08:00","gmt_modified":"2025-10-30T16:48:12.8923945+08:00"},{"id":1335,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-30T16:48:12.8998952+08:00","gmt_modified":"2025-10-30T16:48:12.8998952+08:00"},{"id":1336,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"0ebf1193638775951b26a38b6d2eafb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#1-195","gmt_create":"2025-10-30T16:48:12.90448+08:00","gmt_modified":"2025-10-30T16:48:12.90448+08:00"},{"id":1337,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"0ebf1193638775951b26a38b6d2eafb1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-195","gmt_create":"2025-10-30T16:48:12.9101082+08:00","gmt_modified":"2025-10-30T16:48:12.9101082+08:00"},{"id":1338,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"1b0bcfc084e9b397cd728b94c434658b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HSkillSystem.ts","gmt_create":"2025-10-30T16:48:12.9151788+08:00","gmt_modified":"2025-10-30T16:48:12.9151788+08:00"},{"id":1339,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"e056e50a16a017f35868c4a8c284fe88","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#1-272","gmt_create":"2025-10-30T16:48:12.9203283+08:00","gmt_modified":"2025-10-30T16:48:12.9203283+08:00"},{"id":1340,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"e056e50a16a017f35868c4a8c284fe88","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-272","gmt_create":"2025-10-30T16:48:12.9272011+08:00","gmt_modified":"2025-10-30T16:48:12.9272011+08:00"},{"id":1341,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"6b693e3956266703aefe006aae2ea6f8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAtk.ts","gmt_create":"2025-10-30T16:48:12.9329451+08:00","gmt_modified":"2025-10-30T16:48:12.9329451+08:00"},{"id":1342,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"3ba3aba896ed078adc851c714c1be7f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAtk.ts#1-248","gmt_create":"2025-10-30T16:48:12.9388487+08:00","gmt_modified":"2025-10-30T16:48:12.9388487+08:00"},{"id":1343,"source_id":"6b693e3956266703aefe006aae2ea6f8","target_id":"3ba3aba896ed078adc851c714c1be7f0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-248","gmt_create":"2025-10-30T16:48:12.9441356+08:00","gmt_modified":"2025-10-30T16:48:12.9441356+08:00"},{"id":1344,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"86d91ac5705499080176f6626a436473","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAttrsComp.ts","gmt_create":"2025-10-30T16:48:12.9493336+08:00","gmt_modified":"2025-10-30T16:48:12.9493336+08:00"},{"id":1345,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"692da5b5a6ed3fc77a86c816ad804339","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAttrsComp.ts#1-380","gmt_create":"2025-10-30T16:48:12.9560503+08:00","gmt_modified":"2025-10-30T16:48:12.9560503+08:00"},{"id":1346,"source_id":"86d91ac5705499080176f6626a436473","target_id":"692da5b5a6ed3fc77a86c816ad804339","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-380","gmt_create":"2025-10-30T16:48:12.9623618+08:00","gmt_modified":"2025-10-30T16:48:12.9623618+08:00"},{"id":1347,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"4199d1159ca21ba580dfeab42ad5a17a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroViewComp.ts","gmt_create":"2025-10-30T16:48:12.9680234+08:00","gmt_modified":"2025-10-30T16:48:12.9680234+08:00"},{"id":1348,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"91d8b3d6c847a17689ad9de3b324048b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#1-780","gmt_create":"2025-10-30T16:48:12.9733684+08:00","gmt_modified":"2025-10-30T16:48:12.9733684+08:00"},{"id":1349,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"91d8b3d6c847a17689ad9de3b324048b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-780","gmt_create":"2025-10-30T16:48:12.979038+08:00","gmt_modified":"2025-10-30T16:48:12.979038+08:00"},{"id":1350,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"cb84194ad3ff858116a2e22ef24edf68","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/model/MapModelComp.ts","gmt_create":"2025-10-30T16:48:12.9840391+08:00","gmt_modified":"2025-10-30T16:48:12.9840391+08:00"},{"id":1351,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"d7ee26dbb506f5bd77891b9f9e5fe619","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/view/MapViewComp.ts","gmt_create":"2025-10-30T16:48:12.9902786+08:00","gmt_modified":"2025-10-30T16:48:12.9902786+08:00"},{"id":1352,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/ecs/ecs.md","gmt_create":"2025-10-30T16:48:12.9965295+08:00","gmt_modified":"2025-10-30T16:48:12.9965295+08:00"},{"id":1353,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"6fddcd40ac02e8cd765838e7c2e94edb","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/mvvm/MvvmInfo.md","gmt_create":"2025-10-30T16:48:13.0023369+08:00","gmt_modified":"2025-10-30T16:48:13.0023369+08:00"},{"id":1354,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"7e01a78db6d0d1b47f507bcc9a225c5b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/Main.ts#1-41","gmt_create":"2025-10-30T16:48:13.0116898+08:00","gmt_modified":"2025-10-30T16:48:13.0116898+08:00"},{"id":1355,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"436b4df789022ca254b3c485733b4b24","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroSkills.ts","gmt_create":"2025-10-30T16:48:13.0213066+08:00","gmt_modified":"2025-10-30T16:48:13.0213066+08:00"},{"id":1356,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"575d3bf4687d4ad9c0c3cf2fa78efbe7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroSkills.ts#1-150","gmt_create":"2025-10-30T16:48:13.0286407+08:00","gmt_modified":"2025-10-30T16:48:13.0286407+08:00"},{"id":1357,"source_id":"436b4df789022ca254b3c485733b4b24","target_id":"575d3bf4687d4ad9c0c3cf2fa78efbe7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-150","gmt_create":"2025-10-30T16:48:13.0382984+08:00","gmt_modified":"2025-10-30T16:48:13.0382984+08:00"},{"id":1358,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"468d0ac3397ae6b5e276668c65cd6136","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/ecs/ecs.md#1-357","gmt_create":"2025-10-30T16:48:13.0448544+08:00","gmt_modified":"2025-10-30T16:48:13.0448544+08:00"},{"id":1359,"source_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","target_id":"468d0ac3397ae6b5e276668c65cd6136","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-357","gmt_create":"2025-10-30T16:48:13.0498268+08:00","gmt_modified":"2025-10-30T16:48:13.0498268+08:00"},{"id":1360,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"1435f432b5f932f0668541d3d32c39d2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/mvvm/MvvmInfo.md#1-52","gmt_create":"2025-10-30T16:48:13.060212+08:00","gmt_modified":"2025-10-30T16:48:13.060212+08:00"},{"id":1361,"source_id":"6fddcd40ac02e8cd765838e7c2e94edb","target_id":"1435f432b5f932f0668541d3d32c39d2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-52","gmt_create":"2025-10-30T16:48:13.0658569+08:00","gmt_modified":"2025-10-30T16:48:13.0658569+08:00"},{"id":1362,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"377fc7e7698f3896b79803b701459130","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/mvvm/MvvmInfo.md#30-51","gmt_create":"2025-10-30T16:48:13.0710385+08:00","gmt_modified":"2025-10-30T16:48:13.0710385+08:00"},{"id":1363,"source_id":"6fddcd40ac02e8cd765838e7c2e94edb","target_id":"377fc7e7698f3896b79803b701459130","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-51","gmt_create":"2025-10-30T16:48:13.07695+08:00","gmt_modified":"2025-10-30T16:48:13.07695+08:00"},{"id":1364,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"1a19f76695efdb7033e3a2e1d3127290","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/SingletonModuleComp.ts#80-150","gmt_create":"2025-10-30T16:48:13.0871816+08:00","gmt_modified":"2025-10-30T16:48:13.0871816+08:00"},{"id":1365,"source_id":"4475315b5ec34a67f2e7dc19d93b9817","target_id":"1a19f76695efdb7033e3a2e1d3127290","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 80-150","gmt_create":"2025-10-30T16:48:13.0937498+08:00","gmt_modified":"2025-10-30T16:48:13.0937498+08:00"},{"id":1366,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"f4cfa11b8a40329f87a85dfaf23fad60","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#20-207","gmt_create":"2025-10-30T16:48:13.1027662+08:00","gmt_modified":"2025-10-30T16:48:13.1027662+08:00"},{"id":1367,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"f4cfa11b8a40329f87a85dfaf23fad60","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-207","gmt_create":"2025-10-30T16:48:13.1095318+08:00","gmt_modified":"2025-10-30T16:48:13.1095318+08:00"},{"id":1368,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"742ab059e7adda20d002299a833182f3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/Main.ts#15-41","gmt_create":"2025-10-30T16:48:13.1203729+08:00","gmt_modified":"2025-10-30T16:48:13.1203729+08:00"},{"id":1369,"source_id":"34840ed043448df3e2d822bfce6f3cd9","target_id":"742ab059e7adda20d002299a833182f3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-41","gmt_create":"2025-10-30T16:48:13.1264928+08:00","gmt_modified":"2025-10-30T16:48:13.1264928+08:00"},{"id":1370,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"1822d4431b7c3a060f78a770a5782112","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/initialize/Initialize.ts#20-50","gmt_create":"2025-10-30T16:48:13.1325321+08:00","gmt_modified":"2025-10-30T16:48:13.1325321+08:00"},{"id":1371,"source_id":"97fa0b4a759e9c84a09d7c6576af2ad9","target_id":"1822d4431b7c3a060f78a770a5782112","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-50","gmt_create":"2025-10-30T16:48:13.1382353+08:00","gmt_modified":"2025-10-30T16:48:13.1382353+08:00"},{"id":1372,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"40e0086be310fb0dd254073af0f67625d48805de","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 40e0086be310fb0dd254073af0f67625d48805de","gmt_create":"2025-10-30T16:48:13.144606+08:00","gmt_modified":"2025-10-30T16:48:13.144606+08:00"},{"id":1373,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"7984f8b7845d3598a0b121fff865aee41c795e55","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 7984f8b7845d3598a0b121fff865aee41c795e55","gmt_create":"2025-10-30T16:48:13.1557939+08:00","gmt_modified":"2025-10-30T16:48:13.1557939+08:00"},{"id":1374,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"55646c3a117fa6ec4eeec9930e25e92ff96c1340","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 55646c3a117fa6ec4eeec9930e25e92ff96c1340","gmt_create":"2025-10-30T16:48:13.1608592+08:00","gmt_modified":"2025-10-30T16:48:13.1608592+08:00"},{"id":1375,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"1bdf0135febf814703a132d4fafd505c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/ecs/position/BattleMoveComp.ts","gmt_create":"2025-10-30T16:49:01.1971443+08:00","gmt_modified":"2025-10-30T16:49:01.1971443+08:00"},{"id":1376,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"ca315eae9d37ba907f4a7150d7c8063b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/ecs/position/BattleMoveSystem.ts","gmt_create":"2025-10-30T16:49:01.2022981+08:00","gmt_modified":"2025-10-30T16:49:01.2022981+08:00"},{"id":1377,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"a08f1bcf1135865fae61b8bba1e34473","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/ecs/position/EcsPositionSystem.ts","gmt_create":"2025-10-30T16:49:01.208707+08:00","gmt_modified":"2025-10-30T16:49:01.208707+08:00"},{"id":1378,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"4199d1159ca21ba580dfeab42ad5a17a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroViewComp.ts","gmt_create":"2025-10-30T16:49:01.2150329+08:00","gmt_modified":"2025-10-30T16:49:01.2150329+08:00"},{"id":1379,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"cb84194ad3ff858116a2e22ef24edf68","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/map/model/MapModelComp.ts","gmt_create":"2025-10-30T16:49:01.2205916+08:00","gmt_modified":"2025-10-30T16:49:01.2205916+08:00"},{"id":1380,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"4475315b5ec34a67f2e7dc19d93b9817","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/common/SingletonModuleComp.ts","gmt_create":"2025-10-30T16:49:01.2263561+08:00","gmt_modified":"2025-10-30T16:49:01.2263561+08:00"},{"id":1381,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: doc/ecs/ecs.md","gmt_create":"2025-10-30T16:49:01.2325937+08:00","gmt_modified":"2025-10-30T16:49:01.2325937+08:00"},{"id":1382,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"34840ed043448df3e2d822bfce6f3cd9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/Main.ts","gmt_create":"2025-10-30T16:49:01.2381608+08:00","gmt_modified":"2025-10-30T16:49:01.2381608+08:00"},{"id":1383,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"6b693e3956266703aefe006aae2ea6f8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAtk.ts","gmt_create":"2025-10-30T16:49:01.2448258+08:00","gmt_modified":"2025-10-30T16:49:01.2448258+08:00"},{"id":1384,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"86d91ac5705499080176f6626a436473","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroAttrsComp.ts","gmt_create":"2025-10-30T16:49:01.2497962+08:00","gmt_modified":"2025-10-30T16:49:01.2497962+08:00"},{"id":1385,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"1b0bcfc084e9b397cd728b94c434658b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HSkillSystem.ts","gmt_create":"2025-10-30T16:49:01.2569183+08:00","gmt_modified":"2025-10-30T16:49:01.2569183+08:00"},{"id":1386,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"503e23e27fe65de6eeb7c56fe5ddc4e3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/ecs/ecs.md#1-27","gmt_create":"2025-10-30T16:49:01.2649441+08:00","gmt_modified":"2025-10-30T16:49:01.2649441+08:00"},{"id":1387,"source_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","target_id":"503e23e27fe65de6eeb7c56fe5ddc4e3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-27","gmt_create":"2025-10-30T16:49:01.2742892+08:00","gmt_modified":"2025-10-30T16:49:01.2742892+08:00"},{"id":1388,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"58f6a49092329cd55765c02bef96b3fe","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveComp.ts#1-16","gmt_create":"2025-10-30T16:49:01.2792075+08:00","gmt_modified":"2025-10-30T16:49:01.2792075+08:00"},{"id":1389,"source_id":"1bdf0135febf814703a132d4fafd505c","target_id":"58f6a49092329cd55765c02bef96b3fe","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-16","gmt_create":"2025-10-30T16:49:01.2848243+08:00","gmt_modified":"2025-10-30T16:49:01.2848243+08:00"},{"id":1390,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"649583c23b84573bf01fa0a6e45050b6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#1-50","gmt_create":"2025-10-30T16:49:01.2894795+08:00","gmt_modified":"2025-10-30T16:49:01.2894795+08:00"},{"id":1391,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"649583c23b84573bf01fa0a6e45050b6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-30T16:49:01.2962427+08:00","gmt_modified":"2025-10-30T16:49:01.2962427+08:00"},{"id":1392,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"79b9f349d3439ba6a9f699ddbd7bfe67","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/map/model/MapModelComp.ts#1-43","gmt_create":"2025-10-30T16:49:01.3019756+08:00","gmt_modified":"2025-10-30T16:49:01.3019756+08:00"},{"id":1393,"source_id":"cb84194ad3ff858116a2e22ef24edf68","target_id":"79b9f349d3439ba6a9f699ddbd7bfe67","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-43","gmt_create":"2025-10-30T16:49:01.3101649+08:00","gmt_modified":"2025-10-30T16:49:01.3101649+08:00"},{"id":1394,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"83bf0b301874e0db34533faf1134f6d5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/ecs/ecs.md#45-87","gmt_create":"2025-10-30T16:49:01.3174907+08:00","gmt_modified":"2025-10-30T16:49:01.3174907+08:00"},{"id":1395,"source_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","target_id":"83bf0b301874e0db34533faf1134f6d5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-87","gmt_create":"2025-10-30T16:49:01.3231847+08:00","gmt_modified":"2025-10-30T16:49:01.3231847+08:00"},{"id":1396,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"4e8e48b1a6d1857b23f54881016d0d19","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/ecs/ecs.md#15-45","gmt_create":"2025-10-30T16:49:01.3297124+08:00","gmt_modified":"2025-10-30T16:49:01.3297124+08:00"},{"id":1397,"source_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","target_id":"4e8e48b1a6d1857b23f54881016d0d19","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-45","gmt_create":"2025-10-30T16:49:01.3360118+08:00","gmt_modified":"2025-10-30T16:49:01.3360118+08:00"},{"id":1398,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"f188469f59565d980ccea7c338cd76ef","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/ecs/ecs.md#29-87","gmt_create":"2025-10-30T16:49:01.343444+08:00","gmt_modified":"2025-10-30T16:49:01.343444+08:00"},{"id":1399,"source_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","target_id":"f188469f59565d980ccea7c338cd76ef","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-87","gmt_create":"2025-10-30T16:49:01.3490232+08:00","gmt_modified":"2025-10-30T16:49:01.3490232+08:00"},{"id":1400,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"21c219252bfd5a49adaf2aad4e8942a1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#1-50","gmt_create":"2025-10-30T16:49:01.3574951+08:00","gmt_modified":"2025-10-30T16:49:01.3574951+08:00"},{"id":1401,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"21c219252bfd5a49adaf2aad4e8942a1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-50","gmt_create":"2025-10-30T16:49:01.3636084+08:00","gmt_modified":"2025-10-30T16:49:01.3636084+08:00"},{"id":1402,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"aac08bcae13d06e149ea532343265203","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/EcsPositionSystem.ts#1-9","gmt_create":"2025-10-30T16:49:01.3706063+08:00","gmt_modified":"2025-10-30T16:49:01.3706063+08:00"},{"id":1403,"source_id":"a08f1bcf1135865fae61b8bba1e34473","target_id":"aac08bcae13d06e149ea532343265203","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-9","gmt_create":"2025-10-30T16:49:01.3767295+08:00","gmt_modified":"2025-10-30T16:49:01.3767295+08:00"},{"id":1404,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"30dcf960f65615a73078e7fc06036ec2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/ecs/ecs.md#88-128","gmt_create":"2025-10-30T16:49:01.3858371+08:00","gmt_modified":"2025-10-30T16:49:01.3858371+08:00"},{"id":1405,"source_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","target_id":"30dcf960f65615a73078e7fc06036ec2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 88-128","gmt_create":"2025-10-30T16:49:01.3932293+08:00","gmt_modified":"2025-10-30T16:49:01.3932293+08:00"},{"id":1406,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"2c36cf2710db8093624b243cebc8eb33","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#10-30","gmt_create":"2025-10-30T16:49:01.3989442+08:00","gmt_modified":"2025-10-30T16:49:01.3989442+08:00"},{"id":1407,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"2c36cf2710db8093624b243cebc8eb33","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-30","gmt_create":"2025-10-30T16:49:01.4050939+08:00","gmt_modified":"2025-10-30T16:49:01.4050939+08:00"},{"id":1408,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"bef6eb571d4927935764e1711ad73448","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#1-272","gmt_create":"2025-10-30T16:49:01.4119211+08:00","gmt_modified":"2025-10-30T16:49:01.4119211+08:00"},{"id":1409,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"bef6eb571d4927935764e1711ad73448","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-272","gmt_create":"2025-10-30T16:49:01.4180614+08:00","gmt_modified":"2025-10-30T16:49:01.4180614+08:00"},{"id":1410,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"07acee9e68040f2fcfe5ac4453f15286","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#10-20","gmt_create":"2025-10-30T16:49:01.4262146+08:00","gmt_modified":"2025-10-30T16:49:01.4262146+08:00"},{"id":1411,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"07acee9e68040f2fcfe5ac4453f15286","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-20","gmt_create":"2025-10-30T16:49:01.4319022+08:00","gmt_modified":"2025-10-30T16:49:01.4319022+08:00"},{"id":1412,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"36b9860cc0980fceaa482fdd9e6e3182","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveComp.ts#4-12","gmt_create":"2025-10-30T16:49:01.4381584+08:00","gmt_modified":"2025-10-30T16:49:01.4381584+08:00"},{"id":1413,"source_id":"1bdf0135febf814703a132d4fafd505c","target_id":"36b9860cc0980fceaa482fdd9e6e3182","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-12","gmt_create":"2025-10-30T16:49:01.4436821+08:00","gmt_modified":"2025-10-30T16:49:01.4436821+08:00"},{"id":1414,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"ca8cc3f3a28c17fcc70cfb1bdde094ed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/common/ecs/position/BattleMoveSystem.ts#15-272","gmt_create":"2025-10-30T16:49:01.450983+08:00","gmt_modified":"2025-10-30T16:49:01.450983+08:00"},{"id":1415,"source_id":"ca315eae9d37ba907f4a7150d7c8063b","target_id":"ca8cc3f3a28c17fcc70cfb1bdde094ed","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-272","gmt_create":"2025-10-30T16:49:01.457863+08:00","gmt_modified":"2025-10-30T16:49:01.457863+08:00"},{"id":1416,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"79c62a7448f130760da2878580960ce5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#60-120","gmt_create":"2025-10-30T16:49:01.4645532+08:00","gmt_modified":"2025-10-30T16:49:01.4645532+08:00"},{"id":1417,"source_id":"4199d1159ca21ba580dfeab42ad5a17a","target_id":"79c62a7448f130760da2878580960ce5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 60-120","gmt_create":"2025-10-30T16:49:01.4697242+08:00","gmt_modified":"2025-10-30T16:49:01.4697242+08:00"},{"id":1418,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"91d8b3d6c847a17689ad9de3b324048b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroViewComp.ts#1-780","gmt_create":"2025-10-30T16:49:01.4762465+08:00","gmt_modified":"2025-10-30T16:49:01.4762465+08:00"},{"id":1419,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"7c58a3ed69bb5960d14fe7feb02ee902","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#17-29","gmt_create":"2025-10-30T16:49:01.4832486+08:00","gmt_modified":"2025-10-30T16:49:01.4832486+08:00"},{"id":1420,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"7c58a3ed69bb5960d14fe7feb02ee902","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 17-29","gmt_create":"2025-10-30T16:49:01.4907735+08:00","gmt_modified":"2025-10-30T16:49:01.4907735+08:00"},{"id":1421,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"436b4df789022ca254b3c485733b4b24","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: assets/script/game/hero/HeroSkills.ts","gmt_create":"2025-10-30T16:49:01.4975529+08:00","gmt_modified":"2025-10-30T16:49:01.4975529+08:00"},{"id":1422,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"3095954cbc2f07f34054667b72bddaa3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroSkills.ts#1-200","gmt_create":"2025-10-30T16:49:01.5021493+08:00","gmt_modified":"2025-10-30T16:49:01.5021493+08:00"},{"id":1423,"source_id":"436b4df789022ca254b3c485733b4b24","target_id":"3095954cbc2f07f34054667b72bddaa3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2025-10-30T16:49:01.5072219+08:00","gmt_modified":"2025-10-30T16:49:01.5072219+08:00"},{"id":1424,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"f923a00cda6749b0c3eb1571c7dc1bb8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#47-271","gmt_create":"2025-10-30T16:49:01.5123989+08:00","gmt_modified":"2025-10-30T16:49:01.5123989+08:00"},{"id":1425,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"f923a00cda6749b0c3eb1571c7dc1bb8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-271","gmt_create":"2025-10-30T16:49:01.5180332+08:00","gmt_modified":"2025-10-30T16:49:01.5180332+08:00"},{"id":1426,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"ae97e33da377d978dc89ae2ef677614b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#47-171","gmt_create":"2025-10-30T16:49:01.523899+08:00","gmt_modified":"2025-10-30T16:49:01.523899+08:00"},{"id":1427,"source_id":"1b0bcfc084e9b397cd728b94c434658b","target_id":"ae97e33da377d978dc89ae2ef677614b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-171","gmt_create":"2025-10-30T16:49:01.5305376+08:00","gmt_modified":"2025-10-30T16:49:01.5305376+08:00"},{"id":1428,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"e9d29edbee644d4e6499a384a2c45062","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HSkillSystem.ts#1-271","gmt_create":"2025-10-30T16:49:01.5368041+08:00","gmt_modified":"2025-10-30T16:49:01.5368041+08:00"},{"id":1429,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"73facd28782fd96f64a7f0120cf783e5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: assets/script/game/hero/HeroAtk.ts#18-247","gmt_create":"2025-10-30T16:49:01.5444087+08:00","gmt_modified":"2025-10-30T16:49:01.5444087+08:00"},{"id":1430,"source_id":"6b693e3956266703aefe006aae2ea6f8","target_id":"73facd28782fd96f64a7f0120cf783e5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-247","gmt_create":"2025-10-30T16:49:01.5511059+08:00","gmt_modified":"2025-10-30T16:49:01.5511059+08:00"},{"id":1431,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"ff82f887016994dfafca6635fe75ad51","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: doc/ecs/ecs.md#129-272","gmt_create":"2025-10-30T16:49:01.5573192+08:00","gmt_modified":"2025-10-30T16:49:01.5573192+08:00"},{"id":1432,"source_id":"b24fcde94f1d7b7d3cf8c7fc042746b7","target_id":"ff82f887016994dfafca6635fe75ad51","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 129-272","gmt_create":"2025-10-30T16:49:01.5623425+08:00","gmt_modified":"2025-10-30T16:49:01.5623425+08:00"},{"id":1433,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"40e0086be310fb0dd254073af0f67625d48805de","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 40e0086be310fb0dd254073af0f67625d48805de","gmt_create":"2025-10-30T16:49:01.568127+08:00","gmt_modified":"2025-10-30T16:49:01.568127+08:00"},{"id":1434,"source_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","target_id":"7984f8b7845d3598a0b121fff865aee41c795e55","source_type":"WIKI_ITEM","target_type":"COMMIT","relationship_type":"GENERATED_IN","extra":"Wiki generated in commit: 7984f8b7845d3598a0b121fff865aee41c795e55","gmt_create":"2025-10-30T16:49:01.5755463+08:00","gmt_modified":"2025-10-30T16:49:01.5755463+08:00"},{"id":1435,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"2b096814-9e22-4e4f-ba2f-ffa793d054f2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 23e04a3f-9763-4bd6-9b1b-658132d36d43 -\u003e 2b096814-9e22-4e4f-ba2f-ffa793d054f2","gmt_create":"2025-10-30T16:49:01.7870284+08:00","gmt_modified":"2025-10-30T16:49:01.7870284+08:00"},{"id":1436,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"c4d8e596-e76b-435a-90ed-1d5ccaf9e1b6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 23e04a3f-9763-4bd6-9b1b-658132d36d43 -\u003e c4d8e596-e76b-435a-90ed-1d5ccaf9e1b6","gmt_create":"2025-10-30T16:49:01.7943207+08:00","gmt_modified":"2025-10-30T16:49:01.7943207+08:00"},{"id":1437,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"1e49cc29-13f2-4505-8e98-f8ffc8ba1154","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 23e04a3f-9763-4bd6-9b1b-658132d36d43 -\u003e 1e49cc29-13f2-4505-8e98-f8ffc8ba1154","gmt_create":"2025-10-30T16:49:01.801448+08:00","gmt_modified":"2025-10-30T16:49:01.801448+08:00"},{"id":1438,"source_id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","target_id":"e5e5d881-8d19-4d08-88e1-fe3744a3af24","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 23e04a3f-9763-4bd6-9b1b-658132d36d43 -\u003e e5e5d881-8d19-4d08-88e1-fe3744a3af24","gmt_create":"2025-10-30T16:49:01.8094599+08:00","gmt_modified":"2025-10-30T16:49:01.8094599+08:00"},{"id":1439,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0e66a278-285d-4059-8076-7c98825e8f81 -\u003e cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","gmt_create":"2025-10-30T16:49:01.8170557+08:00","gmt_modified":"2025-10-30T16:49:01.8170557+08:00"},{"id":1440,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"94855266-5c69-40a4-912a-fe3eb04b1c50","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0e66a278-285d-4059-8076-7c98825e8f81 -\u003e 94855266-5c69-40a4-912a-fe3eb04b1c50","gmt_create":"2025-10-30T16:49:01.8240464+08:00","gmt_modified":"2025-10-30T16:49:01.8240464+08:00"},{"id":1441,"source_id":"0e66a278-285d-4059-8076-7c98825e8f81","target_id":"98a38727-18e0-4c33-a612-042cebaea3a7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 0e66a278-285d-4059-8076-7c98825e8f81 -\u003e 98a38727-18e0-4c33-a612-042cebaea3a7","gmt_create":"2025-10-30T16:49:01.8303024+08:00","gmt_modified":"2025-10-30T16:49:01.8303024+08:00"},{"id":1442,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a3ba99f1-c94f-4d5e-a43d-48b0516d6765 -\u003e f2ba0a19-1588-40a5-bb7e-c52e401aafe3","gmt_create":"2025-10-30T16:49:01.8383726+08:00","gmt_modified":"2025-10-30T16:49:01.8383726+08:00"},{"id":1443,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"f4fa5914-740e-43dc-9cf2-03554306dc4c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a3ba99f1-c94f-4d5e-a43d-48b0516d6765 -\u003e f4fa5914-740e-43dc-9cf2-03554306dc4c","gmt_create":"2025-10-30T16:49:01.8458005+08:00","gmt_modified":"2025-10-30T16:49:01.8458005+08:00"},{"id":1444,"source_id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","target_id":"e2e767a1-827c-4cf8-914f-9945b9da5ec0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a3ba99f1-c94f-4d5e-a43d-48b0516d6765 -\u003e e2e767a1-827c-4cf8-914f-9945b9da5ec0","gmt_create":"2025-10-30T16:49:01.8537061+08:00","gmt_modified":"2025-10-30T16:49:01.8537061+08:00"},{"id":1445,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"a7f7f4f6-d1fc-4e6a-8105-3a797613c8df","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2e5ab50b-9768-4b7e-b5de-795375145321 -\u003e a7f7f4f6-d1fc-4e6a-8105-3a797613c8df","gmt_create":"2025-10-30T16:49:01.8601288+08:00","gmt_modified":"2025-10-30T16:49:01.8601288+08:00"},{"id":1446,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"9b98417e-b959-41b8-9b33-3f09a3c6e7f8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2e5ab50b-9768-4b7e-b5de-795375145321 -\u003e 9b98417e-b959-41b8-9b33-3f09a3c6e7f8","gmt_create":"2025-10-30T16:49:01.8651545+08:00","gmt_modified":"2025-10-30T16:49:01.8651545+08:00"},{"id":1447,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"35a0056f-ca34-4010-9719-96a9e982d541","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2e5ab50b-9768-4b7e-b5de-795375145321 -\u003e 35a0056f-ca34-4010-9719-96a9e982d541","gmt_create":"2025-10-30T16:49:01.8731429+08:00","gmt_modified":"2025-10-30T16:49:01.8731429+08:00"},{"id":1448,"source_id":"2e5ab50b-9768-4b7e-b5de-795375145321","target_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2e5ab50b-9768-4b7e-b5de-795375145321 -\u003e bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","gmt_create":"2025-10-30T16:49:01.8813956+08:00","gmt_modified":"2025-10-30T16:49:01.8813956+08:00"},{"id":1449,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83938d68-f638-442d-9689-b2b22f1ab4ef -\u003e 847d4322-aeb0-4eb5-b967-e8daf11aeb55","gmt_create":"2025-10-30T16:49:01.8912983+08:00","gmt_modified":"2025-10-30T16:49:01.8912983+08:00"},{"id":1450,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83938d68-f638-442d-9689-b2b22f1ab4ef -\u003e 0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502","gmt_create":"2025-10-30T16:49:01.8991803+08:00","gmt_modified":"2025-10-30T16:49:01.8991803+08:00"},{"id":1451,"source_id":"83938d68-f638-442d-9689-b2b22f1ab4ef","target_id":"81635847-07a0-4147-8939-28660fcba5e3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83938d68-f638-442d-9689-b2b22f1ab4ef -\u003e 81635847-07a0-4147-8939-28660fcba5e3","gmt_create":"2025-10-30T16:49:01.9047499+08:00","gmt_modified":"2025-10-30T16:49:01.9047499+08:00"},{"id":1452,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"36cb7b7e-4510-4329-a168-ad53f2b67a00","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 847d4322-aeb0-4eb5-b967-e8daf11aeb55 -\u003e 36cb7b7e-4510-4329-a168-ad53f2b67a00","gmt_create":"2025-10-30T16:49:01.9186936+08:00","gmt_modified":"2025-10-30T16:49:01.9186936+08:00"},{"id":1453,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"de17ea8a-bf7c-444b-884d-4c3175aba699","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 847d4322-aeb0-4eb5-b967-e8daf11aeb55 -\u003e de17ea8a-bf7c-444b-884d-4c3175aba699","gmt_create":"2025-10-30T16:49:01.9264427+08:00","gmt_modified":"2025-10-30T16:49:01.9264427+08:00"},{"id":1454,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"94fe549f-fb20-48ff-a88d-a5bab7d8a9ca","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 847d4322-aeb0-4eb5-b967-e8daf11aeb55 -\u003e 94fe549f-fb20-48ff-a88d-a5bab7d8a9ca","gmt_create":"2025-10-30T16:49:01.9448548+08:00","gmt_modified":"2025-10-30T16:49:01.9448548+08:00"},{"id":1455,"source_id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","target_id":"56478da2-ec16-4a69-a357-40755e52b795","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 847d4322-aeb0-4eb5-b967-e8daf11aeb55 -\u003e 56478da2-ec16-4a69-a357-40755e52b795","gmt_create":"2025-10-30T16:49:01.9510496+08:00","gmt_modified":"2025-10-30T16:49:01.9510496+08:00"},{"id":1456,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"4d6f36e3-52cd-469b-8604-d6524e706ed9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 35a0056f-ca34-4010-9719-96a9e982d541 -\u003e 4d6f36e3-52cd-469b-8604-d6524e706ed9","gmt_create":"2025-10-30T16:49:01.9641563+08:00","gmt_modified":"2025-10-30T16:49:01.9641563+08:00"},{"id":1457,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"684b809a-ca7c-4a81-a6e7-2180ed2d7bc2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 35a0056f-ca34-4010-9719-96a9e982d541 -\u003e 684b809a-ca7c-4a81-a6e7-2180ed2d7bc2","gmt_create":"2025-10-30T16:49:01.9692219+08:00","gmt_modified":"2025-10-30T16:49:01.9692219+08:00"},{"id":1458,"source_id":"35a0056f-ca34-4010-9719-96a9e982d541","target_id":"e57eb71c-ddd8-4aae-b3ee-9327169e3125","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 35a0056f-ca34-4010-9719-96a9e982d541 -\u003e e57eb71c-ddd8-4aae-b3ee-9327169e3125","gmt_create":"2025-10-30T16:49:01.9760334+08:00","gmt_modified":"2025-10-30T16:49:01.9760334+08:00"},{"id":1459,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"98371f14-f893-4a42-865a-1beed2cbabab","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f -\u003e 98371f14-f893-4a42-865a-1beed2cbabab","gmt_create":"2025-10-30T16:49:01.9818292+08:00","gmt_modified":"2025-10-30T16:49:01.9818292+08:00"},{"id":1460,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"fcb56a10-d452-4278-8905-8e52bc3c2a5c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f -\u003e fcb56a10-d452-4278-8905-8e52bc3c2a5c","gmt_create":"2025-10-30T16:49:01.9885612+08:00","gmt_modified":"2025-10-30T16:49:01.9885612+08:00"},{"id":1461,"source_id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","target_id":"db609da6-413b-4c97-bb9f-a7714dd4e010","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f -\u003e db609da6-413b-4c97-bb9f-a7714dd4e010","gmt_create":"2025-10-30T16:49:01.9966456+08:00","gmt_modified":"2025-10-30T16:49:01.9966456+08:00"}],"source_files":[{"id":"1ef3de5b733336220af07558e8524092","path":"assets/script/game/common/config/Mission.ts","filename":"Mission.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"ce0ec3b705bb28e957d6d14681ffdca2","path":"assets/script/game/common/config/Tasks.ts","filename":"Tasks.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"07f8913ce2d72e8a58de070f0f32c097","path":"assets/script/game/map/MissionComp.ts","filename":"MissionComp.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"55b95d946e8311cf4b51347c35fdd239","path":"assets/script/game/map/MissionHeroComp.ts","filename":"MissionHeroComp.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"70e98a62cc69b9276b26e1627a592fd5","path":"assets/script/game/map/MissionMonComp.ts","filename":"MissionMonComp.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"76d8975e90e717d01c6dd43c3696f63b","path":"assets/script/game/map/MissionHomeComp.ts","filename":"MissionHomeComp.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"8c384aae8f912ab9228f0ad8185f7977","path":"assets/script/game/map/VictoryComp.ts","filename":"VictoryComp.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"a179921633204a04508698cabd51dc3f","path":"assets/script/game/common/config/GameUIConfig.ts","filename":"GameUIConfig.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"4475315b5ec34a67f2e7dc19d93b9817","path":"assets/script/game/common/SingletonModuleComp.ts","filename":"SingletonModuleComp.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"71296acfa18eb254aad4a491a38a0eeb","path":"assets/script/game/common/config/heroSet.ts","filename":"heroSet.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"54e9ade54b1a5062bcca7bde48ab68a7","path":"assets/script/game/common/config/HeroAttrs.ts","filename":"HeroAttrs.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"f0a95fd5b8d3a53b53f9b1fab22c4892","path":"assets/script/game/common/config/TalSet.ts","filename":"TalSet.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"6fe19f7a3876795ce719853671c9601a","path":"assets/script/game/map/RogueConfig.ts","filename":"RogueConfig.ts","gmt_create":"2025-10-29T16:45:26+08:00","gmt_modified":"2025-10-29T16:45:26+08:00"},{"id":"157f2716bf2263faca74bb5592afcf7f","path":"assets/script/game/common/config/SkillSet.ts","filename":"SkillSet.ts","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"8c139dc4cdda963ac6ba8f5d3d7c716a","path":"assets/script/game/map/GameMap.ts","filename":"GameMap.ts","gmt_create":"2025-10-29T16:45:39+08:00","gmt_modified":"2025-10-29T16:45:39+08:00"},{"id":"b9778ad6079066adc4b276ef182a43dd","path":"assets/script/game/hero/Mon.ts","filename":"Mon.ts","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"cb84194ad3ff858116a2e22ef24edf68","path":"assets/script/game/map/model/MapModelComp.ts","filename":"MapModelComp.ts","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"d7ee26dbb506f5bd77891b9f9e5fe619","path":"assets/script/game/map/view/MapViewComp.ts","filename":"MapViewComp.ts","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"b916aeaa6d2fbb6527e057fe2674a98b","path":"assets/resources/config/map/map.json","filename":"map.json","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"aa984e214033ea289198ab72ee72ecce","path":"assets/resources/config/map/map_delivery.json","filename":"map_delivery.json","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"b8eb3238a98a3ea5aaaecf9a1cf9afb2","path":"assets/script/game/map/view/MapViewScene.ts","filename":"MapViewScene.ts","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"22d6ce7ceac7856710c4d644d607e9e1","path":"assets/script/game/map/view/map/layer/MapLayer.ts","filename":"MapLayer.ts","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"4ac77391af6e46a8f92c32f8328b252c","path":"assets/script/game/map/view/map/layer/EntityLayer.ts","filename":"EntityLayer.ts","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"369370e14074b4e928913799f4a8034c","path":"assets/script/game/map/view/map/layer/SkillLayer.ts","filename":"SkillLayer.ts","gmt_create":"2025-10-29T16:45:53+08:00","gmt_modified":"2025-10-29T16:45:53+08:00"},{"id":"1bdf0135febf814703a132d4fafd505c","path":"assets/script/game/common/ecs/position/BattleMoveComp.ts","filename":"BattleMoveComp.ts","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":"4199d1159ca21ba580dfeab42ad5a17a","path":"assets/script/game/hero/HeroViewComp.ts","filename":"HeroViewComp.ts","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":"ca315eae9d37ba907f4a7150d7c8063b","path":"assets/script/game/common/ecs/position/BattleMoveSystem.ts","filename":"BattleMoveSystem.ts","gmt_create":"2025-10-29T16:47:31+08:00","gmt_modified":"2025-10-29T16:47:31+08:00"},{"id":"149ad16f650a03be2be72bfdcb3a8ff2","path":"assets/script/game/common/config/GameEvent.ts","filename":"GameEvent.ts","gmt_create":"2025-10-29T16:47:38+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"id":"97fa0b4a759e9c84a09d7c6576af2ad9","path":"assets/script/game/initialize/Initialize.ts","filename":"Initialize.ts","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"46fce2862caa7076385508f79421f313","path":"assets/script/game/initialize/view/LoadingViewComp.ts","filename":"LoadingViewComp.ts","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"3b5310e63f2b7b3bbf3e0852062ce0c3","path":"assets/script/game/common/config/BoxSet.ts","filename":"BoxSet.ts","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"34840ed043448df3e2d822bfce6f3cd9","path":"assets/script/Main.ts","filename":"Main.ts","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"134588a5ee3c64b37a2b9e6a9b7a2846","path":"doc/core/common/event.md","filename":"event.md","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"11ddf6386c9a1d4eb208723cb69eb4d9","path":"doc/core/common/loader.md","filename":"loader.md","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"513ea52f734ed68f1dc8bad330c8d097","path":"doc/core/common/storage.md","filename":"storage.md","gmt_create":"2025-10-29T16:47:39+08:00","gmt_modified":"2025-10-29T16:47:39+08:00"},{"id":"608120d37a55327f7696658a4daf5a38","path":"\\assets\\script\\game\\common\\config\\HeroAttrs.ts","filename":"HeroAttrs.ts","gmt_create":"2025-10-30T16:40:04.5492275+08:00","gmt_modified":"2025-10-30T16:40:04.5492275+08:00"},{"id":"ba5a99e2e416357986cc4993b7a62632","path":"\\assets\\script\\game\\hero\\Hero.ts","filename":"Hero.ts","gmt_create":"2025-10-30T16:40:04.554306+08:00","gmt_modified":"2025-10-30T16:40:04.554306+08:00"},{"id":"d25e365a5eea6d64045d956ac29418d4","path":"\\assets\\script\\game\\hero\\HeroAttrsComp.ts","filename":"HeroAttrsComp.ts","gmt_create":"2025-10-30T16:40:04.5586508+08:00","gmt_modified":"2025-10-30T16:40:04.5586508+08:00"},{"id":"b64d150d6c9c751f600118b85b979461","path":"\\assets\\game\\hero\\HeroViewComp.ts","filename":"HeroViewComp.ts","gmt_create":"2025-10-30T16:40:04.5641222+08:00","gmt_modified":"2025-10-30T16:40:04.5641222+08:00"},{"id":"841b5eec0240728d74c06430ae4a2baa","path":"\\assets\\script\\game\\common\\config\\heroSet.ts","filename":"heroSet.ts","gmt_create":"2025-10-30T16:40:04.5699356+08:00","gmt_modified":"2025-10-30T16:40:04.5699356+08:00"},{"id":"4fc297f1b65d4692b50255b95b9a01ee","path":"\\assets\\script\\game\\common\\config\\GameEvent.ts","filename":"GameEvent.ts","gmt_create":"2025-10-30T16:40:04.5754702+08:00","gmt_modified":"2025-10-30T16:40:04.5754702+08:00"},{"id":"1f9884cd78576c8311aec4a3fb33e1f8","path":"\\assets\\script\\game\\hero\\HeroViewComp.ts","filename":"HeroViewComp.ts","gmt_create":"2025-10-30T16:40:04.6610972+08:00","gmt_modified":"2025-10-30T16:40:04.6610972+08:00"},{"id":"318918ae96e4a7511da31bb040b4876c","path":"\\assets\\script\\game\\hero\\Mon.ts","filename":"Mon.ts","gmt_create":"2025-10-30T16:40:04.6723551+08:00","gmt_modified":"2025-10-30T16:40:04.6723551+08:00"},{"id":"1c77ce06968111f329426f30bf27272f","path":"assets/script/Design.md","filename":"Design.md","gmt_create":"2025-10-30T16:42:07.0483611+08:00","gmt_modified":"2025-10-30T16:42:07.0483611+08:00"},{"id":"86d91ac5705499080176f6626a436473","path":"assets/script/game/hero/HeroAttrsComp.ts","filename":"HeroAttrsComp.ts","gmt_create":"2025-10-30T16:42:57.9113486+08:00","gmt_modified":"2025-10-30T16:42:57.9113486+08:00"},{"id":"59ca29ac4449c23348d331661d6d22c3","path":"assets/script/game/hero/MonMove.ts","filename":"MonMove.ts","gmt_create":"2025-10-30T16:42:57.9163675+08:00","gmt_modified":"2025-10-30T16:42:57.9163675+08:00"},{"id":"6590fe6946e5d8e76755bdf990bb7449","path":"assets/script/game/hero/Hero.ts","filename":"Hero.ts","gmt_create":"2025-10-30T16:45:48.0386095+08:00","gmt_modified":"2025-10-30T16:45:48.0386095+08:00"},{"id":"1b0bcfc084e9b397cd728b94c434658b","path":"assets/script/game/hero/HSkillSystem.ts","filename":"HSkillSystem.ts","gmt_create":"2025-10-30T16:45:48.0438554+08:00","gmt_modified":"2025-10-30T16:45:48.0438554+08:00"},{"id":"6c84e3ce296993895cc6143c08923506","path":"assets/script/game/hero/BuffComp.ts","filename":"BuffComp.ts","gmt_create":"2025-10-30T16:45:48.0471632+08:00","gmt_modified":"2025-10-30T16:45:48.0471632+08:00"},{"id":"19361fb72adf518d116d3330713123c0","path":"assets/script/game/hero/TalComp.ts","filename":"TalComp.ts","gmt_create":"2025-10-30T16:45:48.0510252+08:00","gmt_modified":"2025-10-30T16:45:48.0510252+08:00"},{"id":"6b693e3956266703aefe006aae2ea6f8","path":"assets/script/game/hero/HeroAtk.ts","filename":"HeroAtk.ts","gmt_create":"2025-10-30T16:45:48.0555952+08:00","gmt_modified":"2025-10-30T16:45:48.0555952+08:00"},{"id":"c1a967bfd32071f301854a3c8f34dfae","path":"assets/script/game/hero/EBusComp.ts","filename":"EBusComp.ts","gmt_create":"2025-10-30T16:45:48.0595893+08:00","gmt_modified":"2025-10-30T16:45:48.0595893+08:00"},{"id":"39cb47a7c10606388cf30b76aebfaebb","path":"\\assets\\script\\game\\map\\RogueConfig.ts","filename":"RogueConfig.ts","gmt_create":"2025-10-30T16:46:15.4617853+08:00","gmt_modified":"2025-10-30T16:46:15.4617853+08:00"},{"id":"bc67c0f3a9273338ad4c029fafdb3a95","path":"\\assets\\script\\game\\map\\GameMap.ts","filename":"GameMap.ts","gmt_create":"2025-10-30T16:46:15.4690631+08:00","gmt_modified":"2025-10-30T16:46:15.4690631+08:00"},{"id":"b24fcde94f1d7b7d3cf8c7fc042746b7","path":"doc/ecs/ecs.md","filename":"ecs.md","gmt_create":"2025-10-30T16:48:12.8179125+08:00","gmt_modified":"2025-10-30T16:48:12.8179125+08:00"},{"id":"6fddcd40ac02e8cd765838e7c2e94edb","path":"doc/mvvm/MvvmInfo.md","filename":"MvvmInfo.md","gmt_create":"2025-10-30T16:48:12.8225057+08:00","gmt_modified":"2025-10-30T16:48:12.8225057+08:00"},{"id":"436b4df789022ca254b3c485733b4b24","path":"assets/script/game/hero/HeroSkills.ts","filename":"HeroSkills.ts","gmt_create":"2025-10-30T16:48:12.8312107+08:00","gmt_modified":"2025-10-30T16:48:12.8312107+08:00"},{"id":"a08f1bcf1135865fae61b8bba1e34473","path":"assets/script/game/common/ecs/position/EcsPositionSystem.ts","filename":"EcsPositionSystem.ts","gmt_create":"2025-10-30T16:49:01.0802865+08:00","gmt_modified":"2025-10-30T16:49:01.0802865+08:00"}],"wiki_catalogs":[{"id":"fe162597-96e9-4984-a1b2-6fdd225b6d6b","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"项目概述","description":"project-overview","prompt":"创建全面的内容,重点介绍heros项目的整体架构与核心目标。解释该项目作为一款基于Cocos Creator开发的微信小游戏,融合了Roguelike塔防玩法与中国历史人物英雄设定的设计理念。阐述其技术栈组成,包括TypeScript、Cocos引擎、Oops Plugin Framework(MVVM)和微信云开发SDK的集成方式。描述项目的主要功能模块如英雄系统、地图系统、奖励机制、自动战斗等之间的关系。为初学者提供清晰的项目全景图,同时为高级开发者说明关键技术选型背后的架构决策。结合heros.md和Design.md中的设计思路,展示游戏的核心循环与用户流程,并引用实际代码结构进行佐证。","progress_status":"completed","dependent_files":"assets/script/heros.md,assets/script/Design.md,doc/using.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:48:06+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02elJtBUgH0Ns0veIx1WPtM9wwkxI+/XAqHLxJLlHB8wV4EL0m43R3OVx06pJ6ypJqbrpVss1xKCzdhrhagL5/BiPuQg0gUnYTraUhYjt15HlPZ07gfnGRXlhmH4kyecBhrPtWzAI7MiC1uJ79nWRzoaJrdbAO4KD+TbWMfKWVLJQRmTgQMH6wmdgDC5INpsVyXM/nxUGNvKdZZvA05+5uGmjGyv7ETMGMwQAv2zZJirl4qd/b4+ZwnxumSUyVzo+UFmm3M9OQQSDXUwT34wn6dN/6GbN5ruX9puf1SqQXEYOqjmZYW2Ka6s7ljFOdv8IJt2Efx8n1MmoOTHvsdBuBosnkHBsFT35+S8qaJlvFotYtXKXH8zGnJbYjTPv8qzWPQyyzrdimeW8xdJdjZQaj4ERUMEkpOn35VLSywQpFDAQ+xqMlc3GiLJ+1BKayhR/Jl2zTZeIv8hnblxzB3gZKhPvmKSpMW7pm1n3xtEt6fzQHaTxh5ptsJlLgGg6S7IiWVR9NKm0D9Um7LUjLZnFohLkPkIYvxwjKTaE9tHvVaNa6kn0tNJJPiuNBW+tzseqc3Ng8IJPGGgln9CFLn0Z9hDbN+qv7pa6P4N/lpWTplvD9yZfIZdT4Y8PCChECJ/3I8MC6iBjUr8gnn2Kvs/THzJaGLMuEv2bEzwOOrQ+dDvmpqgpIDstXFKd8RaHeTuJocgUVb/PFJkX9emXw3BUvCI7CH22se3odkJAECaKBrTPBVLm1rM8RwLIcoeVmgiobYo16CdTC1zY7gKC9pjPORR9tmCyLedF9J1wS3Gd3y3ct4qOPix5mKpjN9drh+ly+ujcK0YdL8eVGGlnM4W5dNRUU2rvh/90l5rtAlXRM8JwHeyM9oVfzuxr1m3oJbon1vemJ5we0biOeoNWUHA3nuFMFOaUeDM5b5kD44AJamICC2v/osiah6Dc2fHjk4ylg7v7UWnhA0TM+aKz706K5N5nE9jvXqYZYieeiAUDu7ufOC2rNWt5iguimVOH26CUSuB3tIJ6FbGubzLs5Ry77Gxyxu0oCRW+s8KpHiG6rvpuyJj3B/7YFO4TFVji27RMmOLJmutGlSagMVRPfez01wOtqL1fV7fVRvd6pPs/xkUs6Uy0bP6eAqA4nE2+3jqM2TJKCXCtQJJYIb45l5WFld+F9g7wcGpXCr6HOhczK2zgb+WMU2FoLKZZ+1+TiORN2seaU97WXZaQHtn0Osoa7B/wbjWMuqkz1Em8lNCsTa/nhP8GGja5KOwokfke/TKMCvV7GsXrhSu1y2IzckUWiNh"},{"id":"82b9c194-af72-44de-8e54-b1d691e75e76","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"英雄属性系统","description":"hero-attributes","prompt":"深入解析英雄属性系统的实现机制,基于Hero.ts中hero_init方法说明英雄基础属性(HP、MP、攻击力、防御力、速度等)的初始化流程,并结合HeroAttrs.ts阐述属性配置的数据结构设计。详细描述属性如何通过Attrs和NeAttrs进行动态计算与叠加,包括基础属性与成长属性的融合逻辑。提供代码示例展示属性加载、更新及在战斗中的实际应用方式,阐明属性系统与UI组件(如血条、能量条)的联动机制。分析属性变更事件的触发与监听模式,说明其在状态同步中的作用。","parent_id":"fc93744e-2843-46f9-9dd8-aa6e073760c4","progress_status":"completed","dependent_files":"assets/script/game/hero/Hero.ts,assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-28T10:43:31+08:00","gmt_modified":"2025-10-30T16:40:05.0600543+08:00","raw_data":"WikiEncrypted:J4KBBrDvYkq+A1KOtTmVo2QP1pIlUzv8oPPpp1l4Nnh5XTxOcxhd3PJNi7nUS0i5E5B4qPTOdLjDYq8U6S+UrhhvEErrnwZFwlJ9PMSy8P2MDWyoRyHz38rUq5sKVrGuanylO6YmK26fXjj4BxvgoigW45sK52K7K9+XoxXtP64UzKoJsyv99w1JAGt5jAjpIthAUA9nlNnp6D6tFGvUSbdQWlZt3vjR2pIXrTP3C0LBIDrmj1IdF/QCMk5/lkAIVbjmtRK+l3qVGzx9TAYsa6zD4hnvKfUtGFCmq4979JnrqOmbYPpnhpL4JW67yCP0neU5Yr17fP9BIXEWo7O30lnvy19tsaBc9z+Eg7efeg69NPYQjFMAbjR+0kEB6ch5hFgp1cdlXvGE2OB4nIJxZzmBtt1TLGkIwIeMhmrg4EwPtUYBBeNHd8ZBx6HtmfWhfDUAZ9t6xzIeRc4vXDgCqvxe+MpigOjYdT831OOVshFoftXlymzT3c7nGspt+w1esguB0W4g2G9AR1ebuxCaVYxV50ybAephi/VBFNYSAceCJ6JGGtBikAZGg00A8YvnOZty8zC5dL46p/qfa2afXx0K7Prv6Mlmk89J2E6MPcZsyBY9ghfaVaIFvdkKC4tie30HiVO4y9frEF+rPPVZOa0TPZrExbzA/9uKBE9FB4qPNiggZuzbp5NbAegDydIHkjSJvacMTMsJvCiYdiuA4Cl9GiJb2xmvROT2e8OR6aKj2KCw8uIXF0ZW7MMtmPtq1zY5Q7YFVp4JfojrwJySFepwLAQviO4a7EtxHbM/FE7kGnnuAMCzwf2Ms2sGKY40oKDLlCsYXuIyzuV4wBXDmZvj6+OsFVx+ZXQ+4zVKPRn20AthZSppK/EdruJP7VjtLi0syx+mYLKjkXMvUFJG+U+W+IZ+1h7HcLRH3vinjuMNs7S2z9RZdavBlvDs2WKmntJH+h3N8ZqDeqUG2Kdd9LXqfTHrkLw0dD/HuDjd9CLyIaljzcxK2lSzWwV2vYusEDVW/A1NgO+gjXejoAK0igXlG6rqhgBB5btOhHRqY+f5Rw3UyHVAqRgAQxYarkLpKb/utTSZjZrxCLFULHFrcsqq/QEybJ8eMqjEtx7fSlAsv/ZQV4stI78qnEnLViRzjhPnzZFZlVH9+TU8dkiyF0am6tXlGhpL5lFRscX4knc8rS9s8eHJCRXNOJZsMcds/XbKNR+AKHkjd3UeGquvvw==","layer_level":1},{"id":"64277953-17f9-4b45-9f1d-2915c07eb5c7","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"ECS架构","description":"ecs-architecture","prompt":"深入撰写关于本项目ECS(实体-组件-系统)架构的文档,解释其如何实现游戏逻辑的数据与行为解耦。结合ecs.md中的框架说明,详细阐述组件(Comp)的注册、添加、移除机制,以及实体(Entity)的生命周期管理。分析BattleMoveComp、BattleMoveSystem和EcsPositionSystem等实际代码,说明组件如何存储数据、系统如何处理逻辑,并展示系统通过filter()筛选具备特定组件的实体进行更新的机制。提供代码示例说明实体创建、组件绑定及系统执行流程,阐明ECS如何提升代码的模块化与可扩展性,并指导开发者如何定义新组件和系统。","parent_id":"f6dc7290-2493-4074-853a-f9e7cac31c15","progress_status":"completed","dependent_files":"doc/ecs/ecs.md,assets/script/game/common/ecs\\position/BattleMoveComp.ts,assets/script/game/common/ecs\\position/BattleMoveSystem.ts,assets/script/game/common/ecs\\position/EcsPositionSystem.ts","gmt_create":"2025-10-28T10:43:37+08:00","gmt_modified":"2025-10-30T16:49:01.580069+08:00","raw_data":"WikiEncrypted:le3i0SfpMlqSUFNeduIpUEjg3dIN1IaObbU0M7a+uLGSBS6BxKvCNRphphZ7+34u/6nccv1KPzeLC5QaStKTzYFHozO9C0zXc9mqDlu1URmDwSm5uNZiEiV2ZntkGu02oXSxEofqjX0ok8HzxH71ChfJx4WKDKkt/acayM1qwpE4cz6y4XedDv/G89m/mQYP8Iflrrwb1A+lGUFd8eIYLj9j2P12EaPkp6dg2kzh6LeFHWIgL5BCGZ8UritE6MupKDRsPyDHtVBZm+MN2AQO18xbmwVaOwvBPx63SkbdQykkhG36lfNzsR4K9lbL599GTiM+dA9QR+JtmQzYw1tjAAc1YHift95+RqIOoxxX50gYGb1TsuwcSId6YT2CG48XayfWEdPBLlbGp82XHqIguDKAnls48rvcUToCVWQmgsOMRAFz7GbSuhcXG1pq6qJILxfW1h03F9RPxEOzdrjI/Ffhi/SheMJxrTYjsvMXONu5lIjI4ZtqKW6wmYk+l37K2KSgGPzEy+kjYk3MMh+8Iy0hSqYsDBdV9ueQU95+EnRJbtmucap08rzlU7pSBdkS3ywUUvMEMnMte3z+xg+X0DRkX+EBQvMfvXGw1XGDilqWWMJxPP5CPmKz0OCb6YSPjvWgICItwIlq/FUzBMBoRacRLEmB7O1m2izlV1AID/qXfkWkJ6ll2nDaM/2k6crvzxIpBxyJ21ZQ1uVjtEIu8jZBZM2JGcUL9l88yf7vB3GrxktztIsLS2wxdQsT/uENDueo3ztW72hd0g0NVCIsLIUtfB8wmL4RHPl45RS3dNIGelIx/bfWhwmO9Icb3dDMPbvwihxD7zsEM5MNr4g0TJ8kZlF3Ka5ZWWaSrmLHCiYl6kzDntqCFAcShJ4evzJmxUOTGAlay+ipTrt6SjbA8UvaY4R1TbWg162N+3yt43lQAc9fWXcgxdhESDROq5Xy3E6w6TugHNUstRgNnCfOwfqTplSTSiYiTzPx2Ig2Yp74iE0ZSqvgHD2aZrGpqt16db+hGLa5E+n/DDyfRkxQbzO5pd8FmJwH8ZcLLvZjNFQQ8ADGfPpSaTFhViZaFPMUTuqg1lSD/ASUeArKTlwSEabGsQ5JDZPkDGHY2Eu7NLXSK4OykwQs/uiSpENAskFIjNdwgxc9gkD2xLqC8KXngK7l9qUELHM5sx1XnqKXexuS2Qah+RU4mJf9qKc7RQRxD6PdL9WQGWqsT9KzpXgPhmCMagS91zesvqCFTMf2KSzxlL1WkFmk1zulAcCLHWDx1VMtAHUaSw9BfhkNMg2OiCSe5w1mXSLdZlzQrR0ouk73EXCSF7AzvOjedCT0HSfH1JR9yCjqi8er3tz9ztJ5UOhNilBsQSxBi45Ss2lJxklLu35rDS3yptaqBW/u7OCt3wo60VGGff4QFZEuUASjEycp8cmhgQPv8Y6ifXRnvLSg1fp16sxvlIzj5PMLAgaWGYQ4/P9FoHcZWUXzP0xBtQ==","layer_level":1},{"id":"40ec1d14-91fd-4271-af74-7d0366c86e60","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"初始化系统","description":"core-initialization","prompt":"开发详细内容以覆盖游戏启动时的初始化流程。解释Initialize.ts中基于ECS架构的init()方法如何通过AsyncQueue串行执行加载任务,包括loadCustom、loadLanguage、loadCommon和onComplete等阶段。说明loadGameDataUnified()如何根据运行环境(微信客户端或非微信客户端)决定从云端还是本地加载游戏数据,并描述initWxCloudEnv()和WxCloudApi.login()在云环境初始化与用户登录中的作用。结合LoadingViewComp.ts说明加载界面的UI绑定与进度反馈机制。提供代码示例展示如何扩展自定义加载逻辑,并指出常见问题如云环境ID未配置、语言包加载失败的排查方法及性能优化建议,例如资源预加载与异步队列调度。","parent_id":"62812447-89a4-4ba5-b3f0-726d2f18e66d","progress_status":"completed","dependent_files":"assets/script/game/initialize/Initialize.ts,assets/script/game/initialize/view/LoadingViewComp.ts","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T10:52:34+08:00","raw_data":"WikiEncrypted:NMpG4jhY8r9zsYBp1pIpU4v3eYC55M+6N9V4DrZymuAsPXnz+tn0Zn6IAdpFt1KUZOYsCcwVATsNWYnskl1qchf8YRtWD3jKBVZAHdxgzeXAxi49t6xb3RaRLgzSjmunmMf2441PV6WzXPjl09zYbpcyYa7dea2gv873AUwd9NNTe+gBpm2OuHRAKrorwLFriKVnR72ii22dtMfsOHsMPx7W8IoMPlrtQb4YHhw3LYmsznhS8lgkHHJl534X8JYzYvKpP2XfLUSaRTmw3yeIy7yO+8yTPc/rrDBy61P6rqdV5L13tTqBaJ/e9jvhW9gIgZHaNAq7jrJ11tOUKeLnTiS+3r1N5+O/9ithq9iPd03zyLLy7q0PjOdFodnXiX4W7QdekRJ4tuooqOaqlnmftkbn4NXu057Y4H6ptJfdd9yudIZaWQyek5EGwT8thVa2JFNf3pi1R9KLIlcc27TXAQwlPZRL9SSvChsYcIalPQzjpZCG8b2zPLsfG7VGZGIOIqv6koPCmIgNX+5VBRpnbL3McrT/1d3ypa2iCRpO5EnpX47r5XCZBtOocS3+ZN3twNcMtQD22QWGsCUVk1IX5OOyOfjctuMcXb1YBvcumKFI3RazSF2/7E70vKGkT9f7n2y8j3v7Dljuj2Rq28z8mZfy6X3HTU6GVDPHHizLIliEy5E+HtdXhCwfW3sppz+VpZgib5tQrr37hhK01NsJ1K1Eyqr2eVqO2cUHsE1AVWNO4EDEgu90MDSnDmDlh0WIp/HUq5qFv2RVX0LeEqC4Tf0EQHNS8CNwiIW0zqaLTNVXyuUCHhsLBJKwn2kBHJLWMy10qoOOrhFW/BZcSAT5+GiL71wWhcr+fNYU7dD+XHKs1Mqbk2jhrTAKSrMLo/VsGDQsijbzA4+EAjfVOXgaDvQYdeGf0e7zbLGcRwCQEBZ+gEqLq9bQH7ChFq8O8jGRpeIdaSVR0jVj+ns6Es36UIe63SRKWKy06R+TvKPHvUwhM/GTkVFpmNiiYUp6NwqenW9+Q1CBYNBf0hMiYdfLdHtJpA7ov5vH5ZC/B5bBTplKYNSS0s01S4sWoz1M4mxFGhZGfUmzna2v9DGGkeXxe5Qnfb2YLEiBoqMyeocK+utlLtoZhDJl2CkRScgdTzqseOK+5udtNM77yMzMlOf2iWdXIi9vJ+HF5NJLhqcNDZdQZ8Vs7xJ1kMtCw7xIJrEq286FLtXbZgSRTa4YCFuhIX8XrtvQIE0eIH2gackYSZPZOkxpbzYpwop9egEDVX+oh60u0oPaeW5pdcTX6o7SSBAkW1meQiN6Am2LxTUcy/mBLqUBCctOjt1yOq1auOkn8A74er9OI+YVFtWkloHe+CDgnSpHfr8nEMwfhNdl/jYnx1hNTUhr9OHWj7M+y4yvcbm3qWWSUGDdvImNvOnmk+NP2OsSEzczSRckQ2BSa62A9sYCCy/i21tUi2ngWcop","layer_level":1},{"id":"3c73f2a7-b666-42fe-8ece-180d6c94c638","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励机制","description":"reward-mechanism","prompt":"详细阐述奖励系统的整体机制,重点描述三选一奖励的触发条件与实现逻辑。基于Mission.ts中的FightSet常量配置,解释奖励类型(如金币、经验、钻石)的定义与数值设定。分析MissionComp.ts中rewards数组和game_data对象的结构,说明奖励数据的收集与分发流程。描述do_drop方法如何处理掉落物品和游戏数据更新,并结合代码示例展示奖励发放的具体实现。解释MissionComp组件如何通过事件监听(如FightEnd)触发奖励界面的展示,并说明与Victory界面的数据传递机制。提供扩展新奖励类型的指导,包括配置修改和代码集成步骤。","parent_id":"f15eadd4-51e9-462f-a439-a150c3d3a82d","progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts,assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:44:09+08:00","gmt_modified":"2025-10-30T16:42:07.3504138+08:00","raw_data":"WikiEncrypted:O4flrEwQjo4XmpjZTF673eyEgIUNvTqSIzunYib+VcXwjZQ1ny6ifb7Rw9cQUynE66X76kTq0HOqPuKIsLRw4x4mtE7FKvMx709mukt6Ar8b8+4XUHJBCOqqD2z7ux1M+J9DicD2+8QkV661fTplLPOXF2PHKtjQji2yAJtCl5pYgGjpTg2sa6ZT2nnNxDNEuOLicEh0fgqG9k0C3gOdN6D4QPV1EFnQrS4OZR9i9tRgB4QmLoX+81U2aAReucQN+jEXvTTLmisX1gr1c5nFN9awZUcq8qIBVByPV2CNfAhn8mrJM/RM7f4QN2F6Cey9kmowqKm+ZqC1JPwvGuaBDd9kcMLo8ExFxh3ls/vfi0GuwDoZA87eQQk88MN6nNClT1rQigxGPpsW+jHbPoe+Vkka+MEWgFwsNQ9FLRAXsq1NzWJX/TFi5mrvawFZNiNMU2lOYD3ghd6A9hx8TdpUWMHrPXUXxcFoNrE/vLkGNBKE6BACmdL45hgLpLQ7r/5YC1OuYGExiJqlmbsma/s9lvz2Gm63RMTf0UarBzoqysytnMnoAkt8OdeDXefLHUh55V3KQfNEThhHU81qiF43CmoZFk8z1ySzNfALp/9GDLJ56iXDtx1fwVBLTyjRz5j6MsXlJDw76MJ0BIh1DpccHYstrI/r79f1vokG2vlt5QK4ZtC24ZmGTR1UJJfg7UMlwbXhUA0g0gmzHEnpwN46M4lmfx4u7umwKXhWZRSMMfFYeshyU8YpOV7NOOhoGRYgYRzlzhBej+xPabYgusryIKI8vr20aI3pA/vUc2lOPEqbveNVFwWjjIWx/8RwQXCdxhl+P1xU4Q3MEUbV3WMxOzTvAieZ0/vGN5fKbSzA/H4kb2XsQqrAMD6f+YgK3AeTmqNrYAQpdu/wALvvFE0YNN12GsixEiOWuf+p27HiRnH1bOc6HksCF4fqbVn995h0BZvsbRMP0CgutTE4qJy4HDrgzAHtqHRZZbeza7eEyXqUcuIjBN/1pAgwJ/mojU4lzI04EwYwItkE3AuIK9UUh+couQ7XT4GGEnRWp+anadIN1y8kTHn8SijSbIvCWw7AFPZ5vBKgfUk1rMMGERnMBsN9hj/6T1FhqUiywZAJ1CMVxZOQwYMwz7MHwW6QsCWhLRrjxQGRCZheVU9B1D8CLvBR8wZppSjQVdy2Sv/CqKMUWqZM34SQxSaU8FnrMrI1Ye4KgahV3qfd1AS4kv1UlpNtugm7BemmypJnus4USeHwvgrja5MR5ZCYwpv0BZPB/IfzN9R3zJLAnk8+tgZYEfN6xIauKBfVlKNgza5DM9g=","layer_level":1},{"id":"3bf8d592-27e7-4cb2-bb1a-aaae7f546b6c","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"地图模型","description":"map-model","prompt":"详尽描述MapModelComp组件的设计与职责,作为地图系统的数据层核心,管理地图资源路径、关卡配置及地图跳转逻辑。结合GameMap.ts中对MapModel的引用,说明其在ECS架构中的初始化流程。解析map.json中地图基本信息(ID、名称、可跳转关卡)的结构定义,以及map_delivery.json中地图连接点(pos)、目标地图(toMapId)和出生点(start)的数据组织方式。提供如何添加新地图节点、配置多路径跳转及实现地图解锁条件的实例说明。阐述数据驱动设计如何提升关卡配置灵活性。","parent_id":"88d38228-dfcb-4ebe-a91c-af2b415594ed","progress_status":"completed","dependent_files":"assets/script/game/map/model/MapModelComp.ts,assets/script/game/map/GameMap.ts,assets/resources/config/map/map.json,assets/resources/config/map/map_delivery.json","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-28T10:53:51+08:00","raw_data":"WikiEncrypted:4gUd6hf06eTpHC8RPaK8Uj14Ead1HyVu6OCZ6MswP42LwItXwc+E2eXmC0+XvTD3EskH68TAo8A9FILp2KnwC5T6QEheWKRJA+feV+6RYLRVb24lXQ+FICmbLn60HC4w58rErl/AAln7PX3R3bQvSM16d7CwGDeiBvfYvVMozinV2XE3oL8zvVF4w6lj1FirQ/txMtyd7FVWG2fFE2vpz98McB4xsOM68SblBO0GcwzlhqJ6XbZw7dpfuMhnNat1mbA2FgzD5HVFqQy3KvDDPmcbI8BBr3MnggqENh6WaORyUtiZFw27r3myB6MLdXsNsI7LrG5/gc27qp2psjbFAuTySRI8p/bSpwlkJ4Y25Kb479q88G6qUR6lderxqfZcu+6WVtr3MLgB/CN+YMsYFCJl0jMQ9dlEUgr37AOpPUbjFIqQM4yJpbLu2KESJZhLUY6YAiF7oOcJ0pLevgBFSrk2Xw6busNOd4Rp2HCc75qAXlWVomltTVvTL/GUSNm5EiaP2reQSVE1rcioPYbW0aimWFNzuyowMskh+/JwvoTbj3DFQEB0i0WfGL6qjhQZSA4dfO2IS+xn9WD/YXXm0YCYsMTKHH1inzkb3dqNC+VeAtr6MvLA3Y1ZxfrdRpB0mHjGyj5fN8gtkAHVV4p0OlJ4HNAyV1OnNHpTy4obDIEBYDFFTAayD+yj3n3kS3Au6FizYome5nreEA7ZNYMHy22BOKGAea8YGL2vqZhIZ6UfmN+jmlTrEoPL7JB+fQ89ymUgQ2a5z2wS7H2wV3sCthzQByKh+jDeJcwBg/2pACC1Xn/wJPKZnDvwHb6HP/ixzBX5mUrGXAI6VV4oUSF1fTpvpcgxuwkk8fclkyNcnlBQCjPqkc7I8ENkN7UHTgS90w79Lw0RWa8AWDZxeSghdBADi5UUtyR/8jg23UNsbgMr+/D41j4bqQ9DOd/b8TqCrlmhOcWMXuUzNCi68hMe0TTQIJ9dliTdFtU4zF2a7fU5Vh0NYFhxBlCEU3ojO0+HIl6IT3cIm9cYMbzcQ3ZVhbwzc4laQBtIsW0ty7UzSq5rpFclDCPsLwnkAdmfajpSGq+9RVCJdQND7vNpe5/MC1GzYuwWSGVOBUKuBb0rJ43/qhfLDp36fVlNenlQgVK80y0baDVoeo/BE6NtOm5K/JQ3CbFGlw/2kyB4C2OUZvrTQMVxZSgbrDir/+0ud+Me8mon3UISdnrm59KKiTX6LMSDbWUHluPPBJIkdCuM9b48RN85VWAURz2LGlT4M7iJz3vtFnq/FXj1b+jeNVM/40cdriG4RzSw/nctfRQsSqu2ujgTYQ2CW72zcVJWGpKL","layer_level":1},{"id":"70874bfa-22e4-4a24-97db-5a38fddfa45d","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"英雄信息面板","description":"ui-hero-info","prompt":"详细撰写HInfoComp.ts实现的英雄信息面板功能,涵盖英雄属性展示(名称、类型、攻防血量等)、英雄切换动画逻辑与平滑滚动机制。说明该组件如何通过getHeroList()获取英雄列表,并利用Tween实现左右滑动时的节点重排与动态加载。描述中心位置(pos_index=3)的缩放特效处理及动画冲突防止机制(isMoving标志与moveTimeoutId)。解释UI数据绑定方式,如何响应smc.fight_hero变化并更新ProgressBar和Label。提供英雄购买逻辑(buy_hero)与战斗启动流程(start_mission)的实现细节,并说明与全局状态管理smc的交互方式。","parent_id":"f5dca18a-ebd3-4d00-8e0a-319d82f88755","progress_status":"completed","dependent_files":"assets/script/game/map/HInfoComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T10:55:04+08:00","raw_data":"WikiEncrypted:KpZl7GyQv6fOHe2D/hJKhasyFDPRFmL1Qk9pzMOYNeLl7sEAuAm78HI8EEA7GSSDLyaiJ7/BximHhLefHqQESP9Ql6DrDRmln1qXeb0/MzXiwDY6g9xxP/LpCzmw95xIeeSMxG+LcR3i4XQV1mg7v4SLsQo7eRZIZ3s8zOGTDzgD1cAkyM9Mg5RQPkE0FUZsDYwoGJ5wTuPw3kk6bnWnbQa7kzi8f8YtVn/lxNi6Mu3xT5wZDtBawq6jdeNKSlAvaoLrDWThxv5+VH0aqj7sYYMKI+b2OzRa6eUNcn1eccSjF51m0RMXmx5fFvRAXeHuTl2/s1KqTUJNTNaLtSWZlHxzGb2YOlFtHXcHEE+FO6gn0EdIx0K8HyYt9nKxnH47N5Aawg4/sEl/nJAg3Yt8hg7HO4UoNP3o2ePoXzSkB2ZB+59H4FQ/mTaNL50LjCqXlyFELJ+WALEftBibqgCkEliDXJL8kPjjg5TiFJxrufxj+4Td2kDTarjHUyQMphL0LPk/ykxuP5WXzgRKWB9NvXl5WM9wzrQCbO7TXJNeN+GT0nQTMoiyOciuV63i8kI6UnnTxWhPrje0Qh8MNr2nGfABwx6YDBfp6LBOoRMh9QJswIJQXdDqxv82vyZ4cGJZe1Sfz1wTmj1tPbmiNojEPQA8cFomiNYAniR51co7HudnC68EdVyJSjfu6HjZnLr/SZHOSD5AJ4ProlE4JMEiUQpA+hyz4x9dqhAyz+XKS2dggiVJ3D/kmwvaZCAqyzk9AU5q9q7qF7V0idjuXWWf65O2SZ53zPnfRuFTnKDEZOnQCeWEXqd3kBB2j14gPIUl653K3UqzNS9gNUhJU3kpUWpz0bMxUMeV7T2ES+0OJ+I02PN7yRbO87Mx2ygupqqbcdczimTseDZP8r2q13h8yyivnunQ7Be8B6Yyh1D7J5l5xLbqtVF9RzamSoTvbHalp6JaRNCwLPpTx/xVhuiro/9lZPMYHO+d9FnUu6n7AVtQwIG2PTd87KaYhlXesjE8PqLQ3Gxpo7zYBs6eiF6X/GKIMDe9AayU7T88wW4D7i/81pJjzO7TS0h3FqyOhZtfpziihZbGGGi1dapCnk9032xRlpbGRq1czrcloniRJyRx0gHneg+H4H/tnhsbO1Zn4XM0V4DY1qA69q6i5jeINHmpUx8/0+SQ1t4iONSJ3O6TelwmM8ONdawW7f3bsW7Ufjlgbm2aAe1hmRQ+OLIcdId13zVOM1YOo0JijF13nzk=","layer_level":1},{"id":"a4372bc1-4d40-400b-b813-888406c1a013","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"新手引导系统","description":"guidance-system","prompt":"详细记录新手引导系统的实现机制,基于Guide.ts说明引导配置的数据结构与ID定义,结合GuideConComp.ts分析引导流程的控制逻辑、事件监听与进度管理,通过GuideSetpComp.ts解析UI高亮、触摸响应与步骤切换的具体实现。文档需涵盖引导类型的处理(提示、点击、拖拽、等待)、目标节点查找机制、回调完成逻辑以及与Oops GUI系统的集成方式。提供实际代码示例展示如何新增一个三步引导流程,包括配置引导数据、触发引导启动、处理用户交互及完成回调。同时说明skipButton的跳过逻辑与资源清理机制,确保开发者能够完整理解并扩展引导功能。","parent_id":"bfba08d7-04fe-40b8-932a-b9abb2d2b465","progress_status":"completed","dependent_files":"assets/script/game/common/config/Guide.ts,assets/script/game/map/GuideConComp.ts,assets/script/game/map/GuideSetpComp.ts,assets/script/game/common/config/GameUIConfig.ts","gmt_create":"2025-10-28T10:44:39+08:00","gmt_modified":"2025-10-28T10:56:16+08:00","raw_data":"WikiEncrypted:bUQ/UQN+IiOV5raeK2ph2hGcENopxZFheRe+SKrinn671KbSkC9RoZxB2Gbm5tQBd0/cNwNSjTdPKR15rvh0vSN2ci19ihngGIYzP8h1clrkqGXjJB3oQMmBJYDk40nh+MRLW65xv/9DuLt+a46JqLe/jGtdXf1yWmcDBQmXdpFglbtbI46DGupSLyeu3KfMK7UwdisEEDIEfbo+G6f4oaRUBkSeGFIDsZUmbzLWOAGT9mMbev7qdWic3TSZCx5CjgTdewX4oy90OjQ91sj7fss3QWzUiEg9bpBUpE4eatlRpEEutz5EGtTsaw09OGqDDUTULai8EmDPzRC5zkYSlZZnBuU0h/5Iq3Zy26sDX3hyV4YG5+XgHz+aMpRYGfLJoMRUHv8D8e8JjEjbA9upKGhouVpu84gwKv/4UYIUScRVJPL2rhuJcnVOU8/avMki9aTTyGyaVEooq2SvWogoit7CfI2ZRbXBxVP/krVDuiQP36V0oAHAyQ65defykhwP9t8B+yStCKcFaSRAmz2SuPkyE67pWvI1K24cwIjlhayEDi8Zgu+OvOQMnun6HZ6yuDVKNm3zhhdNJ7N93+kPbQkQIG+lEdy1I9xxOCNC06LsAX+GXY/FcGQ51Aw0j/MkR+Ks/Ie5d3vyRhquo2faK0Z/Ue6TUsYSKrGNVGMnW61GFLW2+Q0TkTu9j8Wv2/Rqm/MIj2gg1qi4JScwqgc3idmTCFq+YHydE1dTU2GOIbXyNWH1lNqEGK/OPmU9OLnNv5hZlft2RHeekbOpUnTeqx0JYbFh9PNechULoZ+7lxtpVt800NV0kFEa5xgDGblD2zNOFh6n7e1YC3TmcPVvex8ICN7uwvw9TVTa7aSDsYnESd5oXwHKdAWzFOsA/9Ig2jzUJE677XjBlDThj74k3UH4v741VaA1FUG7KAHRJpRv3yZJLfagKkepuWCFavXhrIyoTxDnP5U+pqBqczZJp9NaKlDwwQ4fLzjn1DC0JwYHZtAtZdV+egCp7bo4ojYm5wzV20fUe2MdDUBsUbain8Z8F/LJkSiv8r6yfDJviRtV9Lu6BC7pzK9OdwHlxUf337wLDfTmVyVxCNwRt4UMH8ItiM/vLsw/IaNgbHot1FblDCidZCOR63tHaS2P5uNC5yVwoQ/Zk61r+Cx+Lkz3fbHy9vQmifmhUQANOcnJg8s2t6GJHgQRjBes+XC1i3foIztF3/m4LT+K1Cwnwc8063LHMM7lr1FiWnIj8B9mibw0GRWy/XMBjy17rlo0mUbC/TxDzQ9psYYQMM1BwlCTXz6/YqIcIkdG3KM4P3KuRQXwC22r8IRSwyk21gWxTtpAwbjTQBEVzyoW7B1Rxvu2ST/lGNScazQsteyrGdSzxRU4giyxyCebmBkk10zTVaWtzaX0PjEmHk1JTj4YJAj2Elz1y/yMpCUDCWJUxr4tmp7H37D/7xoUl/Q4wZM3rWkp38pLsM+sdJsQddEwZSWAmw==","layer_level":1},{"id":"3a7b6c49-13f5-4c4d-8045-ec10bef49459","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技能配置表结构","description":"skill-config-schema","prompt":"全面解析SkillSet.ts中定义的技能配置表结构。详细说明SkillConfig接口的每个字段含义:uuid(技能唯一标识)、name(技能名称)、sp_name(特效资源名)、TGroup(目标群体:自身/敌方/友方等)、SType(技能类型:伤害/治疗/护盾/增益等)、DType(伤害类型:物理/魔法)、ap(攻击力百分比)、cd(冷却时间)、cost(资源消耗)、buffs(附加效果列表)等。结合代码示例6001(挥击)和6005(火球术)说明配置的实际应用。解释枚举类型TGroup、SType、DType的设计逻辑及其在战斗系统中的作用机制。提供新增技能的完整配置流程与验证方法。","parent_id":"6e114488-d86b-4865-bd35-7a0b80ecfe52","progress_status":"completed","dependent_files":"assets/script/game/common/config/SkillSet.ts","gmt_create":"2025-10-28T10:44:41+08:00","gmt_modified":"2025-10-28T11:18:18+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzCahgg1FPXaSgGdV+UMEGsNFaVF5L1Q3SOd3GsynkFD30B2xGGvtteQ/b5fe2msqwsCSySEoB1lavFo3uxG0YduAtoaruRhTH0xt/3um6JTBJNkpumgMTsl1UuZFwGZ56V9KUTlA32iSeXa6F+KpZi669BF0sP6R593GYiReYL/XkQSF4oS4H9fDdecJYk+v5yR2YylMRS74IAw4PW/v2d22uRD/V4Y+Cqi2jPSlWHwuF34XbMJxUMXCwHS2xl0mPRIHiRHjCdY+JCATKCF6c/H6UgOj3CuDBx3CN0R3wlwQkkB1ajgpG3tLDIcXJdi126gLVx7YXnyeIznNi9v80Byo2lRoPji65GAAfkp1TP1yR6MMROILVzNp2a8jIQ3yoS4jml4W6tDk/8eR/mEfu4yRUGSMfx6tRFO1s6YB9+8yJ4POsy7P/PYFzcXp/ODcXIEaX4+Od410NXqUHQwo8hJrFpX+742de9Pa37616nVLAue6Wsv4L2KD3v06+0Jo+rPNpuqC4DeD2BINCuHuhV4C8e+0pPzaMPtBV7VET6Gqf38LUXU0BBkZu/N4lK49vNBR0p5gbeHsm0iPQXWhzAUgzw02D5sO48dCE9KK9fDWLP0Wob1fGzozKL1dKjGkF96kpCk2l62/RIgFO1tSOabBkTFuog9o9RUwophGI4+aplS7ulcAhyz7OmEL4FxfjzGjRe/YzHWMZojQpT7a87AZbHkDpRTeKsVkcPunNf2JqJAYow4HweTDrJnrxqZEl10aFg4gNOhERLEPEpdbQMa+FNAr28xj72SNvA7jxDm50vyGHkTCVeMHcBLWLnhV+zO92P1bPnV0zyNvEzrZmc1LZjuXuX4kQxboWZuWdSC2Z3p/xtmahY58ytt8pzxyuN6p0rc4MIZLNh5o0fSd1PhOqw1GmgzSz1flFpoF3ds1qh1p010Fixx7tScJ/FqM0aiTz8ATjcdpxcFku8eXKdrhRNZXVy5KLgBBBBFAvz5guSGw7osU8hhIV5k8eA+38jxMI9lVodw8rVAg3yPUpfeEAvPgm4PUlaINQ9/AGyaYt/e7PZccpAWwgGjvo00Kg2x9PuBcUnGQ2y8iA/C4VSLIrJVIgrJP809E6MbmoGH5lU+we5CqXJ71UYdgWQUGpZxHZLAAo7S1GlkxjvoZeYa+fEcYRftWhO4LT8X7wlkwh9deylQjCC+v5F5+dJJHyotRkA8qnN7HOD1pTSvnGb3XnTIkIloZ3jyj1aQxqZBlC7zCXEdN3OHudZ4wIYxjpgJ5JOXkPES5gNrH0m9cPh0m0LZASDb+5fak2lv7sJlE","layer_level":2},{"id":"c5802c4a-5c0e-4085-b249-749a6e0ea365","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"云数据同步","description":"cloud-synchronization","prompt":"创建关于微信云开发集成的详细文档,重点阐述WxCloudApi.ts中init、login、save、get四个静态方法的实现机制与调用流程。结合index.js云函数代码,说明服务端如何处理登录、数据保存与获取请求,包括数据库初始化、用户自动创建(getOrCreaterUser)、数据更新逻辑及错误处理策略。文档需包含完整的请求/响应数据结构定义,解释code=200成功状态与各类失败码的含义。提供前端调用示例代码,展示如何在游戏逻辑中安全地进行用户登录、进度上传与云端拉取。说明云函数部署流程(deploy.md)、环境配置(config.json)及安全性考虑(如_openid权限控制)。分析客户端与服务端的数据一致性保障机制,提出网络异常时的重试与缓存策略建议。","parent_id":"68f63862-f52e-46a7-8d5d-10c42528b4b5","progress_status":"completed","dependent_files":"assets/script/game/wx_clound_client_api/WxCloudApi.ts,build-templates/wechatgame/cloud_functions/cocos_cloud/index.js","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T10:57:19+08:00","raw_data":"WikiEncrypted:42GucIVlAI9L6q+fifwcxR15ytJw02g76WlEVhExnMrOkZ42k+RjkiNb2Pflkswp+zTtNcy42dI6b6sWluxBMtnSN6yblNW6CS6Iehf1lHH+xXnsmzqnYCY7LHiJU9kXUm/X1ffrfBy7smXxoQOkfhJ6PJMAe0ufoiyZwGpwMpVeGc17KEE6Nc6v7jGVIgcfAdVL4MXejXDQnzlW2AZ99elV5haKxIfUqq1ZMjlWqnLuxR/+0yrgpGqQke1UUP0iKY3udixYTnfGF3koLFPkslO6mx0dHSrLpDKmdGNz7Gvg0qgNjadvFhLhFno7z8ukE95riYi53j/9K7Ld6Rdln9Mqp1ad+y3x0s2iHaEmkVB+QaJfly9MFQUhbPdg2oZ2+/jYV1WUtfhdOYFF3JiEG/7XnzeJ+a/iU5bk4JUdyjUuOhYTKtAQl6waMnu4eZ5AOQdfqCTrRDzCc344m7fdrPQC0q05+JeHu3/SustzFHvnPX3Tf4Ehno+iHevuRAUPv+Ex7kKE0N6OlIZNzU/Ut4pg8WknnetJ88snX7bRJatH5nlCyiPGTsY6aFtPYj+GlmV3fJHPxFilACMP/h1M9Dcw9VUGYqH38oGyzfq6GgNQ54/uOxzmFHWSIFqTHcUefaiMO/4ZqJVcy1HaOqdMKrfK9O6qNM8g+c3u1Lcyh+ae3COzxU0R3XZJKrRlEj+VqKFnKV3GjmAmLB5FrFCEt6tjpPTzsw8rOWr1jRn4eLr4R7AFLSP87/i7JAKtLVFRZCYtSILWZlprY+DODKGWP8NFYZH8p495MyOCCZVeERzoottI3jFugm5hDrLEtiQnUAbgmysi5T8oi2qbaIEmz0c1CwAlEXw8RiMfyT2UWU19rmxUeg+EIS8AY0Ssy+izA2JtaBHMs7WRIul7WO+3WzPrGltLDQMrHl2Ppz7E1dWVhxxuNT6tBlGCFdRGKQEWeipjq1LnghSici+Zj1yfGQyK4Z3A2GvIt66zkLiQ38slU5K6NZ1SDN00ASteOMLOA/JA6tvMmwPeGJCJ9OTc7q4JH/lT8iMCrXWRT5MQFhVNCTU9/42d8tCF7w7bTtuK+PvgkKmS8OXB4crWWr3qf8kSlID/4j8nZsu24d4DmliL/DyGM3aK4BeIyWMkIQOBULfrYVs9f1wbbeOnHNqwop9FgWvrk7iypoSOO+51p+/q8orauJhHC8/719oblQyNx52eOArUau+c/Wq9eyHgBGOr/lnZczog+TZo+rN6h3Q8IT28uK1RQDSoo8MIM/zFpzjoRyQMWoZRRSoydO61ySuI1VYgkFHml/M4zX/D/YGDvo8MDIfPuTccrhmo1xx+tSu99HozfK5doGIWOHa3AwaNUwlN69meopXLERLZjlJHJs/sgErwViWUbpEvyTNAr34Tm4BNCLgUojB4wwl/7XYF167sJqJprCKRP939odsiv2REoo93ETrMJnkrz89XuOmUeC2CE4sUZz6a0cLwb5GjxBk0Yyx5ss/yWZTFLJYN3xqBwIDjbBWmdxRTAx4UVoopdjPBPqhtDrwIywyqD2eKOV5sSYoOrkeLBrnlmGDnp52k5hPQ8AOYMYeCklTh1DAohb5NmasSXDyAN6MaK8roJIIDL7eeuLw3G0d1zKZTawxkjGRRnwS+d48EdkvS","layer_level":1},{"id":"10afc371-0b75-4354-9888-de3202769843","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"战斗奖励配置","description":"battle-reward-configuration","prompt":"深入解析基于Mission.ts文件的战斗奖励触发机制,重点围绕FightSet枚举中的BOSS_WAVE_UP、SKILL_WAVE_UP、EQUIP_WAVE_UP等波次常量,说明其在战斗流程中如何控制奖励的生成时机。详细解释ATK_ADD_COUNT、ATK_ADD_GLOD等参数对奖励数值的影响机制,并结合实际战斗流程说明属性提升、金币获取、技能解锁等奖励类型的配置逻辑。提供代码示例展示如何调整奖励触发波次或修改奖励数值。说明FightSet中各常量的业务含义及其与地图系统、怪物波次的联动关系。文档需包含配置加载方式、运行时访问路径以及常见问题如奖励未触发的排查方法。","parent_id":"36198628-bc0a-4ae6-bb5f-57d7f722a857","progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-28T10:45:09+08:00","gmt_modified":"2025-10-28T11:19:00+08:00","raw_data":"WikiEncrypted:FLszsY1J26G8VWTgMvIqxopSkab6qPM7grY61ttE3equeM8Gzpr4uNLJO+8PvZlWWiS6MjTJixYE1IuG7OGdopzKZofib5fuDG8XIT8us6bwcPzOvECX4g7dJhXelmrtAP5bG3fIexlPszxa4fD45O+Ml4KHAZ3z3gyq3tfxm8f+x6II6RWnX/C3mBCmQSx7oEXEWQWKR/Eqwu1y3BHraSFJJqqxpSOSnsy9wxtC1gkZW5iJlgPqzJhKA2Na1dAxLPdgnOoqtluwSNi1hFZyuO0QzAZcA7qyUnkWOBCVsrteLN0sdB0CQHCokO7DMPxLcIBL/9JvMdcejwfU/FA/WDYRorEY8IhNRkebE/Hdxh6VHYbwoGf8SuGaddUYT0YuIDXGDFjSDzuNPfzwKWj2CwtXHEuQhpc7/ZjOXKOR/5/E5iKuIHVq5RqXo9lu3lIZYoW23sO6zIlFKlHNVg84PloaBUZqDSYlVZ8fQMyTkl0T0oP9myri7tpM1I0r0s2XNltggc2QH73hef+FURlGzXd2ZXkMUGo2pE4NFAhdpkwMZ5QVhep0cTY6fGUa7QENkvwFEMFf/1cs/j7Kdnfj0L2B8jqGHyBcptjLDsbsPrHmag9bZY1qX6e8mNKkcQKbbCfNkOB2gzxI1XqySCgZr4i4LmAx+bKJZU4iHOBlcpcbYNQruf70hdIFKPY5Jjr7cbnz74qJ506C2iARSJAym39go5Gq+6WTANeboTDS2CG1jrvQ4uE+PGZya5jtQv4RJtL/9r43GF0K+woCOTP+78rb9RC+2fVoYgeEb5wBGiImRkVcunJip5cFBMMZe2q3J2w71p/UpsC0U7/1q0wKGpYamSnooBQ7F29ElGeoZnBPzaP2ME3As/Tdh15Ih4Tua1h1ds7Wm+w4hJX/nh6Z2GYlgp+knmeSmx3z6hU27TxW0im8cJx6H8UVskfgIOhtX7lKfcgniQLLPqt+hsi4jeP/e4q+rXDE0R6UV2qOrbw4EsXFZP7Dg4hXIXEGBsPSjIB1x9ECOcnHlUhHcQaOV1F45uJZd0olC+vkyla170Z3aDsHJawnwWL/g4nQ6sfQh3RphT92yAY+gkGnIUNWNnDnmtg3FrNqnCTwCmAXokuLYpJhnAhmkXxnQ+Tlpw8Je2rluophy0jPWWSDKyG1wV9+WHKe62CFVaEHiNCaHnEcKb5gKayiso/omzaE6sE2G5AYGfuUqp9nlKtUuHxG++GeYNBs68chP42Ba/urQAJFWPGp80diiNGPfW1sUr4+KtuB2HFRN2ql1pDIi9gosBYiEDgD2xGEE2QGa5AoRkM=","layer_level":2},{"id":"cc0f2147-df1d-4e98-b748-f6066b4e1052","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励配置","description":"reward-configuration","prompt":"详细解析Mission.ts文件中FightSet枚举的奖励相关配置项,包括金币(GREEN_GOLD、BLUE_GOLD等)、经验、钻石的数值定义与获取规则。解释TAL_NUM天赋数量、MORE_RC广告奖励次数等常量在奖励机制中的作用。结合代码示例说明如何通过修改FightSet常量调整奖励平衡性,并提供新增奖励类型(如特殊道具)的配置方法。阐述配置数据与运行时逻辑的映射关系,以及如何确保配置变更在游戏中的正确加载。","parent_id":"3c73f2a7-b666-42fe-8ece-180d6c94c638","progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:18:19+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvJ7HMNkzZcgHniUTwiXO9I4RqTwSXbtMrRbPf3L9KSnrKWjvi3CLNjbYYY5lmd8vinOvewexmPuiRH3TCYORypvS2XwjMvpIgYTO/6ES3eXnECAeVsnHcg8iYeu2NkWionm3/8xZcMFv12NpdwUz3fLSQlOSFep5ibgfZPIL1YI4p3cGKTkNicJY3rqBfi2wuWEhWXGklYxZcZ3wl5QRHN4dpe6kImygLiLOOzaubkNilk0NHBf6AgpI5tq3YSq1N80Gc1b7qfjMXaX3Qfq3JRAgmTfl51Xf5rMLczEWEZzg0sS67SskNa04r+N1SK4HAJQI2QSyGqYQ2d311qpKP5jKpctG7cIeffviSTY6jjWpFFVgCDYR64Uabhpuad6Ef0GILypk4EpnsfZFoqYWWezBEe4kRCw2FrP5llzG1FMY5D5YB6U7ZhcFOzuRHTEMBwFy7qOoxtF7IZyGNDsQVGexnzJ8WtQzvb++cNzVuxJpnATVcsr2VwCPOhsKVoyRyPGnBplghE4/AYT3wOUZZZEWAShTuGfuZWpzkzpU3VGgZJt65SUmBRIHxOKF980tGUblc6CI8ZHzx3dkBjszPxk9sSdWbHwTPOFqKvH/yr3ZlXph1YwVcp/1qWwcw6ZFHzsOYNEmSZmsK2z8rjdXTV8MBlaJs3EE6HG/c17bLYgBnUyRISp1qfuIbfmIhMSSm5gT9SaSX9qpwcV7bvVD/SQQbl20FsHN1saPoHirmA+TSl9PAWLOimzXvN0az/cBaDTaSQL7ceFGsoJNRgMFC9y9gcd/6PYolnWfAg0ibwTwxl16xjhfRJCRLtKuY/P97qghQ1SZrW8QXZjXNcJ00WJTko1e7xRHpuxyzSUsrZCKGoAOAGZuNE1g7fRfl2p87gpKY3xlXfXQt3cXsShP/nVoJOqGQRC/MuuSoaNyDP9GPNauRP34k2PDEOedHS2QgJcSm0VJO8FDUzT6ed16hQbRMK79iJPblCcYEQX3YBWO","layer_level":2},{"id":"5aaca5aa-0d2a-4feb-ba28-1c7b5134ca75","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"MissionComp事件处理机制","description":"mission-comp-event-handling","prompt":"详细分析MissionComp.ts中的事件监听与处理逻辑,重点说明onLoad方法中注册的GameEvent事件(如MissionStart、FightEnd、HeroDead等)的触发条件和响应行为。解释fight_end方法如何在战斗结束后延迟清理游戏实体,并通过cleanComponents方法移除英雄、攻击和技能相关组件。描述do_hero_dead方法在英雄死亡时如何判断游戏失败并打开Victory界面。提供代码示例展示事件派发与监听的完整流程,包括参数传递和UI打开逻辑。说明data_init方法在每局开始时对奖励数组和游戏数据的初始化过程。","parent_id":"2cb09822-01ba-4a46-82e5-974c0c1a048e","progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:19:06+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVU+adUpgSmsm39KyMhloq9qrW/Ml6b8Mwv6aQ8FRTu++kSD0l+zI/xOnllBFHu59xr0Xu0awQSgHeaQAZ4AUenWo9WYuhqaT9Qo9Ixdq76XEyNYzCDGFAtTGt6ifm5IpYNiHluibOmv0OQW5X56LlGQVYQup61aQi8e0XtidAM3dZjAi5YkTp/oHUKEgZHdX/0FtUMU3Q6LiWQk8RBB3eOi4Y0u+byyAvMd99Ea2l6eiImO2WyHSUQSG6W+XuRe4EJBUK7GXktfph+wWTHPxTnYOr6kTipnR+89f/+FqmOVWJch7hbBTzjRj9aQBdg/bHKOY7IiSySNLECx/cYNLr4t+aFX/YdLnTHg/V1RfySIikhtPOiXuOzTUJQLtCNudDRBQEuKOcYK/oouVzXyWDnxzT7QdcVlUUeVtD1ocOUDinmtmNh17G/Q7Q8Ej55h+JEDg3TwPVUfQ416qW2GCqPYTaMHflzyKvwygjyP6Vg7uSQZtACl5NHJBlUeNjxacoMV+oG3Nl+ibYLHgaF6NNSeKJ/MfX6RxpDnzDU1VU4SB8sR8Ub7G2c6wAPl28197kZI2S4zt4WWUTdW3Ge27SB/OLialjDV+QvBIejW5nu4tm6/14Ndr4bA6vlbUPFZcO5Y1iFGTL2PM3hDuYVRgyvSESRsn6zpseM14NDQd72uJMRAiDJJcO60n3PVvD0LpNIDsMLMEkDD8Y/ERz56LfpXAYbW7RYNblDeYBh/WnQsWEHrtdcikeu7h6uKCXkWZs2pBI6w/x3TQNwoC/rUvyQBcgNYmklAisGcQy1IUFFNnqfZrGFuctuqk2sNbG+959bHCREa0Th5279O8q8uNDvlGnFrjNNIQayJ72KpDwfqNbLzcGFQplzOaORHg375HW373zLSu3lfoqpEVYFWeJt0XtnP7dxkPmVVkwcQ25m1FdSGA4YDz+QyhTRQ4QHV0Y11ZiqkF/DcRIrVC8TLC2iiJoYDVoiUCr1HMReIBe7IdwrKZbMxtD8w5X+IbJ7coRPetkAe/UElsuRB4NpzmMd6y/GFR+JqW5m9yEDK0aISqncOup3sCXUX5JYU+HE81ErMgyyi6rY6Pc83zXpnuFgkvzDHkcTQNOz6uZZgAx2GTRfYjQw7h7LpPSy6T+B3eF0sYw9rNLzwI6vooHOoJuaU=","layer_level":2},{"id":"b08104b6-50c1-4299-b760-b251f7a586fa","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"关卡生成规则","description":"rogue-stage-rules","prompt":"深入解析RogueConfig.ts中实现的关卡类型判定逻辑,重点阐述getStageType函数如何根据关卡号与玩家等级动态决定关卡类型(普通、精英、Boss、事件)。详细说明StageConfigRules中各关卡类型的怪物配置规则,包括基础数量、最小/最大数量范围及其随关卡递增的扩展机制。结合代码示例展示第10关、第5级等特殊规则的实现方式,并解释calculateMonsterCount函数如何基于关卡进度动态调整怪物数量。提供修改难度曲线、调整关卡频率及新增特殊关卡类型的配置方法,同时说明与GameMap.ts的集成调用时机。","parent_id":"49dd1c8b-dd0c-4d68-867c-8139a500d315","progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-28T10:45:32+08:00","gmt_modified":"2025-10-28T11:19:25+08:00","raw_data":"WikiEncrypted:PTm23USGky7oBojbIKFGEyiS32hiOcQEPv6G25KJx5UFOL3MR76SnCpRO6X99t+lthxc1D7x/j54aAhipBZRswbBFx9DBdCyTMTzeiCRTJjsIQymSwNvP03eZchKnREfHiujAFEZmx1KhcWLog2BfXEw8YSBv4FPjFU6fhh5U8w7BhjrY4ZbdNq/F+vPNN/O1aAw7mivJpuzjdNJaOEhRUYYamPrc9iOuAC/RIPl0pWw0WB8NTHd4wSnfybr+0ZWo9PgjJuIHZCaihlSMiFqWAereEZiCwMWDG/mEyaeaFar0mC/sE6Wgi14tyZW+mYgezP+wYnX3Dt1z4DQVYjypcZV/3BjWwVovaOh66pR2WnnKnksPfn/TJsBqxZXBcI/AfR2ut1LxTfbH9IbWdNys+nMdytgXPToCePJmrY1Om7Ysl39Zc8luy3Qy1fmPKbLP1TFxpfaOhVI04260hpZAxcqR0ucDYqNdu9Dqe0mIHWqPZDcwXiweEq5hJ1AaqbQBurqe/SweW9ZM9FbNswrX4ClYVMW4Eh0M4HVK44AV/fGcQIB5HBkp9R1uvQMwP3LaMAZviVR6tyE20OPctxWI1sHDfh9YlOG4ctkFLCEFTvTUtEmTTGQEyLU3ys5xOpntyJL90vb0ms4VW16vTkQqMLn/c0hKqMPH9jAg0oOMc6muJfjypxPQb+8bTiDe2JnB1aOHqW8DvzR8CNl9pBr3kiRY4MtZr5hrqXTOihxhw6M3ZFPjx02vs/w1d7aLNKiXNVp5Ng+lx6p91pBRwYrGwadLWra3rXWnuQmNLlWnwtZujsjGs25AOOI1KZe6wAGKyHPgqgxcdXguvekb0oHIpANNtApvMHQ8zstW9gAd1CaFF3/v/maykUVnAzA32yPeDYJfkjXzxbw5m6J/QTyCyca89wxWySgmtsKgkCLW2GdTEWypGyxAMwTP7WzZytYhiJimCMrXUtxBtEoztxQa7KF/zqWM28ovnbCitH2l4xS+xmcYx5bH5hoJJgU3Zh3TWYwPUuI9zn2S1YI2CLElzzLYQTLw12HC2D4kz3pkgObuMPuag1A3MYdruYZsUEoQ7WgjzWg9bTTQI/TH78Np6XJTqaR5v8ZB8GASbtdhDfyPjtS6bu2Ju/RSmPtB6u5emCivs9Zlu6x7MUFkdKodMsddnuj3hwKcg+DSy4qRt/4unZbsAr1AayOMIn73VLjw5oNElbGfvR104CwAsEqyunCG6AxeVJPjB20lzl8ycTS7Uzs/s7dM2F74DvbANzG","layer_level":2},{"id":"82566d79-7acd-475c-938b-3ddf974fd1ae","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"地图视图控制","description":"map-view-control","prompt":"深入解析MapViewComp作为地图表现层的核心控制器,负责初始化地图场景、加载资源及管理生命周期。结合MapView.ts说明地图逻辑与视图的交互机制,阐述MapViewScene.ts如何组织场景节点结构并实现视图分层挂载。详细描述onLoad、start、update等方法中的事件监听与定时器管理逻辑,解释scene属性如何获取并关联MapViewScene实例。提供视图初始化流程、组件依赖注入与性能优化建议,并结合实际代码展示常见问题如资源未释放、事件重复监听的解决方案。","parent_id":"7c0ffe75-49f3-41b0-ba9d-a01b4be067b0","progress_status":"completed","dependent_files":"assets/script/game/map/view/MapViewComp.ts,assets/script/game/map/MapView.ts,assets/script/game/map/view/MapViewScene.ts","gmt_create":"2025-10-28T10:45:36+08:00","gmt_modified":"2025-10-28T11:20:03+08:00","raw_data":"WikiEncrypted:8X6dHc8oTZNrY2EvGKdkV8+eGazXtSM3ujjUh38PRk30KA0SQ1S7aEY1AwXCkk1dQeyrd8ZYmupK/A6ECIvpD+RfITVLv7ncN7IUuaWABYWqGDBEun0vMlrpDZ3PFtldJ6UzKbGt1xC7wMmkcT/hOFSd4gvlsYYlxgb5goeh5X7+krxn1BCf8PgOmgSg7UC1Y9lGD+hZAHX4QOYkDKMZpYaqvi6UDv8z5rR1KoG8Ouy7kDc2d+tdp0+KqvpxE7Q35Ovd3eTwr47ch1siUljqjaudaKsB8fItT7fWQ/AaY3bZt+onKH4vHvPb+OiKasDoPDdPDlEjNmt8FZiE3KEh38e2/7QmxYzYeYhCzwSaJWWO+TSHCg3BHFPMpHr567mfUzqyEJVyBs5IN+mWEdubJNTxqDs5jLrQ7uJgLWlnxYy6OTL/ufVEZnjCYWKjS4axqGd0zXGYP3y2lILijb9p4/kuKd7jSe/iyOL3nlTeMFNwq1B35cjLkaFe/3a7N/Nn0PXwdGJdUNiu7+VDdgYK5pbtU/X0w2pMhqRe9hMiSWKyyAQ5KUkF20g+vCl1/aL6Tj4juaMt67sZFdJWYf9EUdF4R5wspkj3ppcuO1IlY9db8JnNKOq/azsbTEvnbWMIDO0G+lwTkPPR9tMjDIJB6AkFb8wN8myj5v7CfS9RrmSbRwUzW5c0TSWUR5PQ8yx113KYy0PsI47HJ7jg1Fw0RT1s5RaUV2odNIPljzqWvQi5g7RKlttTwB8BpgGa0eRuagNe+vvOUgHGPfhennC1e74+BFbRQpCSpZGPJOiUZsMgUD1zfq3xM9Aj25+iKNT7pknVw0aUgYEwG/DIJcpnuSzUc5PAdcOpLp4kmSQQBfWDfJrGhWfOGDMQxTB1VfCouGoMAo02QJXJi6EA9FroS0mmGOnm4LwnsnP7WdMUnX5vwu5CI/Mr80/6k5rTnSpn5g0PsoA21U0xW/SkSO6w2/9YJdyxdz/7YLcqAU4mGOWT4L4SoP8v4NPpBDU00C7lCU+TbAYhnl0hAvDLmMTUERWlpMriEnt9TTM2dKz+JO2VCd8+Sj8hEy53Ubaelba1EIBepV8dSAAgpmH/OCLuokPJGJmTy3GNOoPWzUFyFEWEF8HA8S28cAOaVoxqq6RXG8D9Itgr+OcW77Ucvlfo8D91YYQj2VD8JCrgM92GCLLX4qNhn6VtVnhQWNM2jB/lAm4C7vPD/3y8DAscTNqH2w==","layer_level":2},{"id":"972b69f9-0acf-40b0-9255-8f3271dd30fe","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"怪物实体","description":"monster-entity","prompt":"深入解析Mon.ts中Monster类的ECS架构实现,阐述其继承ecs.Entity并注册为`Monster`类型的机制。详细说明load方法中如何通过uuid动态加载预制体、设置初始位置及绑定视图组件的完整流程。重点分析BattleMoveComp组件的集成方式及其驱动怪物向左移动的逻辑实现。结合MonModelComp.ts说明怪物模型数据的存储与管理策略,包括属性重置机制。提供新增怪物实体类型、配置预制体路径及初始化参数的开发示例,并指出常见集成错误与调试方法。","parent_id":"6cee1ecc-c172-4a92-9458-85f4b8954d93","progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/hero/MonModelComp.ts","gmt_create":"2025-10-28T10:45:54+08:00","gmt_modified":"2025-10-28T11:20:32+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRivwA+jIw0asTYbEfPUUKKWcpzxhzYjtKs2LUL5PV8QmuRCJBRwS9pRxFqDSv/6Ec5dylE/or93WFZpfQUJrRGBr+khcBprcvgHgP26cUka4DJ5EEaCZuiwvnHj9mICerSdpyb9lDoAkFvJF4MFzNQhHo/X6/WG+o9LKvzQeegtpy7uoNLQn5yWX9OMvHC6f1OaH/ADyBkvFP0HkzFxwjNyGGZzkGcUdwxdQpOXIQVsckrOgFIwoTn48JLCKEfr9afk1G/qtHoWPScbUwL3fNI2jDSsky+1hIRMpFzGqeiCtC/3Me5/DpPTkY0jrWBoP8AuaD4mhOllan8NnzU7KZTH0fDMBf96SVNRRTP5hxosXC6ygin0TyZjH/rDCX7RMmyDTLZP459jMivECCFcUUOrFaTUMWMtC2FVMdcW85khiupHlRDIHlxWdmCM5b1LJxm3t+Stjn3argCpm4K7zyNodiC7KO9PU0s0SKJiqIidoSFrVYlB4Zij3V7ZdEEjkpFrRYp+or0mZV+KdUf8Rh2PP6YdFeF31fqFLD8u6e/l90yM3VWR3v7/2E3Q//VVXiCGCsDJDv09GhmeNzWl8UQrW3c+d2hpPwzHKKa0q9sL/GNcTABtIauR0HZcI8820JuT7htDSjk4luEId/oi/+NmYu1Es0GxUrUYrs8alxP8ncfgv7JbgmoL7gYfS7xX1MylE90XXk5qTMmOpUGLoFxUWwgTlm+x/7CPL09YzFHP4TmrBV3msrLDgM+eaMEF6Ku2ZtiqWJJAI+QkgLfpx4zd1bndaU72eBdueqtWFip+/OiiyRKg8sEUPOB2ObJVp647TEF3p0V+wao3JTCcSRH3QiS4ssVBHQvLZU+Cq4KBYz3EldwtkzBP52yWcpj935B9Dr9dmIzoJTlKUJrE2XUIS969CI5psUJFx8L868lJAfspoctX/13a7MWK88dHI3afPv5pWtU+uBlZdIGgc/F8Nsvdx1eocI32/k8rmHgQZGfKSEFP+V2NwjErTOxIFP++D43mvumCaI7ut04m7ajrc/3TxaaKioW/9kUFHMjjOk8CMpLBwWwJeX+M2kSKNEvNnpoSQyO5+6Av+5N9lpCFNpsEfD6Rp0xXAMdCGGeWA4tt9S/wZmXcs7OeQgIAVkQ0Znf1DzChXyDTI55cJq9O3FaRTOWRL4TFWg3WrLF/17+FLhu3P3aPDUzF3R6ttlu1hEjz/lXBEQOzgDiWSlgc=","layer_level":2},{"id":"6fdf001e-40c1-474b-ba4f-5814018c44ea","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技能冷却管理","description":"skill-cooldown-management","prompt":"深入分析SkillConComp中基于update循环的技能冷却机制。详细说明每帧累加cd值的实现方式,以及cd_max与mp消耗双重条件判断的触发逻辑。解释如何通过HeroView组件获取当前技能列表并进行状态更新,确保非战斗状态(pause或非play状态)下不进行冷却计算。提供在暂停、战斗结束等场景下的冷却清理最佳实践,并结合代码示例展示定时器资源释放过程。","parent_id":"b3e6a68c-2a28-4d13-95ba-937923884c64","progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:28:49+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzKaWuH4czuzn3feF9CUC0UYyIzEZw3PcagthH6rL4NQI2U6Av0nFyJNiWJAGfyCdnZTf9GtJLHEcEHwbk6zythlOictpwuRY7qw15G+YTrHZZzCAfGJ8cQzBWG7XV5fZXn3FhDeAQtiOjfrUVgkri7dGnDM/wKR7TlEGi6G9J2uEqAfjxgm0K4tySIDY5498MJcwu8CjO90ZEaFMsb0JG9uVdq7+TkAFLS6kkcZYKZanGE3IY5s9vXWho8Hgns5lz4fpPoFPTUdsPkpKl8n/wp8BjHZRyNAbJjQttzDb/SEAGnUhMFKwVBclfO//RyDgXl6NWum8YOPBM3YgZ+2RWcj8ZShJ8jGDlZfEdQo+8XaOUpZ2h0B2XIQ6SjXJFINaiWaehDMZRwjvMRURU8K+awDXXp+9oL/SybOIEECbq2xoLEZitOOWc83PMIGF1QIpZmsN0885YhLqhtcNRj4QmkN8t4ZPC7oxXXQhaVY0w9SzwejN5+SZNmiOVv3+I/eN4Lc8RQu8rHjK+R6rA4QSKv+IFI+RSUqD4scM1U7go4cALIVBEZt8z5VmNrvdWJxksUqMIZTziHjFSMeHtRgRJJDH/et78SUeC5mC7wH+EQfV2AfswrdAFJWfJv0sSTTnDow4FNk/wWJX5qtSqj8hsH3F2nxuxgY5r0rBb8btOL6Jtfx5MrVdNofPmHajasPWWThp+f1CEICNe4RaA3CEtqcROJQMfmJKsZePvuUFWlA0K4k52f9n36YEWs6Kyd8Eu/gnHt52EtriUoW5OQXafXOliyt0c1eCs2BZoSVy3lKrrBJNjP9ZTTjPvc5i2+57fT1txFDqqJSPqlAZAp5BNcOM2NpkpzpCnA1bBP3RSDB1p5TPxm/lDZHw8WaYW0gzk2Ldu++pprkIBlfORmAPGVdW7AIGwauWnLZAd9ePQEi2cs6zLQBJ38P4MTDhRwOBjgT2McbaNHwcIjc9B8wH1wA=","layer_level":3},{"id":"dd3d2d14-7086-4b1d-80b5-6b595d048a5d","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"地图基础图层","description":"map-layer-base","prompt":"详细阐述MapLayer类作为地图背景图层的核心实现机制,包括其继承自cc.Component的生命周期管理、纹理资源的动态加载与精灵帧初始化流程。说明如何根据地图配置进行尺寸适配与节点锚点校准,确保在不同分辨率设备下的正确渲染。解析其在MapViewComp中的注册与更新策略,展示图层初始化顺序与渲染层级的基础设定。结合代码示例说明如何扩展MapLayer以支持多段滚动背景或动态材质更新,并提供性能优化建议,如图集合并与绘制批次减少。","parent_id":"32e526fe-04d8-4bb5-97df-cd34d6b1015e","progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/MapLayer.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:29:25+08:00","raw_data":"WikiEncrypted:bYz3QGEiv3QjcQPO1h3R1RGAQCkvAy0+dyIXFWzUhxSbXBF++GqIylnFMao4tXHIn8g6lc0SnizbmaJwVBuPJ8rSacZ3hbWgG0s7qR86aAJKnXX47AvtgYLgwjit1Ye7ywwy6Ar8A5Gx3Qak2CNqlZtGsRlF3PoSZ8zSw2iuvxCre4Eqh4+EmS0hemp6Ph4iBqhARQgoZUgjGjXTk2A+hzBmpI9G/0PGpnoeyUCTryAW62+x4t0/GO3TOfccgM5uCa+PR9eyLNylC2Oi6BUyHDbp/2xis8f/6QTeR3etuZZBOqgqZfQndGmblNmOQ3Tf2wCIOcfwWubk9aczOQhAkQ9Skt8tAcZ0q/bH5C7y2XpKiLfbP8M2v1oh1hioYZClwWg8k3f6m+QZOOg+Fox4p18cmUlab5jApmcWwUzIAHlLcxWOnmDKiH/fInluVHAyJMuTRp9wHE4wAK0ntjSgj1LLxGe/uQX8bKfOxMG1Tk0WdQfgrhW8fCWzN3gDq4qjj9fogtmU9GiB2ZJDGSuHNrmR6DD1tErFif2XzvCY55fHGtNOvBKKAiyHt3G4vj8S3tpME6zoQWnltdZDgpwRXABqrWogKl0TvDmgwnTV8uO03J6emuyqBl9JvtKyoP8DLuVz6Ovzy8UMkXw9yj20MocDeDv0e+B9l4VlQOlvn2ZZun+rNUvM7fqy8eFqQ1bZjWnGCOPMKqZnAlj8DEx2fNRXK82kbgANL1TImXHqLKS/VPC34A1HJWWSwh2vumgHQAMglWfK2lyyXCIgSDkgqi/z+VlDF5e6OgYGvqcq9bh+74f/EluR1sqsQFQ5hLZDQlJrvCZQhj9u4S6Cf/OTpTPtNPfsg3WS0j/fLCv/xC2/CZTPngWCZXw2w2y5+ZcxIBtEMv/aJaWZ8wxz/Ak9E6qHz5nuIiFt07TB6qkA6+u3oDews7EDV/vEj2a7SHDMMMig84tEDx4078BuOvgEY7xkjEesRaXdHOF9qj2zA/P11znftqKRg5jKpgNsJ6qslWHaWwG34CJxZTKlUTAIM5MtViTG4jetKrQYSO40y2llKOeGpPPXzEqvl8GdDcgmAMnhfuGOj+4fe26qDfksZ+lDt6fRo8UNuPqi/KWroLdDJ15R/obU/hdDxLw9wfUz","layer_level":3},{"id":"8c8ddda1-c0c9-41cd-bbea-449ff6044328","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"怪物实体初始化流程","description":"monster-entity-initialization","prompt":"深入解析Monster类中load方法的完整初始化流程,重点阐述如何通过uuid动态加载对应预制体、设置初始位置与缩放、禁用碰撞体并延迟启用的实现机制。详细说明hero_init方法中如何根据强度倍率动态调整基础属性(HP、AP、DEF)并初始化技能列表的逻辑。结合代码示例展示如何调用load方法生成普通怪物与Boss怪物,并解释scene.entityLayer节点挂载、消息事件'monster_load'派发的作用。指出在资源路径错误、uuid越界或节点层级缺失时的常见异常及调试策略。","parent_id":"972b69f9-0acf-40b0-9255-8f3271dd30fe","progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts","gmt_create":"2025-10-28T10:46:21+08:00","gmt_modified":"2025-10-28T11:30:21+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRowznLaC4VZ32nuQ/4O7K7SozS1PgjddtKV0IG2eyExdJRxQqwuTSL668fx3hbWFprQAIo+LX9DNFXvzaxKOWVIbuSV+WRfrrBx8wHqC4Je+QDLq7z/FuRhbRtEDdr16LRbZGsI14OewoBHrDZ+sx3jelXbvKSvfZhWt+zDF3EGyygqnO9lFBI4H+CMy/INAq6F6cOhHSKk+zwql0n+Fol9mOjbZNx9zs/9nCHJCOv408J8+UEG5xg3Oq7Dp0NSneaLEK0e+IxL7K2YkYA2Cw+Jpg8ehJAaW1nuG3g4CUXFNxIPnrmZqkgHMvFfignP0bV8+ky2OtMTCIaug5dOHaPY7FP8XXud76IDqs8HDCMFkWRrFF4Vtux+J8LZz+alFPdUT5a9FPkzPz+neyv1glH0qq416Cm6BQcjax1yoRAAZ4GEyx9mgju8GOCIVuw3wPTTjgAGgKZtN+9WJpVRKDnj50CDl69ofRxV+BQgp/s7fI0Q/Lhl2jJ30MaNXAViQW8Bkkvch0vX1Gvj+XJHkZ/+N2JwVqyewT50NFdrKWBuu/NWNbAbepHS7Osm/fFGvAc7b+JXWbjNbJIH1bhEKIevMDN6ufCtyM1JiGaleatJXlRHgohMt/Mb3H51ZDwSvJsioH/QlOFDnISKmEv8a/b+A8UkS/Q74RCP3GfoO3IuznJ41SlAh0ayNmcYzJ1BnjVIoz07wdnMztE6dCsIuHr29SJS6TytThDWyK2E/1QqyBPony3iLnSJHyctt+FPnRCpNshAk67MsFRH4HMinjiF4Tu3tOMI805TumR+nMHsZVC6fqK/CBTZgUeg3Mm6H05GLn1DCy5ltK+734/4UyWviKk26Oem5kIgyPr3fD/hyn78khz4lTAhZ/Ln/esZp+wfEvkmPLcrsDLHzqBiEpah9mtf9oOn4+nWVH7b6i++mjXPV/4hgUFE8zi3yojvbftKyimcqeorr4edwyEv3HRczKyi/hsSxhzq+qeYYs037MboFOUit/rO5DcY+akFQXg20Ilv5flera4mW5D62VetH703AIbieQ+1m0WcvLGmzIqNgiZJvBkWmSAgmrHZQRJpdzqAxtwmCtwmt+tmRsxKvAkdOoosvi4yWsi4SbdNqlDVUqZ4KlJV9szAb4nMbfz5nyYfj4QdKxbAxpP1Kecw=","layer_level":3},{"id":"f6dc7290-2493-4074-853a-f9e7cac31c15","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技术架构","description":"architecture","prompt":"深入撰写关于本项目核心技术架构的文档,涵盖ECS(实体-组件-系统)、MVVM(模型-视图-视图模型)和单例模式三大支柱。详细解释ECS如何在游戏逻辑中解耦数据与行为,结合ecs.md说明组件与系统的协作机制;基于MvvmInfo.md阐述Oops Plugin Framework如何实现UI与数据的双向绑定;分析SingletonModuleComp.ts中全局模块管理的实现原理。描述Main.ts作为主入口的初始化流程,以及Initialize.ts如何协调加载与启动过程。说明这些架构模式如何共同提升代码可维护性与扩展性,并通过具体代码示例展示其调用关系与生命周期管理。","order":1,"progress_status":"completed","dependent_files":"doc/ecs/ecs.md,doc/mvvm/MvvmInfo.md,assets/script/game/common/SingletonModuleComp.ts,assets/script/Main.ts,assets/script/game/initialize/Initialize.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-30T16:48:13.1670455+08:00","raw_data":"WikiEncrypted:YfBtV2aQFcCW+/TNrxMAd2hsibtZqU+BP6bDl0OsiGVU54yB42Qid0xBUXX5YJ9Mg8IckF6uBV8rOWHqNpHbJTQekUggzKXzg8SzJftJabJ8jfDL2UxWiD9DBeHyhhxcHUPy42LlxlPEzif6j3etjSe6HwaLpxPXuJDSMN/6+wqDeqbKPrKjzCn+7L4Mn+fWOLeQG5YWiGWW2bAOiS32ooug1JYTIRxjlLK7jlaeo9tcdNfStIkLOOd5FOZJeg989ZkeZm51zQIamxrvosGvSUx0P4W3NpwI+3f31dTnoMKH8gWETwH+EpmNRletTNpIDBLSv6R9blF6sELdoGlm7+qGx77LlnKRw/ehFy7ll4TlMs2S2+1lZ4TOLv7n9UXl0ug+VRFM8bFDFAIZYQfM9tQ+FXZfONEjKNTZRMwOZFYZtReRCrSRmBu30oQ7ksq26A1+53cxD1HzSEBHTRhsEA+L7AVuo1X5IYav2qQm9Lztq1W3Fb1wablQRZj3bzBK9G686/D5n31rYFxJ77J5MAKF/SUp8y66a1w/GCHaumd9Lvv4mvKwphf2x5xzdUSgCoA+YRCGaFhu+iZeB4N+eAWxb9Tq+ryU6GcppiRR02tC1i1rLZR/BwcaeAooRRUb9tDlSyKLZ0TrsJ1Dh7j88S4jjxDSjwr9EzQ46XJj1krHIs2yxzsyUY9TL2Z5RE/OKQ4HyH/M7VXUmfJKIUGBgq33GQUmMe2qNrTpkrUE06Sc9gkqKey5FIXKPFJJYE7NG3WeQoHHhTQ4oWzqd9c4ZkAHyjYMoc34MZXrv2lic9FX+uKYSqMr7YZaKUE+5KdzeRIzKtsYSqPy+VIVI+Z25lEktN5E0tQ5SJiPQdjxA+X7LXz8k9zvYmOT9yepQAExiqo+J+Cl990mBgAw52ZIrqGXOyebothsIwgGA4a7LuZUU497DAyMFYj90KKmKxVKtZe04vgwviZR9sWHlOWmTFshzsL4R35+VaZ5ORXBscPbiO903/CK8sIgkYvR2hXIZp0ZR8VKlqXK1GywZBDQ83p8C6rPWAu2eyXLMNkT2Gcj6E3yg7Km+TYCms38izyx/01pYABvBUX9y9c0KuMa7cTuPGCO9zHZbxxZrMGqwSPYMOr5qRBBGIIh61lQlMp87qKpblVs5pblHP9n5QuzfRQUMZLndfof67JJKHBqAS5oahOffwQzYtz/8xR93GBjTmU5TCTVPJ73OMG3R0K5ZaWG/kuCvcYXLGYurCwOlBW2yf6KiXp0CjXDDCWH5/XhQPE4nDRJXikokCvMtPWMTordClUH1zuZ98GSpAkIcoYSTcR8VJOWGpjQBTUH0iU4ef9WIvWx9cFCxNnbGPHiLF4SA0yBJlCDnZir27SZzddH2Q+kYR+6/VtRF84mrhT+1UqlHv/AkAhBTKbr/5Bphg=="},{"id":"3524c486-161e-422c-aaa1-083683e062a1","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"MVVM框架","description":"mvvm-framework","prompt":"详细撰写Oops Plugin Framework的MVVM实现机制文档。基于MvvmInfo.md,解释ViewModel、VMBase及各类VM组件(如VMLabel、VMState)的作用。阐述如何通过VM.add(data, 'tag')注册数据模型,并实现UI组件(如HInfoComp、SIconComp)与数据的双向绑定。结合GameUIConfig.ts中的UI配置,说明数据变化如何通过cc.director.emit触发UI自动更新。提供具体示例,展示如何在编辑器中挂载VMCustom组件并设置watchPath来绑定数据,以及如何处理数值格式化、节点状态切换和进度条更新,确保开发者能快速掌握无代码或低代码的UI逻辑实现方法。","parent_id":"f6dc7290-2493-4074-853a-f9e7cac31c15","order":1,"progress_status":"completed","dependent_files":"doc/mvvm/MvvmInfo.md,assets/script/game/common/config/GameUIConfig.ts,assets/script/game/map/HInfoComp.ts,assets/script/game/map/SIconComp.ts","gmt_create":"2025-10-28T10:43:37+08:00","gmt_modified":"2025-10-28T11:00:30+08:00","raw_data":"WikiEncrypted:OPNueyipF7BYyTZBw9Ncv4xskjCJdVxe/PX9bsVoYzGTLgMWlZ7XhO9pIc2lsy6HB83wMCnmdT6CAiCtLP7Mhqt77VPtcK1pe9RTdNjOKc2zO0pJttGDHAeKN9+sbNiqkw2pXyAC3HxEWHrTLjDrz55iP0VzcWXSpFRNaBqLhAYnT9BqAxwZcz9pRqo5xBzUGoRNyumESnIQGQNddV5V6jtBxgfgdhGITd919RHan6SsJtJisJC4Tvh6sqr/D/MLCK0mq/xzCHcRYUXAyKKCEzUcIfMjoiZBFTdbrat4Yh+EjIUcfo+vSBU2RHOX/1i1WP98D6LRRNJRm+reYSpEwXQpAI814a4dFX9FL87LRF36sC6KrLw3Hzb88SHpi6aOvhKPAENAQKJj8MqC09HePYZcW6Vnhc6VLHctqE3S/qQaI8fwrw7nE2Ta0O8ZTQj0FbcUxB9qJS76ILprVB+tQIu7gfjx2KvQk0lBXl/dC2me98u6iC2FS4XdSAKLeXXHkaxybSpzAvFk9wU/qGI+ZTwqXHY79iukpE2UGlV9OFh2XYNzYbB7ndJGpJDoxfCEE+k+I386WMSH8kQt16yWW1ex4mwGCeJxDb1JUwt8280SfxJ31W0bXnvjT2KKPewxqqIB1uo0WkaLIIr6JfUdEw8vrdnMvyuY+GcqyKGs4R+EPr1xECNYlf9i35Cj7CM6qpXAepi9NBWWcxZnEDIRXotHIv/I5lCkT/5K0E4ddmnw+UtFFDz9f+BmazKMhfwDZysaNT7C87g6sA2ozCMwfYN2p4LB1HsaC+LvHbR+G/zSa82yBAvffci9WB5pdnMtVkWwrKnka1hzThb/lUZSXF9ioOfNJDBGjMTrC6tAHglt3kgOMR2wrV5SAc9U6QSoORfhuJJan1mKPwaPu7jD4tPi/Uj/8biLL2d/IwR3lbgMAdYwS6AhFYsU393n4jYg64PszQ97XNKs/fF8A9TfB2hhxDVC+RckV8qP/y+bAqb/0xgvth+MF8RfG6XKa9AvA6oo9ywzkyFdGVe8ljrxcHvWqpNDOZKIIXa+hWw/CCNE/euOCmQrtJhoYk5yF7g7eUTu03tHMb3wK6d1KZyngCrpmzwbYpp52M8A07hvHUyPkhURvVrmOw2KdesHAOCwE8p5tQHlWsxxzacaQzeky3jdPLSX2S4p2cZopZMJ06EYIW5RcxmGJRVA1xjRDX7Bb7jInJKOexI8KRmAUNqRqdCpIEMIYR9bI9uloppSfEQjge9JtomCuhmmfBTC9S/NjihFZc+omFeqT29dTw5f3Npih43Pyq0K43YggICA0NBDMEhQkdJ09iv9dNsNOfbrKyBwEAUQVsPAS3ncz159YECMwNTxd3XXgZo5WhKqLMjBkafughafUSbcpiV99zAlYx1/A3p49kXt0PUBRo5lqg==","layer_level":1},{"id":"5d74a05a-aa61-401a-81d8-45684ab872ac","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"事件系统","description":"core-event-system","prompt":"开发详细内容以文档化游戏的全局事件总线机制。基于GameEvent.ts枚举列出所有可用事件常量,如MissionWin、HeroLvUp、GoldUpdate等,并分类说明其触发时机与业务含义。结合event.md中的代码示例,解释oops.message.on()与oops.message.once()的使用差异及内存泄漏防范措施。深入分析事件系统在解耦模块间通信中的作用,例如英雄升级(HeroLvUp)如何触发UI更新与成就判断。提供实际代码片段演示事件监听、派发与注销的完整流程,并说明事件命名规范、作用域管理及调试技巧(如事件监听器dump)。指出常见问题如事件重复注册、this上下文丢失的解决方案。","parent_id":"62812447-89a4-4ba5-b3f0-726d2f18e66d","order":1,"progress_status":"completed","dependent_files":"assets/script/game/common/config/GameEvent.ts,doc/core/common/event.md","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T11:06:03+08:00","raw_data":"WikiEncrypted:3YCQoguH7ZYLzdjRb8fDt5UgBCRAm3NCuo6xRl0ywIwSsKKoaf+OMTSFhJUVrVFM/ePHz38hSCYq1/2wMCd6Lvn6vdEOV2+1MwVn5W/LQB+Gl6MWHxj00Jkxbq3y9FIObGflAtzfjHiuI53jrXIf0oNuUxhNmVPW3DG+Qvu27wWqcNHsTAhdwktEvWybydACiQxGMIquCqN/lO/8vi6vhVMsnW4zT3EAGJaFXjkMUTTHqmJcS9grq+wcZKexdd1MFNcT8zQ9mYmR9d1Rk0NyACTN1yKfCRRVesULsqeE050J9iTsEn7S5GdZQI4RZLgW4SeEeTna4X+KqIOtcJHP/fzultYkkJiXKrjFIsi0naYNegQNqbTiip/dnhxrITkRShBs4c4bYTgtGF3oW6VjAvGIEliPp9f2mNT2K4HN/DJFPCwTgPOFs5eb/d/tDJbyujY1UDcwJTrWDhn9yyqqttsjxPVIZKKOkNlC4wXzOmYUh2Owtg2jjxtfLIUFynYhNzWRIzS5ICJS6dCiwAjOTUchysxmYfy8lgjtnDmhPP2oSkN8AUStQ55F4nDIC6dufOR+zzSx5KA9XPdvG8BfRwEJCkak6gURVTVO2m2Hu5TCMXPD+DgX6I8S/EH6s4z/MXYuhGwDBZloZjpcGRt4j9I4rquoIvdYyMJlnnvnZgeFeOdlY4FG/xifSiAiFyP9dWOCH9P9wQhd25w1VSAwRWTeC0MGxm4Yx4KSizrbcqldzkrzVpXrBh/38nluE1JyNdahUYYO9b+JbWZj9Q+ZgTCUrKoc36BQdeONgiwDN0Phux5vDeVmJTRNEY6D38KvCQaG6Y8MBhObIL2N4YcotZZDiLZKSLuTmPvwmx4r98olF5FKSymOBGrojMedBKfP0xi+YhebN571r2Q85Rw96XQDzXX1vfFc3slchK7Z0ByezVRpb/tIsXsXf99v9wTtDYrl3zUiPHZTvZLYHmaNnORoJPLmWCRlYjgcHtJvmslZti/uHeh96BkI5j//5UC4QmkGCowip1rK4vuKggdDmUlazjd9a+zSMZLZolCMnvONtcXT+Vd30DHQxA092oAEx+ev1xnFOtPA89W9SGyAjfTIkGUDBltm4VvDt/VyQ1w17mNPVJ6zY2sJwL6NCmsNd3Q6L4vmOLFMpR+mTDvfY7AwWtX4ioowW3RPNUjX0kje10je40SjWpI7PEVD/5HICf7DQCSVZzPJoI5Awr7L4Um3rPXiCCPPebgE20jB0c021bMR/Iphosi7b8CUnL/9VfhDUxQnwPKrpbEVF4rgd6bfNvbvL3C9n3bDqJ+4mU9RtPkc4pUo0jvSvr3pPwj2OU23IZMN1IsXPTwTuh2KeTzD4x2mhmosrt01Uh7FuVb3Ezdz82s0T3koOOpQZlSG","layer_level":1},{"id":"36198628-bc0a-4ae6-bb5f-57d7f722a857","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励配置","description":"reward-configuration","prompt":"深入解析奖励系统的配置结构,基于Mission.ts文件中的FightSet枚举和TooltipTypes常量,详细说明各类奖励的参数配置。解释BOSS_WAVE_UP、SKILL_WAVE_UP等波次常量如何影响奖励的触发时机。分析Tasks.ts中的任务配置结构,说明任务完成后的奖励类型和数值设定。描述配置文件如何定义属性提升、技能升级、装备获取等不同奖励类型的数据结构。提供实际代码示例,展示如何调整奖励权重或添加新的奖励配置项。说明配置数据的加载机制及其在运行时的使用方式,确保开发者能够正确修改和扩展奖励配置。","parent_id":"f15eadd4-51e9-462f-a439-a150c3d3a82d","order":1,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts,assets/script/game/common/config/Tasks.ts","gmt_create":"2025-10-28T10:44:09+08:00","gmt_modified":"2025-10-28T11:00:55+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvJ7HMNkzZcgHniUTwiXO9I4RqTwSXbtMrRbPf3L9KSnrKWjvi3CLNjbYYY5lmd8vinOvewexmPuiRH3TCYORypvS2XwjMvpIgYTO/6ES3eXnECAeVsnHcg8iYeu2NkWiouASvl5+7UbAe9O7ISMLGdw8tF1mnrPa3ISWmneRy5lzSGO7sOUnSoe/GHpJ0qKbrr8Ra2UBCORROCH9IOq/1Q4vhNQgugNi8LxzglH+dX0509QpIOf3HyJ6kmTVwxOfV/yl0n6klX5gpIzEmdNiSBXlwxDyaVckVmuTCCV/AtSiGU7FFsCTxTO5SzEMEX1W8L2TY5pGG4DggBUwzoPrsgi4HfrtWsKGVwz+BzSjGvOLXEiSadURhiv2ULQh5BjDlGleTwpKH34Hc/RCKwN5x5QGYwb5ecZgGilUBXRvOjVBUMsFBOZylEzed8cQQXAR+e5YzhrqEB+1iPfhSvIUkULhAQaeKzXSsP4zj8ScGkXX8toy0xK9GLrR6vt9kuOWnJopYexSsxrk/ZdpW74IKp+bu/Sbvlj9gvWtXeLCwLSKsl3XQc+UgowEWXeGWDlO6P+y9cRyRNeyW919i45B5HnW2HMSIXKNpTAvmaLJRhYzCbnnwh8CvVXgZTEWqKYdw8/+ly3LHWTYCsBCxpbLRoBx2PbTjAvg9onrAPm+yrqV/1MQpritOS6kE1JGj0fR4grqc7IHtaMLLCopOExUkX6GMc9B+eH/fUK3jlwn293ft7CCkl1SU82q2dSto7HKTpifi3RVvIcCyTWuONkjoSwng0E1SPea1dfqA9z/SaNNo4jNvSgIzENUa672MA5b1sW4d535rH5++89ukz9AsGrkYPDc8Mnd2SrWfgVuzl2mw5cZQk5myan7l3AezrcrhOF+JR+xsp579/VFnKWGKh8CO0YWcN+oFIWOwVF89OFBig6HZ4rBLovevRblppItPvmDNxi/GUIqR/OU6q3ROB9tv4OUO1yrpe3JqUVV5HwdkTku08yeb+dAwmZOKm9XoCKQBfbsfFR97YR9I8zqrWpqkxl197MHCApAuNx61swPVIHFpmQYsjnc3mOSmQyawCzh764AK7UqRUPOWr2q4K3xkVrHJVklr9iIJBNr/y4wmPMM3j//5VmnkBZMsmn1c9Wjm7HC/lExGVTy0tTUZvdUApp8MzpU3WO35/6GQn6SV/ZtGHzEIfhUoLeT173KvBwt3SqJb5x7IHXzxdZrQQZ8ivJ7aSqmMUuf92o8hTxe","layer_level":1},{"id":"7c0ffe75-49f3-41b0-ba9d-a01b4be067b0","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"地图视图","description":"map-view","prompt":"深入解析MapViewComp作为地图表现层的核心作用,负责加载地图预制体、管理地图图层(背景、实体、技能等)及UV动画效果。结合MapView.ts和MapViewScene.ts说明地图场景的构建流程与节点组织结构。分析MapLayer.ts和EntityLayer.ts如何实现分层渲染与实体挂载。阐述MoveUV.ts实现的动态纹理偏移技术用于模拟地图流动效果。提供自定义地图视觉风格、添加新图层及优化渲染性能的实践指南。","parent_id":"88d38228-dfcb-4ebe-a91c-af2b415594ed","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/view/MapViewComp.ts,assets/script/game/map/MapView.ts,assets/script/game/map/view/MapViewScene.ts,assets/script/game/map/view/map/layer/MapLayer.ts,assets/script/game/map/view/map/layer/EntityLayer.ts,assets/script/game/map/view/MoveUV.ts","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-28T11:06:45+08:00","raw_data":"WikiEncrypted:8X6dHc8oTZNrY2EvGKdkV4T8EWLdUanIzKtXCGlEXaUXbictmnR0Veu5ita6WUeAGWiT98YSwhmiADkadTvFh1B+4u6S/4sNFSAZBcC+yXXAcxnlE8nMy5uz3ffJRCbKO8pXR1HJLGbXC3lf0BmtOxmRQEOCifYWtoE668pjfDJtkcq9Uyq1gwoJKBP0wi72atzIUGMaOEce8nAZxgP5w2eHejRU/9duIgjZi35mx6GaAGFORMGqDpxT/RtWMvEAllw/H+7sM5Nnvw+oI/kIHQPPg6bo7YyD/1t5DXNE1nEC+2QYxBNUSOv9nGFsAJzWAU4DeShtp2jWqqMZbbKvh6gB4ouT4Slfqwd7f3umQHii4hMatVA6c1juifXNxTW5HgLTDdxe7HdzWeJndYjc2AvrBnQZjpoWpAusBm9/Cli9cQ/LtAgoAArENHvLiKEf7YrfPcbm1LTtmjCRst3mmC1nvcnY0Zpg3nBaNmrxdD2ALSdVIUL0AC9a4htWG8lkmqLhOy9dxrhs/JAVMqHCCadNHZ3V4rauXiJpSZJkhVkqAvdaE0ScIyorw2ODiKWpXdf4mDRYE9xnf88lnBwUwpX6kIMGYAulnwnTOXcFnavMKXmYwMpYWxYouGK3n9OfnrZV4OVIDYUCQTBqEuIvRD0zkZ7FwaKPriOjJwSKL+jfw3A5DsIskzxjP7nciCod0Nnz8tACqE0VDHllJB1Wgag8DbnODRpd8J8n8nh8dcLyahXaOMz7x9lZ+ZCn5LYxGXz2ziRSQcdeZEyXGU8c1XidI6eeTMYW2M05MZa+w1w+pzqdQkut1mp7porDYLuczwIk6cV6xDh8hFZgyjNVsvYMl7psaLjN5Fo9kmz/9cUHHUrcNF0aEdZcavGoQexjN+t1I/Q6bABvYkzogm1KLot45Z/md2PuKFNoJ1fjiFGor0sGqR2GJvDcf+TRvD5b1OQMatWRANNyMaAATuivuJlZWtzc/nxn2wK+WmFWqh38CdiuaxSbWMUb1zH2clTQSXmLjsYD1j2/+Bm2pK+TrLWkVMufvmHW4GsoCW/EfLvFIoxEMklKUH017XOeNWJHP9J/r8TwPtWBMjq+TckhyosQJivj49tQ0BpMj4pMYMb+czOMd68rQ/DEnV1HDvVoXMhgW7hDq72keGstA8z6RED1b306+ZDjhHvybqEaoLP3JNbSoi2y/XcWJwe02KdNWykhzrqWpf29cF1GixfuMG72jb1KAWnkPl89Eri6ZC0Meim1Q8XUAitli2R5OeCM0iOZ4LE/BvAWq10HVsL8AwN86N2+kQFgdzFifO5sAg4UywPgs5RBBuJG6zrChEKB","layer_level":1},{"id":"98d42484-aac4-4ca6-8cf1-c383d36776bf","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"怪物信息显示","description":"ui-monster-info","prompt":"详细撰写MInfoComp.ts实现的怪物信息显示功能,重点描述其如何监听GameEvent.MISSION_UPDATE事件并动态更新关卡显示。说明组件通过smc.data.mission获取当前关卡数据,并将其格式化为'第 X 关'文本的过程。分析onLoad生命周期中事件订阅机制及start方法中的初始化调用逻辑。解释Label组件的字符串更新方式及其与全局游戏进度的同步机制,提供该UI组件响应游戏状态变化的完整数据流示例。","parent_id":"f5dca18a-ebd3-4d00-8e0a-319d82f88755","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/MInfoComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:05:49+08:00","raw_data":"WikiEncrypted:bXZZhjSvKLXPso7rHShOsecmKKzcdzJu3+5o7aX2OGhqb5Z3x6X5HXd5GxDlVAAVPqeJlHdTnrYja8g0W6AO0MtzwrpFcJ/mF4AASihZSwWqH6C4FlsYt+vLuivRs742IqjVm1VEeepSoUBPFT8a5YH1HszIIlUuZF4ozsGkBFvdAJ+2b1I++0VA7IbRw2dd6qCSY0IWW8iJmFwhcysn0U3O84ZMQj0raOEl9cUvk4KrzTKJ3c+dMbmyeRrAYzY36fy+MxYcxTY34yX9IBof2A9Nv2+wWFb6AECRePAt73Fvjyh8n6A2+yjJeDEKG97r26TOK2w6eE7EXfHJRRBwUzSd6IFc6ZaG8IxPSmSaBggY18NTOZJgDhnNn288YphRJOLGstsu71eYPWKMAbQWlsf/iUm33UmeHdH3Jht144SI38PUapb8mxZoJMuVkPQQfmCbktkSgBXvFBDRIY7anBm4L2/VLL6SChxJPWtQQ6h05H2Y8Uv9+tJ0HjB3KvnUsmywL7mdqTfMB3jw6MT1RdsucJGsinEflDDMf9mbqZaDwPBxHXQ4nB0E3BHJvqvc75gKKDDBZWCa+6TWHYjoDdjMg/SepjlqMHLf0oPBFF1wyEnEiJDSvucu1ITi4SvsnAY9vHuCHlXag21BWRA9/iGacsajrrNq2lzgWdMzZKPP10FRdmQEIhE8katyWtoj0QH50tHBvkCkv6nbz6dN+fJIxqBeKjGs2x7VRmENzZSWg/1Y38YTJYtHpnPIvys1CQqehzqRzgyRA13DsFpHZ033D4bXIsxlYP/IJwOfIqXtEhlfEnAy05GKfKWs+NViRyhJZ9wDTPlGZ0eZExpkdQH1o4NSqwIfb/jxb8btFHtKB+p2F/K3MP91J98kwasNqCGcepF2y8BuCXyPe6A2jWQdvaqwvmbsiL8hDP5EtEwzyxqHPuhcBXGsKbvfiZ7pN96IJLWj46Cli2jXj8+RByCpGqxbywsg+JpBKX3KGlc94KC6gsVchfXZmEOGSLasfQh6fwpjqGPVCozFZ2yceRgOa8py6cg5TdDTR/MdyYM=","layer_level":1},{"id":"3d3906cf-9f72-4063-8105-938ea82da3ff","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"日志输出系统","description":"logging-system","prompt":"系统化文档化项目中的日志管理规范,基于log.md详细说明oops.log提供的各类日志输出方法(trace、logConfig、logNet等)的用途与颜色标识,解释日志格式中时间戳、分类标签、文件路径与消息内容的组成结构。描述start/end方法用于性能耗时分析的使用场景,以及table方法对对象数据的表格化输出能力。结合实际开发调试场景,提供在Hero.ts或GameMap.ts中插入业务日志的示例,说明如何通过日志等级区分网络、数据、视图等不同模块的输出信息。同时指导开发者如何在生产环境中安全地控制日志级别以避免性能损耗,确保日志系统既能有效支持调试又不影响运行效率。","parent_id":"bfba08d7-04fe-40b8-932a-b9abb2d2b465","order":1,"progress_status":"completed","dependent_files":"doc/core/common/log.md","gmt_create":"2025-10-28T10:44:39+08:00","gmt_modified":"2025-10-28T11:07:30+08:00","raw_data":"WikiEncrypted:U7R4DE1TfAUvjZuFqogRLnOghdG8YONf1+EXGFfCCKNKJ4OhTy8VuSHZLxKBWJ4ZfsGKHGHSnYxUJD2bhsfpWLbLdPDv3JzTLeLNWi9gDyyYl8VLOhl6YEly1xvpoN1xBbqzpRKnxQcewhLr3RDjelhl/pmj8h5CjfXnBBH75GO0zqAzI8MX7qMySPT7T2dgstHje48xDD3pBs+GhjXpVWMkA3s5CBDtuh+IYiUcy3uuDJA8wcVg20URpz4mFbbR3+TCITwoNQvCuauAIjt0ANPI6qQalwD8ONiUFPvpWQ/Q6H+VHhvsFCsZT4d+zDD5fEhMaWQUud+zW6UlKf8nAkfo6BxUXRO23ILY7HCQACgVXFLC8fY9hq+GGVJrdiyaI0eLpl7xe7xeGXdLXc9rQr+K/QoYbA1sDH2fEE6AvzEE76OjN8v07tX4qWMKfhhLO8WrIglyHrMzH0H8jmIHyPSQPKFFaUkqvkPU/XCPbBm6qDN/dL5UNBBe8vuAL0r4ER1GREFJTdQmEgBvh40JTI0PZeH3SkNLs90D7Pcq/vYAOTwsi5bQ9gnyC2kdzl7uKSkqJO7OI9z8ozJJv7aXljvGDrXU7nOQOzq65ZiPGqEGn4A1+0fTiR6N5+c4DiafoAR/xkwfph/8m5yM01AQmZbSFcKdK/tVxqtifBKjq7LcdxubOD4z1rtLgDrm0BGNBchCdamLoIAIBmrrABxJo2+xJIaeGcSIUHVV7KX22mlxZIfTiNiaM+JNeuPSfNUgK+0BKwZgKDFUjVq7rsTDs2JjKY8HE5jJRp8EVkxwOt74S269EZiBA5URKbKxYn7SIhFst3eBVlDtXjZCjn9YaFOxI35Sdmr4DWUkg6mpjx1K4ch1SlaEuEEpb+UwO1LlxUDzpqfMzJYt92g/YEUNJfBsic6WzT3eZgX+439mFqa/cbfWpmtvqurQ70TfUFNFcSzOchheVBqWdeU/T7ttswbaFmYrl448RlZJhB9hTaHoAvO6J0YRGCJF6Tb96CfVdwVLqpvPYWwoPOl2P7Mjz41zOv7z0OMo2tEB/IZrpYT+eEWn1FQnaJNkDz4ULYrOFlyNfPp5GUWbR8hJLmX1ya64XVWNCOeunhG6AEr1jYwhFZqCiLBK1ClaUBahY1zAmFuTDjkg1RoR8Hjm/wqVYSigSBdTzFwc166fo/NAJ8/1qMqMqUQsZki3sDM+ZouLrmLnEWJ+UsNF92E5Ayw5QL9aBL1itpLYOVVACGu/IXxGHLAGCwUGP6HO/Lzp4c76WnM/1ZR3Q/zMJXJogxL7XFLmZnwdZWkjOdi4qgYPAHctfQNI4uR/Pfe0QqPRqj8E","layer_level":1},{"id":"b3e6a68c-2a28-4d13-95ba-937923884c64","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技能执行机制","description":"skill-execution-mechanism","prompt":"深入分析SkillConComp类实现的技能控制逻辑。重点阐述update循环中技能冷却检测与自动施法触发条件(cd_max与mp消耗判断)。详细说明castSkill与doSkill方法的调用流程,包括节点有效性检查、技能特效播放、ECS实体生成(SkillEnt)及定时器延迟执行机制。解析多段连发技能(wfuny机制)的实现原理:基于WFUNY属性概率触发scheduleOnce递归调用。解释selectTargets方法的目标选择策略——首个目标为最前排单位,后续目标随机选取,并涵盖无目标时的默认位置处理逻辑。提供技能释放过程中异常处理与资源清理(clear_timer)的最佳实践。","parent_id":"6e114488-d86b-4865-bd35-7a0b80ecfe52","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:44:41+08:00","gmt_modified":"2025-10-28T11:20:21+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzJY/2W/NsGBzVqfCkQ3NAfXiKu9BqIvraZF1WEDWPwujUOkVNCJu+yBJvWZyVMB/PCJP9Lx4ggaWu9GwRLVegj0kClwEa9euX8os0Hpsw6xXuWRATAjC9w96xcCNeb6dPShRnRw3iuOYUAsVjudfSfUOIMxl8jtmk1EdTb1A9EJNLcLOqXQ37OxgQigI8tcE+YLWhspV278h1NBCVxhwxtFprV1KBPB/tcCxbJCBskQCvneWMxmpdEJp3HKlDiv0g6LYOwPvMjR1n8M06LwBaP7zhoNt/IgdYa5b3oftL4BNpxLeLeHYig2NYGLfwFi8ORPQkhJ84byBk13wUo/RhGdF/3fp1KjHKm/fIN1+FYivJQrg12NVlj2JeUFPxHLycHe+UQJY0wVm2etDuFinPP6oAAzifhgKQZl478T7+TIlkKmrfU9e7sRvI6oP06/GOgfncv9bbHeD/okTW8WswDnEjD1niPsRViBfKhEwZ28/lpWW36RCWawT9OUen8ObXLtj/KgbH4pW97Z6leR3laaaf+DRdREwqpUYfuvpSs0OQ8QRIJOLdZT6IEPe0dmrrl33grLFECtPC0ed51IyiFh+FN8+77U6RmB7rMqzFKLGPB5bi1TG6ZV86G3eeFaBAK+v+IO75lnPW+k5rsKxvvkdMSDH7MWVCnYgz2AihMhYZkxb2PzH8gh5EcQ4N2sqE/ZostsfBSDR6bc2qG0CPnt4u7uuFlirUw9LNyqckhHaHofJPINd1uQGKuabf528fwttESGDcQgI0frJIHbCGqZ4udg+Q0YOwdcV74avPMk8SqMRFuzs+gWiHjs6RdcKlOXTj/6wPjEC8Pkj0LgIinWGgAZ84/UDc12QptMj4txcAvpvMi4bcaFFaIBxOix+m4J76FBAJEyIIiBhGaDf2Pv4KCfY1Xv0fS3pU604YYpbwPRFn3NAxG8vsVVDrIEbuLF77InYERjyWwbsRJg3GQAIhIzeItaDBHN2Aznq+KgPCHZ1SWbywD+8Pbx8j57KXfAnrzbBzZfCxwJHoctgNeUizh3w1xIKkkdnICWSQLyxEleAgcYbWn+kpFT8aECge+qMNfSWArbTmlgIxXyDHpXqGQikQfNk5VFMRIYfI0EYdrnYG2eII/o5IdLu+rGBYMWG9QuNS3KUQfz/hysAoOtMpqMjoPYvWgaZoiDLnCEr2mTD4v+tMjelYyE1ICG0+dw8UrZ78rg7AI3jXf0ZfP/DVTfwNioy+vZ76sr1yl4/DoW5h38pBYW4L+LBfSatE6fGlnZaH4o1TU5HA2SfhCdvlwI8TO6bHwVSwG5bVEBC","layer_level":2},{"id":"cb18d21b-a7c7-49f4-9ff9-cb4436a791c9","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"本地存储管理","description":"local-storage","prompt":"深入解析本地存储机制,基于config.json文件详细说明version、package、localDataKey、localDataIv等核心配置项的作用及其在游戏运行时的加载时机与使用场景。解释httpServer和httpTimeout在网络请求中的用途,以及frameRate对游戏性能的影响。阐述本地数据加密存储方案(结合crypto-es库)的设计思路,说明如何通过localDataKey和localDataIv实现数据保护。提供代码示例展示如何读取和解析config.json配置,并动态应用于游戏初始化过程。讨论本地缓存与云端数据的优先级策略,以及在离线模式下的容错处理机制。","parent_id":"68f63862-f52e-46a7-8d5d-10c42528b4b5","order":1,"progress_status":"completed","dependent_files":"assets/resources/config.json","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T11:08:11+08:00","raw_data":"WikiEncrypted:XMvsRjFEcSrjMOAT9RAdm9O4LIaLRHUOAniVL3dWNBQ/rkiaFBPLuKKBixvIQ+ToTH6HDTNJOCIpvZO2b5ayQ/88vgR8YPGwWrjL8ynP74hCZOKlz0TcZDgL42Et9IO/9bkLY8qLHSJ+WgM7LNSzUPlKZfjwcmnOpDF9gF4S55t69rFJKNHawqtx+UAYXWGeCOAW346NIRL2Da41VMuGRRB4UaEKFNlyobVe+Hr8tWqcsBdpZJKYp9PneC+VLhKgn8K0M4d9VzbzRrEO0mUbDSWK640pFE9HOmJb9W5raNZos6Fih1ivg2Q5I/yibGMGnOsBOoFgCH1oG+1eh38mJ4ft1zEAcwNNeokikJ1y5FtNmp+fRgjuZjPffolOlzrBKfp/6Fpzg0q2MEb37fYkNB9J8DLEVMJCeLpgivkDqJiYBecUOE7a2gsZz3jlC2W5ufwPjPygU6biZtiag//ZZ/24vyTLmwVZb7PU0jLAHoZR861w1gu40kTF0GmDhHTJKz1iF71rCykBMRpFLlWjxhHzF+UaQGizzFzd14lOCDsCgJt6ZpUE0BQnKlYxiZQmpSfUCqaYsae/D+mMIX20sBFvNTAJQtzOaY/aGwLflk5hrKff0fQqz5LzFVq6Eg4CIR73qGu3wgmNCZnNmIrlJruBo3W5I8GN34eBPKFvgzMxCGxe1uHHDcvPzbxnaVrE1Hafl9bYb3QvMJWOhMI0VqBG0bQ+TG+nonllQF9WgpQI1JtPAD32Wlpq/MU/2QmVkmDkw2T3RDuyIoazfgCFzRm6BhYJx9bU2bxncK73KxMuzv5N/DmCjtr8dq2PheibfgkucxjpriCu11EOJ6F3WBpdyAZXTIo//x1eRN5N+F4SWCzUogEd9C7v3P0ko3wDjkXq8A5a91HBdAD8bbVz4/DhKROxEvoyL7KRtumEMWu22+4krOfxRgWOyH/mI0gu68zbOe5UzrbloStVQ/ZpcIKZi8F2R5lC+bDQAzIi7YyOaQA9TArQBKi+qV09cimf4xox8hcA0RQfUbEt/NccZiKDbwkZPVOS9DROXsqKDOWh8Vb6QBgU3tFjbXig3vDByk5plQi+bCOSltV51nq1u/6ce2axRVMd7SIWOfJ3a4PNXM/VBxT5T1FlK6tjtwPxSq2tRkZysvl63hOs50lsAqG2le4cFsSHPYQk+MWLvHlgtyOAZjawuzf6ablMY5CY2iI/sG26L4AGf5yaHJT3CJNtFV+xeQ7nqNvwbcAST00=","layer_level":1},{"id":"2eae2dfc-b9a0-46df-aea8-0a52938e0dd3","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"任务奖励配置","description":"task-reward-configuration","prompt":"全面解析Tasks.ts中的任务奖励配置结构,基于Tasks常量数组,详细说明每个任务对象的id、name、description、reward和type字段的用途与配置规则。解释任务奖励数值的设定逻辑,以及不同类型任务(如新手指引、每日任务)的奖励差异。提供实际代码示例,展示如何新增任务、调整奖励金额或修改任务类型。说明任务奖励与用户进度系统、UI展示组件(如任务面板)的集成方式。文档需涵盖配置数据的加载机制、运行时查询接口,以及常见问题如任务奖励未发放的调试方法。","parent_id":"36198628-bc0a-4ae6-bb5f-57d7f722a857","order":1,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Tasks.ts","gmt_create":"2025-10-28T10:45:09+08:00","gmt_modified":"2025-10-28T11:21:39+08:00","raw_data":"WikiEncrypted:Plt/qUVrWyynD9Pn9Ee0tbPltGK0Y4J6p0suao5hNK2z2V0JwsRGLctgy9Fd5bkDTmM24fNFXnZNURNotk6oAqKbOulQI4OV7nmgBPfQwSKcCWrGDiRKq+Kuuj8863SO4bWOGsEAikFPwpchLEWP6+5KBh2KxQGn39fg+m4lKhjFLBC17I0oyvMzXXy0LkHKfl5rYBv2JsIVmDqO84hU/xPRisf93u/xoZylDriO2lBByGFnU/gHclNgFpHrU88zJ/ozbSFcml2O4GqP/CVbCJoV/Z/G49w7nRJ4cpBEe9RpIgMZp239Mmt1j8ZSa2FQGXr2EKacKk/rp+Q9BhQlzLV7DZFROAZ1TvDRbpSL0plyuVZDSnNjqlsO6I0wzJFvp9tbVgmlm4EdOKTs9axrh19tUyUN+HuahCtxWoc2h7SxaA51MkDhZoO5PpFXkSjQlm1QU8ELZde0Ot0jB9CgEIBjV48Gan0UoOinNlJoTRxcl+UvDvomrGklpslTtiTlN49HYagQ0em+9KK4T/5+547xQnoVWLRQvqv6rkKIU11yU/7rblS7fumN9bLlloecPlz6rluxwBjItEuWhf371Fg/JCqBAsdyPwBd9znLKkS3qlr/mh4d78N61SDpNFC0FXtyQRqNUlVo6pn88ivX6uh20VWC2upJ80PVGjNJN1eZDnxyWsrQ5Z/Lq05RyZ+z/kBRO7YDRLFOhpN5hf8y1o8PSFCC2ana+8/e6nxwZ5xhYf7rlgANm0DyY4xfJfGIrDMaWOK+TB0U7+qJYQqWOu8OgiMJWmxKF1+1tq1bvadPrFRpZczRXlweV4+LBZlSTxeLW3H4SOHRucPQ017x7Jh9Whw7Ac4+N7OQ27+igXQ0NdgU8VymMI/WXXRb2Y9reSUW7UPckuMLVZJ2oFHrPpZVdEqJneZShuya6RkxRZ35LaTw6BnLXcaKiSA0CsBD8fIm4CNPpTgHcqKiQPCvyeyW7PDaj62qr1P28fWt5LGEWJRQ9R9S4jQLl0ab+BO5McDV2QuySDxGD4WvZTzI/yMvM6jwkEF98UQw7HRFrFdzTEE3UciHDE/hD1Vio4+PT21hiUXOah15z2XQ1y7js7K9sWqXsXarT6EAzltgEappLIgGCrk9b9/TyDxHbgMw8tBrkeBOQGiRfv+kPPZ27r+624DEe2HINEPQ3Il/YYs=","layer_level":2},{"id":"e4b060c9-6ecb-4a89-ad1c-668cb7e90143","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励触发机制","description":"reward-trigger-mechanism","prompt":"深入分析MissionComp.ts中基于事件驱动的奖励触发逻辑,重点解析onLoad方法中注册的GameEvent.FightEnd、GameEvent.MonDead等事件监听器。说明do_mon_dead、do_hero_dead等方法如何响应战斗事件并累积奖励数据。详细描述fight_end和to_end_fight方法中奖励发放的触发时机与条件判断逻辑,特别是失败情况下奖励的处理流程。结合代码片段展示事件派发与数据更新的完整链条,并提供常见触发异常的排查方案。","parent_id":"3c73f2a7-b666-42fe-8ece-180d6c94c638","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:24:23+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvAq9y1VOewZYEmyQbQ6q1OoJlLD8o2PgZJ8bHy/qOb71qTaVc9pBM6EL3z9UJBWmbNjAEeZXyC5b6/dvAfhAphuu3U+RUOhrcOkjBhR1gsfsRYbKsCxAX+j4Ts22Hrnm8bn0njyPfpZ2a+HQW46j4MKjKYIA1qPoR4t1xtKpohKcQxeWM81mD1pBsr6t8U3Aqsex/r4nT0yFsk/Pmpm0SgNlpxBswrHq3te2CiydloHw54uq/aO1OWAPHGMV+ZpsBI07EH3uKmzWKn/I4Kq1CPcOMhKgTFINpDuaFRG5UUg3h9X/S+sriFwxZS/0nsXtsK0fxtIgLd+PbjoUiiZVxAjMqbYs5qFRSbqriCQcKPnNrBXYIHNN8opg1stjAXPdjiTWwM+FRE3lC1QOT921BkDFpbHessJtRtfmcj9TpQElFatU+Xp2T8c+7LN7h9kNYAOEjTK8O/mio5n0JbhOecbvbRcpCsqGILvhvSjeRBQKhk+oCczhrO7RfcINL9mklI1/FKa9MLCb8d2xbmCdA9M/DkbcqCqKudGoU7vfJUIeVl9ca2ZfUiJfiij2mjOeJCGIa+BS5t0f8sPCLuMHLIxv/YMmKHXmGGEJ+GDXFm4oO8EaLNESKLR222soR/1SVJgheBEtE/IQ9HEeEiFU/rZ2UZXG2/Y8aIU+bZyp4JKkMFhZ3rbGkfd/lDkr8gV1mAQcmbQe0PNw+pw3A8rHJmIFZesQ8S1wD13oN72AYVzZBFW7hfyVzw4CCvVsTL61RaUM57zvGzhjIOgVfDfJGgmESSW4NrAyilfHEFqKzjhbITAIeMnab6ZOhniQU8kMF/+TnROiyO0f7EXeJXGGU8+XxLscWugPhXSWvM34J6lDSe1PB+eNcECD5wqFwku1fIsGynIf4nReIAKSEbaKOMLlWmb5h6JnRdWEcTFOgCH/GU3QYGbOsD392NZo4v/+ubzwOPMv7yVfzTwZELShuNV+IS6JBAHacZbVn49c60K3","layer_level":2},{"id":"26c81d15-7225-4529-b26c-983ffba67171","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"英雄管理组件交互","description":"mission-hero-comp-management","prompt":"深入解析MissionHeroCompComp类如何管理战斗中的英雄生命周期。说明fight_ready方法如何初始化英雄数量并调用addHero加载玩家选择的英雄实体。分析addHero方法通过ecs.getEntity获取Hero组件并调用load方法在指定位置生成英雄的实现细节。解释zhao_huan事件处理函数如何响应召唤指令添加新英雄。描述clear_heros方法在FightEnd事件触发时的清理逻辑。结合smc单例中的fight_hero数据,说明英雄配置与UI表现层的数据绑定关系,并提供英雄加载的时序图示例。","parent_id":"2cb09822-01ba-4a46-82e5-974c0c1a048e","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionHeroComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:22:00+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVSeMSJfQQ2Y0zV2kSlqSiGl5sXsJdPo0q+GIH2xsAv17GElN4bozNKGggHaq0E9+Ahcj/Gx/AHn2ZPPtiYNevy53YxIz+1Xj/dTsbtlSt1e3nk9ELl/KlPo45MN9nvtoykvOVObVNL+oB/Wo0wI9oyREzDGSauoSyR9g30TGkkttjaLJdEKXcNucjiijtBbA228Xd1KwUyDJHFg5sTzeDlxbFPVTQMUsNd6unqX9stg5ICt/vMUHWdBg4Z4JZhnkSwiTG7x3ycdEEYpYeE0WkkdkMHg8m6MGOC6uX4L56lGcuZ8HtU3L69XhygQEuzrB7e7if801/ZB1hGrMfRBiWPAxtbTI4vDY1mkttxklKlkAGTYXkOM3aMqZpxfOtT0yj8XwCt7lOC7s+yRaP+/GEWOUYNj4LPmp/1uDHneEIJcMbN6pDneJP7EWPXGzO+WSMij62Dg+yGytuwUnzPVQ4BtGCU51jM1KvFeICH7Zna6JF+hsfocqqXP0uR3ePKjxY2zXl5h4G/8z6uEK19ztcPfA5DdjM2XtPOobVWmIxmxo7vzDTd2itIaytsSShJ0k2FABtJAym3/a3W4G5viTUcbzVhV9nTmUBxA5eqL96hJco19kS4xPjtlM/3PVmxh4LAsmpVgfxCbb6oeZE6yXz6D2rOK21wEbo9g0TAn4OxxB1CAGqQ7tDnS2SwK6mfOvrUT9xUGivRPl6u0d3ZQqFU63DVhDJ1ehERWusQ5cLcgbqA/wlWQ+VjGo7jDDxPQdODI7VxBVAxQ5xLGIJPIglnl1kr0ZYFWMmK76RKR7pXkSrfXp3tepNddDfRy17nNy0ZYSZA4slxummD9d7y1DYAMwWvqRkPcC6bgUIQ0fA3UszlIh28cU8q9AMXFxkf8ibFRiTK/y7mvy71b/2LJcroM8j7lOAxo3kU87BPLlr6UXDHrBK5C1XS9/Ux9zERj1LUQdokidKfgq/z1AUQJc5x1kVQqQmFc6sDeB7FmxYFcTNRDpEGDROfL8seHRW5q0cBYxom+gEA8VkTaUQB051SRnUa3hAQYCKY9Sh8raj2RVbhlHV53Fh/uu8OrUMqiz3IWyvfhaC1c/sopR6TM0SFk=","layer_level":2},{"id":"d849e035-5e06-4b32-aa61-4d6ebea26df0","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"怪物配置体系","description":"rogue-monster-system","prompt":"全面解析RogueConfig.ts中的怪物类型管理系统,涵盖MonsterType枚举定义及Normal、Elite、Boss三类怪物的差异化配置策略。详细说明EliteMonsterList和BossMonsterList配置表的结构设计与扩展方式,以及getMonsterUUIDsByType函数如何根据怪物类型返回对应的UUID列表。重点阐述getStageMonsterConfigs函数如何结合关卡配置与calculateMonsterStrengthMultiplier计算出包含UUID、类型和强度倍率的完整怪物实例配置。结合Mon.ts和heroSet.ts说明怪物数据源的关联性,并提供添加新怪物、调整强度成长曲线及平衡精英/Boss出现概率的实践指导。","parent_id":"49dd1c8b-dd0c-4d68-867c-8139a500d315","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts,assets/script/game/hero/Mon.ts,assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-28T10:45:32+08:00","gmt_modified":"2025-10-28T11:23:49+08:00","raw_data":"WikiEncrypted:PTm23USGky7oBojbIKFGE4KW0tsmP34acZAK0B+7l0BmF79k6ickZ08+qLyrMrM5l5fjHDGZjmxNnA6EAB02rXbw065WkS+zGiaIjaukp4xPnoVvdSf1E7RIeSbPRsN33UNXBX5zcqTBL4B/OA+QtPgCS35MRSwFoyPYTAZpqsNztv3E1SEW38E48gAULrncV5/sDv3LYOXxn+Km89fP4n8+6/KlzERWM4rahUVDgcr5uJ+iB1dHkpwzic/4AzGZqzBuAXcX7exBsKtLvFquKX4a17jr4PZo4WMzEHqHhwmAuz9hazH2nuMpYpux3PBUzsdflh6F6SzwAnAKheFI1e70iWSvweQa9IsY3a6SZ31rvgd1CI6yR2P4apBr2W6wtuM2+NKoBmS38OLIdsV+/wWXmtYnRZhjBfQ5GyQH6vibSlD81OlJdQvxf/1hGX/Sq7rjGkWGYifCayX/3mVgdWGBp8psYnBd5PA0hUGoe+PGayQVBPXOLpBoQIlMYsgYf+kWvGfKWfkrxYnahWNt7+bHDwVYg3AAMdNm8lCPWAXfb9B2WaUmmQjmNKqVkyvmns/SaCEYSjr29EM93BjHmPOQgMagcDtcqHYwzKLOjiqZA2jSTQESGqkm9vC9vPDmWUQniUhnxq4yi7gRQNoHEy76dHqvuQ+W3IfPzq5t/JzBFGn/Lt4j4eE9E08Lfewd09t1QXmBZsyAQWhi+marm7PBZandmpFkfTphe554sxz+T8tTzaqwjGy+XTQM2gZrNkfdEUAO8F33jTxNYfL0sIyiRe9Edsv58ZMJgX4oFuAaKvawOBMA5O5/k5zuKNG/TGMrN7MQQvoF8070JkusJHpuxxTht24V2u1XC9/gki1YashTZhHfBtgzcarsujdtnBxK6uhdepgfsbsWmn9k3PTz0lsZqAi809W5W+ZJPQShm+YjxvYH9VC64sDWNGSoUWdfT+g19nUNX5bGXKn+rewqjwaMag6JDJpfbnGU0xADbhdTC7WMq+ZUoJ1Vjdo8yHI3bYFaAnj0DH4Vw/jlo3r9gD23ikqP9d1a6kZk31vMn0bpjzGZSOStPONgcB7dnL6FinabYgoRlfmrQtm8U4QzOB6+1Yo4viXpJG5fhFUpeh1BbVXk1cXf+NBeXmtxcZKrV2XDv/vKviNxk3JEY+6zf6x3dmxl2hvR1pq6qtYbJZtlEy7L56Pc44kj8VcPBxIFOVRLcI3Km4saersZ1M75syVk7Moz8FS2xxNif1e8ZCvzRFKse/zq0PGYWVDclEYwyWFuYXyM8pP76PCQpkGcu4+G2kv/6aV1BHXzHicGM1uAQ4//GNJHlN64GuR5b7DL4/55QIsa0iKbgCriHQqt00PLzFPzxz6spaS0kZ1YKVEBXFnR1L7f8SL5e/SYxaVeCMmWN+pSBPxd+J2/bA==","layer_level":2},{"id":"32e526fe-04d8-4bb5-97df-cd34d6b1015e","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"地图图层管理","description":"map-layer-management","prompt":"系统阐述MapLayer作为背景图层的基础实现,包括纹理初始化、尺寸适配与精灵帧管理。分析EntityLayer如何承载英雄与怪物等动态实体,利用子节点排序实现Z轴层级控制,并通过定时器优化渲染更新频率。说明SkillLayer在技能特效渲染中的作用机制,以及light.ts实现光照效果的潜在扩展方式。详细解析各图层继承Component的结构设计,展示图层间协作模式与节点组织策略。提供新增自定义图层、优化图层渲染顺序与内存管理的最佳实践。","parent_id":"7c0ffe75-49f3-41b0-ba9d-a01b4be067b0","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/MapLayer.ts,assets/script/game/map/view/map/layer/EntityLayer.ts,assets/script/game/map/view/map/layer/SkillLayer.ts,assets/script/game/map/view/map/layer/light.ts","gmt_create":"2025-10-28T10:45:36+08:00","gmt_modified":"2025-10-28T11:23:43+08:00","raw_data":"WikiEncrypted:bYz3QGEiv3QjcQPO1h3R1ZlcNxcAI0fZk1pxt0u548P8RDyHZGiGRRMsYOk4kPzTBoY2vtsJNTarnodacPeddciUATCFOBlw2/eA2+EJbhGd+keUrQ/G7pzobAkfw1wdlUHCctmB4chQTzPjPacYvnEqtNB9puAFkUVWKoGN26vQXBrvQ/m/rVjiNSzDZmxsqTgLEpI6bwQ0D2As7PyBirFbBNkgmFORUk4inu/pJjVxM1EcZcp7Wu4Y1xFH4TLHuoM4zGU/+Cwu6L9Tjx4eZROAVmU6Zpy5l+ILW7L5SPYA7UlPEuD059sZW9DioCDFghiQxvpsHrLGUrI90kGmG9C2b17D1Whv0gNezy2+dymk3Tu7nGiMgJDwHTWd4EgNmc26yLmG1AzdFa0Mcgi2GIJI8LY6XnA9easxrWSa5qyGAJZ4Tej3ilAnxlUXsNYzysg0hwotLzcSZRXErwpEPds1ugrXtm8MKwVl8TJ3JyliA2ia32KoSCjswR5RMDHDPC4SXHcLoytT2gUmnmVnbkqrcWf1Bw0wq+L7zdMgjA2GMcoMC4TXFtbuK8hhiKDDDD97Kz5U/O71NqAotShaIiHz7jS38/jozrXhKjgSs5FrzY65f4cpBmlQHw1kr/5H+U4PjzEv0EHVhxqJJrd6VvQqmpNziIquXZag2BukByC+lk1Ja1YCGIgnJ3v87MWl2vmpG39mul/kY3gkSqjm/Z8yy6ixSrX9/n4nJtr8jzG80nP+DGENk66VlLlLimgG2zjDVHLSaXNzWM1owAf26ZLdRaP7GawBTskGdeuzlJqbM6i3XFLPRHlrKVlT5v7+0IakE1kx+c9WDK++tc8Vx4JsUp66lZ9blNNz2MWMGarLRda1hpsR4SUTtvbxgcDiyctpY5dVd/+W3DVhdY1dJtXjYk94s5eT0+mB3AfseH6pCNUaY0h1vCQdIZ6rl9WhAN+kH5NwaHamL103NfRVkiOL/XTrPFqE8icTERTNLEa8EzWewonyBFGVVE9WN/8C3i28Qbyqf0h6c8tXyTK8kgj3ju1yt645zAkYFZBSIqcnjaIoqTgrqnjhPMEM2cLEtpNp2KTkemburl7cva1768UxUrMlCFN7E3mqFlF6KiG+BTEn/dT+dO5GKz9+GhrH8jTwWOyKJZFPP5t2tgq0GAGlRIDWcQpk00llrK7E518THFH0xwooQRN1GJNv715qYTwkoZfkiG3Tksz+LOCgRv12FvujCBEhKHQrLQgbUlTLfERp60I4iWRgwSIm8C5sRuf9OP7/2Iz7wJhmH+DYxtEBSmm8JwOf/unU8G0Mt5eRbiZ6J2dz51CQfirJwfZA","layer_level":2},{"id":"681f7d12-1923-4564-bc8a-f6473d117f7a","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"属性系统","description":"monster-attributes","prompt":"系统阐述hero_init方法中基于strengthMultiplier强度倍率的动态属性计算机制,详细解析HP、AP、DEF、SPEED等基础属性如何根据配置数据进行缩放。说明hv.Attrs与hv.NeAttrs属性系统的初始化流程及其在战斗中的应用。结合HeroAttrs.ts中的getAttrs与getNeAttrs函数,解释属性容器的构建逻辑。分析怪物如何复用heroSet.ts中的英雄配置数据实现数据共享,并提供自定义属性成长曲线、调整难度系数的配置方法与性能优化建议。","parent_id":"6cee1ecc-c172-4a92-9458-85f4b8954d93","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/common/config/HeroAttrs.ts,assets/script/game/common/config/heroSet.ts","gmt_create":"2025-10-28T10:45:54+08:00","gmt_modified":"2025-10-28T11:25:07+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRv31/JteyHrrufxTD/NozwV7CMgZumMoCYp4tVdKafUOJoV2gGewgNkrRa/+EboMykMwf/H+9wP4ANIYxkc1GYA68mAGVt7CRrnwU1Czc4EeJSdlKnvpjX6e//PqPNsvKodFz2amzFU4mdIDpjdM7SV4PJIjy68rg9KNS+y5ttJSFyZ2Dpj+BxpQhVnxnigDuWp+JXhrVVkUpV2SwfRjCjIhJeMBPLmfhH6zPJXMd79JBMQ17fnd4Pj2mDdKXHFmH632i1EYFTTPQ/ko5NuwZwktzpfqaY8X9K2iTtad7H87neiFeDGbf4e9QFz4VQE0MTvf1UYOr/5G0AigpFMY58MkJiLZYnTlPCEtxiIPXYPp0PKe1momG9QNzHid0GE/e+Qd/SMU7GvABHSfosRB/FhZ7bQ5a8bEAL2e6sNdfd9qOIcWAMOVpeIekRxjluxiJE1l46iXfth85S/+37GDjMrztsj+2xNpCOoOre0CQCOnNlaiQd04XPTvqzOmj7+qMQpHyEzWrK2np486nUp+h9MULRJZJ9GTe46Mq235zWjbvXkFB7axTkm8dOPORU/EvsqHGC0DGTCpYFNAUXtl+vpPHhwrxb1oW4KHD5CjPERYV0RyKea+T8Y2rWuyJ8u0reVSHqGAljYG2pBQDQjiCljiWLSq21PhloTh6WksAXwelXac9cEx4chVtDesHVSg5prLx8lOzbnmxjatnWdx85GfgMn5OMXaZLSOgBF1ijFSK+hmVDHm/UooC0UnZFtKSKvj4LKdwigB0OugHz8YcNOhZbJEwXHRJ2VE1SuM2euv22aILa7Zv7mRVFnKAYXam0xNBiaKMRvgytiAVH0rOEsBoLhpKzPtOSyhjldXlQ7zDoug2yhHEIxTYeM19x5OxeI9EwouqvfBBYvi9goPq1I6w722ckqxCklH7BuwCkLUy7+GT7ceM4rVxQ6bniGAquO6ctRUO7QhQEaoiDHVU/DMJPeRZyN+vU2r3et3Gqs5z6zrGq2jrxUk8RzRwwReT+bWWfyMj0eeyf1+f+LFGA+fwHNsKjl5p7TzXJYdV33WNbtJC3PPWwaSJ5s5/VaFtA0nWItaKPR+0SZOP3DybEpGatuJuK6pD0jjUn26z2whQ40gMCOAojhndqwJ9h7HocsJU/JF5DBoiiVzAjP/EyBa61OYlFGWRh04r1pQu6TL+Z8RuGY/rCqj/JqbnB7wIaX4xOEliK4WSFFuITWOy0MenAf1XXP/A3FtBTV0lCbf","layer_level":2},{"id":"510b3fc8-d4ca-44e1-8e93-3d850edd87c8","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"目标选择策略","description":"target-selection-strategy","prompt":"全面解析selectTargets方法的目标选择算法。重点阐述第一个目标为最前排单位(根据阵营FacSet判断左右方向)的实现逻辑,以及后续目标随机选取且允许重复的机制。说明在无可用目标时返回默认位置(v3(±400, 0, 0))的设计意图与战场定位适配性。结合check_target和get_front方法,解释ECS查询与坐标比较的整合流程,并提供异常边界情况(如实体为空)的处理范例。","parent_id":"b3e6a68c-2a28-4d13-95ba-937923884c64","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:30:00+08:00","raw_data":"WikiEncrypted:d/Ik1vOELpPFVGPoUo14kGJY1soeyjqvI/oGNslh2NUT4eS09fDu7UyKN2/QjszJAcNG9sd+JnvvnfSRoddx+1myhsNI2GGmc8I5USotwT6uXL1XRFaY5/EAZptb+OaiQ5vbarQ0NHz4M+0zzArdqLseoTGvL+sSXPjJT1/ntxEHnLdrV6DqwiZc7as62uwaFxkxZIQFlfZwYHCQaME7YniqpAPvQuHEn9njv/XHCejwtDb6xVWa3W0CBAhCfnnHm3GDI+NGPrGftO4o2pr4aMMQS0Wy75iBzUl5R5arwHNKuI24O1pWaicof3nexIPGG12qrzUrkwM8Ue4PGUVu0mi6ElAUDKppf24JDQUoLq0VDQBeJTSyFPmVGsyjSFduHPH++1S5kdqWYTUflQcU9OdmQi/ijJ0C5DNlecLgsh/wisHRTQOqIIZeH9D9fXUMQfmjk15L3Hztb7jSlKqmJQxUL/9EjtJr8fQ1SQhIKQWmIFzV9mV7NnC0ItVX+flQPt6/904M3aXY95MB8gSu3DiDcFeCqU9TtRGOPP52lYdC6olRMDHxhIEAjYZuPEuN7Jt4TJZ1Ruclzfk21qhw872y1Hbi4qgSu3qYXjXkuVPeCkwfJR7qXzY10jTqAebSRc/l1GqU/xtIV1XKQ/FqcXIIYAvW6beIiCTOkz/x4DuquT3jFnh4GiK82+ZlgOZGrcHOYNspKzEfUMem0PIk9rOTuptNe+4l1WWpPT8EcMRtyD/D5EGVJpGvDeGJuGmEEx9KWfQIV60huKOhiuchAeNhy7vf6koQeoD2KyoRCqd3AcydqQF+SNmd87UBpMdQz41yr/bob+dRiGMBv9epcPyeG2hWNXE80umqQBQy+fFXAJbe/c2Ll3i0IToqrVplTKwgoNdI3crJCT1ISN6bE8ocJTlmOv0J90Un7nuxzkd7XvzuKM0cp+o/hg8ywF84vEsqPzKC48ecEXDVOkTAmUCQBPtkl4NxiA6+2ONX5Ew=","layer_level":3},{"id":"74b34ed3-6e21-4d4c-9de6-8d0c1c8c0f05","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"实体图层管理","description":"entity-layer-management","prompt":"深入解析EntityLayer如何作为动态实体容器承载英雄、怪物及其他可移动单位的可视化节点。说明其通过addChild与zIndex控制子节点渲染顺序的Z轴层级管理机制,确保战斗单位在地形与特效间的正确叠加。分析其内置的定时器更新策略,如何通过固定帧间隔批量刷新实体位置以降低渲染开销。结合ECS系统中BattleMoveComp的数据同步,展示实体视图与逻辑解耦的设计模式。提供处理大量实体时的性能优化方案,如对象池复用与可见性裁剪。","parent_id":"32e526fe-04d8-4bb5-97df-cd34d6b1015e","order":1,"progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/EntityLayer.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:32:57+08:00","raw_data":"WikiEncrypted:WnER6MhWFG6N6U3R1m3zi7smenK5LXw0d74iILICNKWOwCVlaujjGZJUpQyVEFJltZCs5bo/PmV/RZPzi+todBDX1+8xb8kWkTU6z1Mbszc3fGRUBq0ICib9yCp+0ZDixRg0ou6GPghM3NpL8CxZ2zBfVR3yIqnSPANuUJY5T/nZNTlU8ZRe120LCxGGTbpkhrNINQWTxnHTsjFMJMDXrbj624u4yZyMayybisQFjRNCSvOuJQ3b6UP/NztGTe6i93/qngNJjXSqhK5fdn/1hLw1wkPyp9RS6cCjFO/iq/whQnQIZ1IX/hRMqzXIXNW8tn27zbO8X/s2jZtBgE5s68mkxFAYHCvajsPBfq0JAK0wqoo6l/N/OEQgJ2N72+798pcnKgxicjtzjueFjv48KrJflwMUpdAdrPeGt3xdM+mrufr+fFcGyf4qcQ6ybakQh3xUVjmM1lbSihtdsFlPOcLGk62eMCueZ/wVt1rfIlaAR0YrKHGD88vNt3+bQruvDnFNPeOYTFUUifCMQ1Eo3F6LpIFkXQqUpeygzYNGH3Wxf410tfsriRBKtbGh1xTsye5r3VAE6oZIooIn36r+GCIDtbpP2hztXkQJ4tatfynNgTX+5dWZRKBNHb1K8J5FdFK3aCU9fkS4N6nqzFsGsXicOfo62ZnYEce8wVzSvNbKEGfYf+0bJxyr6xfPyPg8ay2YtsWZxrUaePiyoJceWZnp0+3I+2uw2sL7DEwsHwidm5qKWOjHR3VPH6EySqLzhkiFqYyXMTECQWvgzDIlDv7PmwPIOLwACXeDbBHx7BN4uw4B5HpF0pEMQTtrpFMisyCskej+pHJvVyZj2wY3yes1wcwN4y/QgWfxOvmLGCtfpTgNBKgqa9A7C0OSB6iW4v6Sg7UJhbmCWzsB0UFbP55bXHauREOpaUbDjv30DDEPYeQFUgT9LxoHavuNEOtPaCek1O3EJGAFtZuXl1xiBZ93Ikj+albr+LllF1VwPT+HCwcBFA0S4CKP2efVJlz/o6dHURHJykfbISj8mkE7W77KK00m73HP5SXIZR/bDEzrLKDvyuul1tKW8ipCPZqyQ65OvOLVDRQ+ppH7cvS8yb+++bHjP1Jv8HRwOlMrimOKKLNURl3aDhuokHxdE+TOSdPgKBg922enjNaJ1tMe1g==","layer_level":3},{"id":"c2db9b6d-8d54-4f2e-a76d-15ea6eae06b8","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"怪物实体组件系统","description":"monster-entity-components","prompt":"详细说明Monster实体在init方法中注册BattleMoveComp和MonModelComp组件的ECS机制,分析组件依赖关系与生命周期管理。重点解析BattleMoveComp如何驱动怪物向左移动至目标X坐标(-800)的实现逻辑,结合BoxSet.MONSTER碰撞分组常量说明其在物理系统中的角色定义。阐述MonModelComp作为数据容器的职责,包括属性重置机制与扩展字段设计原则。提供新增自定义组件、修改移动行为或扩展模型数据的开发示例,并列举组件注册遗漏、依赖顺序错误等典型问题的排查方法。","parent_id":"972b69f9-0acf-40b0-9255-8f3271dd30fe","order":1,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/hero/MonModelComp.ts,assets/script/game/common/ecs/position/BattleMoveComp.ts","gmt_create":"2025-10-28T10:46:21+08:00","gmt_modified":"2025-10-28T11:31:45+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRlttORSCP4GmeCnI0Byl37RNNnN2Au0QOB6aNC0WCaXs6aPMwt9IIbtR5p70NTJkOs/0rieyBkBRYaUcCDDNyqN/sMxF8kkCM8Q8dk4NRQjO56EwZ9C+sXz0JIe96cw2SUpkJ8usSeqsru5byFDriibVfhyJsKXVWGgaKVwKCyMxZ3PdjpvEIC3ASy8Exg1Kz1EKYSIDs978G0Y9GX3xpT/cR6GNT65yGBoYXerB/90p2CxWM3LxCFjBXUV54YFmV9U/1nxAZDipwnNNXFAX3y4KG41PU4+wXtaRkS+8BEm0ujun6XuuokfIpjPIEsKqmKSZuq8+1p2Mf6YT5DsLeVoAUJtCQICrxz91PJIwpIBEEzz8efmbixl7GznjTSwzbdb/B17/r5xLzQtqK1th/6oRtlczOThfl9HT+AO2K5fwTkvSEt8/HQhwD+fffELNcUs7Whyr2WEI7uEAh5r2Khnat7pjbu4KXSC83suA0ZDXlfL7Pq4PNPwpD2V+GeP2oR2/dekD5LB7D0BLNnNTXQ3NLOaQS06vKJVl8LLcA6BPHtRvWYi+q7ysvOzOXlAkyCopOUS5dFyhIAy39KiWztDRL/hXWYVgYnMjUtlpTX8N5qfG7NrRjfMvz6ctTnhS3rWRhx92jf1ub+H3zOaePqGyBQENmuNiULsh6jTd+0zoCm1iMQBSfgv4Vqn/jLn3GAovDhRKiyJNi1kE5eDyyvQPy0aEtYaBZRJY5r43cisjjcNMNo30v8NLOFuL4j+PqMZyn9XLZ999Zks6w3uSOqoUD6CbIznExxzWSLy+2NIiHx6X5qoCdKacdwLyc60m8P+NpTWKc6uhevoirEFLUFzs+Q/XNLLpHxGpVS3lxixOdmOHiexUkT/7t/xlCddN73HLt4n9EYeVD1Jf/4kRcZeLFMSzvn87xyjgyJsETONxYeFWtz0zIv2S3PrRzN8ySMsd1pJa7tRSzJ4rQztjYcarh0LDf/nTvSjQqisJ1xByiRWG4GrwoAqUEifkS6EeFBmoqJad3KFwF+gAAzaSSEYNbK+WK6QRPQiq7XN/s0F6meZv5KY7PglXasBcjZl6LYIJzPJ+dM5HTKmEYLjUGS2lYBrOxgyfGNmwHy3KRYLzJxa6uBCK1cMcEXYGGLAHwuX6onirOffOSf4J1xglQTKeDki3uoIXGXpS4K057kxC+kTARBlzP49XIYBje3EK4YxCfy4A1iOEkX2f2vFqaUECUUKoizNf7VN3Wjtoq0/JMma7NUlGMUNyos0sxeRqKp0JkOhhAYpi2L73YMJqviJeejgyIT/B8mzNkjlKqePPFzqxOT2CK54IBFGkd2UzC3sZZWxbJA5Gr3KiDhaWOhI=","layer_level":3},{"id":"62812447-89a4-4ba5-b3f0-726d2f18e66d","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"核心系统","description":"core-systems","prompt":"开发详细内容以覆盖游戏的核心运行系统,包括初始化流程、事件系统、资源加载与本地存储机制。解释Initialize.ts如何启动游戏并加载必要资源,结合LoadingViewComp.ts说明启动画面的交互逻辑。基于GameEvent.ts和event.md文档化事件总线的设计与使用方法,展示如何发布/监听自定义事件。描述loader.md中资源异步加载的最佳实践,并说明BoxSet.ts中碰撞分组的配置用途。结合storage.md说明玩家进度如何通过本地缓存保存,并提供实际代码片段演示常见操作,如触发事件、加载场景、读写本地数据等。","order":2,"progress_status":"completed","dependent_files":"assets/script/game/initialize/Initialize.ts,assets/script/game/common/config/GameEvent.ts,assets/script/game/common/config/BoxSet.ts,doc/core/common/event.md,doc/core/common/loader.md,doc/core/common/storage.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-30T16:47:40.2169173+08:00","raw_data":"WikiEncrypted:T7sUiJOX3kDqyMLpD1WxBN6Hp7Cc4cdnpOo8sairczfCX0uNXSfIYjwmMqr5BHiKDJbr8s+SMkQmNnSsxRG+N+Mzkh8sl5WQhY5wHbnj42Vcztti6HgAaVy8aueo8Ozn5rbXKUyWSndIeofGAJvZ2WfCF8IMCvkAb308vtxX5X+nRP5GSGECGh5i9gFddDON7txnXnnYgSR7BZHcmqMIU61aD2YFNWyhUoaZx/r9VoZ4OgjEypANT3F+haHwNMvtbYv99HidJkLsNkygus3MtC1qCldoc7H1NPga2hU2c0mPXCH2w2CEEm+3qf2L4bGOMpXxx8vt9N1k5/GGRx5ewcvgdyx2pyasczbg0QYvhl10d8eBTHauEmjrr90YqfwUQkUP8Wuqx/RS5aevK7Bol0UUoT1OhQYFde/P3eO6AmcqCsJFTrkwnGf0qpXSAbi7KddncJujhjHGJJGM1ZUO1KNOXXmu5C66V75QJRnmsRaCCo5S4vph01jN3t0MV5Az8ykDUI7tHF9QQcoKhcPQpdd7CalQjdisKJ1/I4238WEAV2fyfAiQ5CMLPJ20QGTfHXB5NW6tsUhd/P5YQFeDfoYXgkUMEQ7by12f07TVVbeCFU6FW3b7lk0aTyOkBGCFiTuXivrnbx6qPlQgmhDZ08RoS5jzU8OVYDtM97OmkBgd66Gyrybnv7FtR9Gd9y74RjH2gVdFi5HFSRbSgKX90YA75IcmusgtqX2hDFaRAnphfuEABItW054/thpBYc7ESQ7+oVnaEg1czF5j8rfzAVXiG9j9KqKQPMTOkr8fXt5ei6h24oxOYG/t12o4Rsg/OP2h4bpgWwDoczZy5+H5HV0kdDXNl/dQ4rj+9cDl9E5CXuBBIqlOnmNEzmNN27sFdU20qVJ4OSWw9dwmtDNqxMyGWA26cnzo8trrzy2yMnd33w12vU/9mh2cMbqDkGqsga0xZAIxkprG5n2VNgwY4if0ya71MetjB7LUpZGOYI1UkQDAoKnLIhB+yu2M2GnshK6GVjetPL6XzBk3ssoKR8qWvsI2Ur6MN7Xp1fJB+k4Szqa54OcbgqbYstoaU4SFRRkV6RktxAMbwdKJco7fbTUwWhwQbinKlZJ5ZS/cAlj+gfi2PeupUxS35L0ozETsXBXtIlWw63TD0sMjCyRyW8SeOU1OnTCp2irJ8wAUlsy1Erb9T02k4yZ9zKCNxveRpeBvXE8GOVc/WeCmjzwerutzZJEbbZbeeHOCVjUU6gujYBdSWOS4M0BFKuUOkb+/fVb3s2oRX251Pt+tZcnPZJ17+yrItXMSfu24aD47Ioo68U2wtUj1vx0nwreOsTZjaixNYTtp6BB9oiRN8bsyodtxAmZzOqRNCzNLEkdO/X+IJAvqm7bJsa884uDpIdDehpbhyk6Op7mSCVxyuCr4z4AzKI8p4GhqXU/UQR12/82bE0X7mlEV48dPyHpswH8G"},{"id":"b2f8982f-9b6b-4008-af8c-e4882d693f21","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"天赋系统","description":"hero-talent-system","prompt":"详细阐述天赋系统的配置结构与成长机制。基于TalSet.ts说明天赋配置数据的组织方式,包括天赋树结构、解锁条件、属性加成效果等。结合TalComp.ts解析天赋组件如何与英雄实体集成,实现天赋点分配、效果激活与状态持久化。描述天赋系统在角色成长路径中的作用,以及其与其他系统(如属性、技能)的交互关系。提供天赋选择界面与后端逻辑对接的实现示例,并说明如何扩展新的天赋类型。","parent_id":"fc93744e-2843-46f9-9dd8-aa6e073760c4","order":2,"progress_status":"completed","dependent_files":"assets/script/game/common/config/TalSet.ts,assets/script/game/hero/TalComp.ts","gmt_create":"2025-10-28T10:43:31+08:00","gmt_modified":"2025-10-28T11:08:12+08:00","raw_data":"WikiEncrypted:HOW8SGofzBdOnrabYla7gizB0FGoAHIQ4mxmiuqtsyR3FJ7+Um92JqpLd1DOo53Z9OUl6tKZWaqK951m4wU3pJEaGpWWIb3TvwrZFYEl+PrD+gaEijR0G19K06xBbONi8KGec8CKIKMjcg8Xe7osEmx7wqdlLJUPHctVmX5YZX+NYypbdTC1ez5UiN2aNgALOp1K7oc0I7cg5Ua3uxqzHXQdcf/X/WN7DXbgh0xbGJF2Y+mLF0mODDv80yG5zpnkkyNCOl/szqjpn7yFBz+V9+A2RqyMwNNpsXZqHwckjDSwKn40INn1iKdfs45Xo/0qrlzXH6VjwPX1TS3mGbuXE0clnx9y143i4NxC3xjiqXlQSFvk/3uECTOZheMt6i1iPQXCoupeciG2cJ5YWvlUQHsp/vOOPTo5KmlU/wUCVfQM0rQlUmzKj5lf3e2DwMmgRaGoZvMqwVSYB2nlbpbNeV2uaAO/gHyd9WpKVf+jNhWdpd8dnJNzXzKA+GAO2noj/BLNcsV3U20drx4Trm4+7qQR8Uxx9WGnc1l2BV/q4QM1TbQCNVjV/hH+XT27n0OfPNQmyidPZk28hVcUr2MRQlHYj0EnDOKeYSKI3KxYbZADm3yd3PbnzePgWKzECJOdBAydwX9EEpENfS2lIrzW5Kuv8klSjkeh0u4NQ8KXY0sZJwIK3JJ/2NsTpBTulK6ck0BEcSddZhfVKnWguyEOySAwT318m4VoOLG5fvXyIO01TVk4LsF4X5TyaF2ORdeYUdz40wN33ArHaWji7sdVpXQFHWahdmNr76mDifRxz6pusmee4tqn323erjbUojVSQDDq52nRzkv7gvR5cYaXNLLKbLG4dp2Gka/pfj/xn/MC8IQu66uk3/cJh2U4eHamuvDh52nFTMIipPjLa6Y12KlRJswyYQrcCgqRtbduL9ph2qlpvwQwZNX5pI5G1ObsLMRnoZcvAZBkuLRrthIl/cfNqolbUrxMfGlMe7R/2p2Uihscmvo305IkzHEK2cSiKapSzGdo595Q3DZ172ekTgnzhzbWcvz/7VsFgMRsGV0Sh/q2bYCBEYXSd3kX2go5i2+WG8V5ybv+6UWyxRgB/A==","layer_level":1},{"id":"a621e278-fa89-41e9-9ce8-0fcc89b8d183","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"单例模式管理","description":"singleton-management","prompt":"深入分析SingletonModuleComp.ts中全局单例模块的设计与实现。解释其作为游戏核心数据容器的角色,如何集中管理initialize、map、vmdata、heros等关键对象和状态。结合Main.ts中的run()方法和Initialize.ts的初始化流程,说明smc(SingletonModuleComp实例)如何在游戏启动时被初始化并贯穿整个运行周期。详细描述vmdata中金币、任务状态等数据的MVVM绑定机制,以及openid、guides等云同步相关字段的管理方式。阐述单例模式如何确保全局状态的一致性,并提供安全的数据操作方法(如updateGold、addHero)以防止数据错乱。","parent_id":"f6dc7290-2493-4074-853a-f9e7cac31c15","order":2,"progress_status":"completed","dependent_files":"assets/script/game/common/SingletonModuleComp.ts,assets/script/Main.ts,assets/script/game/initialize/Initialize.ts","gmt_create":"2025-10-28T10:43:37+08:00","gmt_modified":"2025-10-28T11:08:41+08:00","raw_data":"WikiEncrypted:neigK6RjqTPkV4w5UD3v2/Ucrgz2XXq0l4o+rAVDuzq4h9n7nhoj5z2sIO24yU2fdjKeTRN960y7GdRR6BtJ7y+4VaA4jo8zw3+rjNaaAD1hgrbJEi5kIRqz/vN9ox4XpC9/6nNx6bSjZnEIUuagLfbiezeXxICcZ0oTs12XmskdtBNOIuuyh983WVGXucol7kt0DYZOUv8O5tmlvdINAAWSDTOnvuqCbzUgvFfQGTsdblEpJzm1udyptsiA4eBxNtawP4lMDVKgFDcMEWevJ1d0oOnZE/gtAa32G6E+MpIqYjaWz5y/Y+vIkG5wxACxANeEVIwZGLUhuVH/NSf3sfh2tPiZG7S9CPAH3KWfk2enAofDo7D4F0ZPe+baZyOfcNMqDadMFh7k9TV/D2JRoYHAPz1PH/Om0I48nBqg1wLKXmNEyJCG6s+3nyTDiIaiAFzwXY1IcimdIAnFh9a2SornOvM5iAvXNWJ1pR1OuZiiRJzvgx4/+fhiycrpjKA1DmGf2NC7lmThUE3YA+6GdV3XqU2QLLlxsB5yzu1FQglvCLUJI9QhRhV1k8Tu6vJFBhnDsD2QyjPHJN79S683XrpTfcXxXJ4/6UWYGN4qrwSafk36vcdaai6muAQuTTFdNKa3SwvegZzgIqn4kSPkaPDGgGO6fAg/Pq6IlflxcJLtwitaN0URcO9FvgdVs4rFAGbHyw7ytCzHRsaNnE0Q3FuCIBJN9ZUpAKkRlcs3dzoC3C6lPXuBQx3I8uE6LcTpjzJN7Za+N+vZV3q0y6VSMtBCHQP0X2HePS74FPuC+31F7MAnUXRqLqZ0FaXM2UkwZ3luOvgZK4PKAMG/DTjddVErzAu249ZcGYKm9KG1rOdk/P2zpHSxPRZL8/LqtaeqwBbPNWqqSCtzMt25OdGrAWOT1XFG4wDcUbzWQRBdoBA1oMDuiEfQX84btHRoI3VIP4NYbF7Ha8FtGUiA5YVjqte+gFE0TjpH1zPUh1J37XJY3LtEkuzgVSFWjRppe2kHlDko4d0bP8EFPrrFU/GYJ/Shy33eVPv6do8tqqFbgMZj60/LUEum49kzix1ZQMdqWKKzFW/ldOuoYQX9ecXajFn/Pu6ViqqT1JNT9sVfK2qN4Y8rdS4DJF+S8E6bk+avhXPSDem5KGivSZaZ1Y4B2oR+BilZO4Ca0TdqeTfkZg/rkFaukWjDdmPGLwKrFhBoWubWuzA1If/lwRShQkyU16fltxpz9LkKvYMKb5pxZgt+6tFsJWI81h4RPuvgw/0kwZloRZ30X7iOWrBB+ZTp/sdaDsVwBvkEalX1t5+7tXLsbrQUYyRglJsoVUe45IJ1I2EDsredZJxBfKvbS0jJKAjzyBY+OXTAaNQk4uFi1v1qcM8Gxb7Bw8v79WskkpTP","layer_level":1},{"id":"2879d0ab-5300-4ab8-93bc-c203dc30809c","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"资源加载系统","description":"core-resource-loading","prompt":"开发详细内容以全面介绍基于Oops Plugin Framework的资源管理机制。依据loader.md文档,系统阐述resLoader提供的load、loadDir、loadRemote、release等核心API的使用场景与参数含义。说明如何通过loadBundle实现远程资源热更新,以及loadDir结合进度回调实现加载条更新。解释资源释放(release/releaseDir)对内存管理的重要性,并提供get与dump用于调试资源缓存状态。结合项目实际需求,举例说明如何加载Spine骨骼动画、SpriteFrame及配置文件。强调资源路径管理、Bundle划分策略与加载性能优化(如批量加载、延迟释放),并指出常见陷阱如资源未释放导致内存溢出、异步加载顺序错乱等问题的解决方案。","parent_id":"62812447-89a4-4ba5-b3f0-726d2f18e66d","order":2,"progress_status":"completed","dependent_files":"doc/core/common/loader.md","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T11:10:49+08:00","raw_data":"WikiEncrypted:V9Yp89n0N2VSxSM0NA/VHIXI4oXna3KdeHebGW+5/twk/PdqXSjiWTJBLyTUXl6ZSO1WsY0u3tnbpQ+HfGu9/M6nqiRW+RJ+uUT3745FzpRZBbqmf0CCLNGBhvdZTIx1HZSO7xnlpYVCtG4k0WLabtGiKQuZam8proXu3aWP6Qqo0wDlxNBYlDMTLCCzutdth69/+5DGiNxFJkA0p5RCvgtnJUhNzz4A3aS9LjLwWDGpkTRBBWAbx6A+lbhw9b1tCl98vss1ATqW6SAXFrjvZKB44c+COYX8OTfxF9MTXH0DAEKOpaugkoVxK8E5xz/CV4FL1iORm/S5QHvRG8Afl1rRbjLLVyi/+NSfjxLggMNyNvufSEEblP2Nda2hMDo41bIf4Qy/4G6ZUVgTimuyV9I8r8b3Usi8CP68ZR6VvS6Pd+FnlVrFP1Om9nZkIitx9AHbqQZuhKOnP5r56y0BvlILo+ByXENAkTlZd+DT2pkYjvXxcKTF3yN/smTMBCDZU2rEzoRAohpZ+DXLuKzbRjRzX9Y7CvdgUHYRRhJLmEibkAS9XnI4bX+ZA+0Fqq5cdi7d7lXRTPSt6kU5vjcvYOgAXOvsZZoW0ABdO4Y1xTpDw5WumEg5gme+aWoqPD1+s9Fkf7E7U2FD31H3X1RU476SXup3s12Gj0TYbl9hJxFxL9Kkp3LNfNCZU5/tNHT3B1xn6g6kJlHoZ26FhRwU3JrY2zEOqi6nTAUV8xOYt9omn+0R3/h7qWCa+1pQ3/ms+6QXzaKtw6xgmXAZEYIu8shTGscw3H8S05weKRhTzmBUcBheFftyu6pi1O86mSSQzkhgjqXTMiLr1bicpaM8gJhip2FRrd79l/083FuiZndCavRbX3S6kFylARin5eb6lv2EW9DyjL+JE4w3iptP6kwBHkO1H6IEefo+hVrnz/7u/U8nYMrFjTQiuiEh++DFcNQhUf7+EVtc+2WxdJEMV/tgFo6wzCu/8tLrFycPuStWmhFkBFMc7vFT/+xNe3AWYENQ4/ghIzSvB2D3MngXzZ3qON+QX1yp6to502bWyF6iWskYAgltUzdSxjuv2mM5UJXQo7crLdADFvagh3VxQio936bjhijVKeS21ieKLaDD4ZMnrmKc/HRUJJXt7oRgOAV5GPZITNA3lrwRJ2LedX1Q5O+elF10B2QeiDP+NR2SNv5E2zhAZsVPpwgGX9IOvvfe1ibWMvuNF0LRJrsLvGK1JhBztbERJDHjT3uovlfI8zo0QEiNkuplPXxU9s7wnvcubcGLBhr4r9QY2uqcfB3LcVOQi9lGoEI9oKj1dmzmeSJ+B4cS9yXUN7KVxq9YFqXQ8IBb2mVy1MWZqobnq6W21ZWIQRmSqV1LXhv7XAaykBSZpWHK+I6wvtkkoZSm","layer_level":1},{"id":"2cb09822-01ba-4a46-82e5-974c0c1a048e","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励UI交互","description":"reward-ui-interaction","prompt":"系统性地文档化奖励系统的UI交互流程,重点描述玩家在战斗胜利后如何进入奖励选择界面。基于MissionComp.ts中的事件处理逻辑,说明FightEnd事件如何触发Victory界面的打开,并传递rewards和game_data参数。分析MissionHeroComp.ts、MissionMonComp.ts和MissionHomeComp.ts如何分别处理英雄、怪物和基地相关的奖励触发条件。解释UI组件如何通过数据绑定展示奖励选项,并描述玩家选择后的反馈机制。提供代码示例,展示UI事件的监听与响应过程,以及如何实现平滑的界面过渡动画。说明UI状态管理机制,确保奖励界面的正确显示与隐藏。","parent_id":"f15eadd4-51e9-462f-a439-a150c3d3a82d","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts,assets/script/game/map/MissionHeroComp.ts,assets/script/game/map/MissionMonComp.ts,assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-28T10:44:09+08:00","gmt_modified":"2025-10-29T16:47:38+08:00","raw_data":"WikiEncrypted:O4flrEwQjo4XmpjZTF673R/NDAc5Q1/gBwqiDqK3RBGu1W4Kc2FH5VnOChlX9VPAtePO9ldNWe0l+JrcLTiblFZGqyrwDEPxuYSmGb5CnFjqIbi1TBmyRP0kEriQV+dPny4fznOp7zfONuJVAMRgMtI1QNZOvsgSo8iCDYVPn4jKW2rDSsrXpmyomm0plGeAPGdT1SapKQcBrD09VqWbpzk9FFT5i8XlzDVRGkqDjeEARyuwwlxY0SPmyqJC4GlQeLJ7LbkkMELwG2PT61mBqW5kV0pjunpX4ID9rpD0TqKNYab0PEHymjCMrvBOn8B60IONGRW6viHWYLGBw3VUEjNBvZtnth578yqN4Les0JfOOFYfRErXiz2yfGsue4GvyNlIAMsRhf6EHkXDPwqQjgGtchCZNNHGDgOH0kvnjVZqCNDm0ni5TBgeUOkzOj4k8Y5Dm38+/YPDPLhcwE1oGyS5Fy5hqlSJ3D5kryi43fl5ohLnmEEzfbdFe3mgw72ryrEz+6gkYTEoSiYbV6R/ej7DGDOhtUNUA1wTj5qZvVyWjFLRUpmXFUwruMZPILYTTEYibbqvs/Kxxc8hZVLxTj14cO5YhOBbFC2+qvXxEbau/RuolCUGt5cYKpkklpW2ut0g0rcqadqhfbkvjv8t6DyWFlwmhU/AgygjiYABeAaJ6Z1seHTjtBshPxQ8kQcYhDBd6KTZZbz9GSeiMAbL0HYXP0Rl5WVlzV7Y8bWR8SkVAcqmzUllkUMnRY8U5GSxxUCiEGdxwqW2LkizJ7+gStGlBWVUvypyjL9FsWF5CejMXz1BOEp2qzmGosVi9xQbtfXdbs7n/E+zyENU9I7qaiLIjsJsDKbhfrpcUxwow+Y9LRWby58g88tsr1Vf20Xq6ZqJpNDljlSYeVqhNp3qJpBK67LA88nwkDBw02Mbu3jSK71Tc5O7oMk+ZY/CAruWzuTUxaXjOM9HkqeltqVkXB8fbd5AXI5XxDZbkiNq7FOo9uN8JVFdEb3qsYlsEBUAIwYCOwHUrSBgI7lYUKkkvD5DaSDBJTOKdDFmsrozpcEoMbqL3yS624OmH3Y9oiUQ2PSr9HYy5gx+5z8jORzIGZGT4ksFpGdeo+C5slDgklyJBJ8nnwJFaBN8v40XTDfZU4UHAhhRCq1s/O97iHQeeo5QPlxGw/Ci7TH1cdCsyHxHCXq/NQ7MDN5lmSO5FjLiF3kWwtpRBF+RKW0XXAzIcMiUNil/Rkx+xdpMKtrxg1vZ+Md1We/FwuK4rwtayAFW1pTejo8oYiCLXwcy4JWx5stfSkzb0ugfJ05/GV3zup6sLPgYtZqRWgW0OIgTnM4RE/1VE8JNsHiA5ZYdYx9KdDFI5NISYbvAJEmZ5iYJ7WrWMuLXcIg4XXStZ4lZWmJ7fjviSv3rrZIHr8ovCiSxoQ==","layer_level":1},{"id":"49dd1c8b-dd0c-4d68-867c-8139a500d315","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"肉鸽关卡配置","description":"rogue-config","prompt":"全面解析RogueConfig.ts实现的程序化关卡生成系统,包括StageType关卡类型枚举、MonsterType怪物类型划分及EventConfig随机事件配置。详细说明getStageType根据关卡号与等级判定关卡类型的规则逻辑,以及calculateMonsterCount和calculateMonsterStrengthMultiplier如何实现怪物数量与强度的动态增长。阐述generateStageConfig和getStageMonsterConfigs如何协同生成包含UUID与强度倍率的完整怪物配置。结合GameMap.ts说明关卡配置的实际调用时机与流程。提供扩展新事件类型、调整难度曲线及平衡精英/Boss关卡的配置方法。","parent_id":"88d38228-dfcb-4ebe-a91c-af2b415594ed","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts,assets/script/game/map/GameMap.ts","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-30T16:46:15.7658629+08:00","raw_data":"WikiEncrypted:SrFWKu+6l9aRRWuAB+SEophHoEYvi7W6i3PCPWSxthDEHztRahUIJ0bqhpiHGPbXXWO1dM2yAdkZnJwQakS61AXNSiCYDDnzzrhYlSDOqcyv5Hi1+FB/l29IDjoRYV2xQ8PeXMdauv89i7aXMidgsCJEbh/07krpf0mk0l5jFoe9UF0MB70morbvxQSCGWYQ3pAWObRXjNwsPTw6I56fJYuX+FaGbGkspqWVrQB4YoWMUTCIbY5N8k36MaAgyA4wtwWBt7umaVIBNu61A5KAeZ9IcrvZapz4pbXL0Ayu4puXa4LKCTfnePva3zmv5ORYi5E6F7dJlwIjqzFWFPA9kyL4sq4ugyvrPYTHtE4FLbYlUujTYKKoCTFksNL98WYeBUZogfSD/rMrxqqItuIjvJVTh0/76YcUmHSD9y3qq2JDVheJPO6HmaC4Om6wHqdzTdLiwk6Xp8V7K4gV7lgA2EaUBZqJVg48CBmAulKB2E23UM03gS3zpZKYCvmru9E1QTo9wpW0ZnRgsUSR2xh/r3LyuC0IcKSZAhtGgZ6fcLgHWgzrHOa/PHfHlbpPNPZkLgQItugYD1yDmKYbMUr0jQ/ShXo85DFxfrpBslE4tRZQDUVdcAaPuNRJEREnOeittCGOn3YIWldBxZV0iUG3ZVU6qe87vRZityGHc3/OwEiLq1/OQgIsB8eXfQNhKbgKuoec9RV9ZMV7u0XqLAgvGe+ri8xaXedgn0TAIV87JgaZrpG8zyC+AvmgtJPGVkP5MwBqL0gi89qd0GUzyIh9PdmgYesSm1uAcZOox/eR7Hafw3aRsTsqrivcTbp/CsDMDRsUbVabtW1RzpbyjwmEkyHSBxrCEQ/jkzVEZ/KrEJUCqmmmQvGvgOdYO6jcrQNpB6SkQXqrboM+zKi7cth9m8iUnDssnxTKiE3tnXF2qcYWIELHkYxEETEM2dM2EkZC7blXkEA5OWj8R57gz5Fg3sImo8bg8P27KlREAJL5iuAmshW9gXwpYGlshCI3SbKzn0lT1BUreLUflV6HLBbEclHHXM0RWgi6+RjWVXCwsistZjcZrbKNzDd/dfrAayNb1oYzj309o2z9ZvzQfrziqQDftykGrFY9einnMcziyocy4CgbsjYfBTkz546jsvB8yCRv4rlYRhxdUbATUSvwI7ymznZJXLNNSk/eYXO0qL3skYXBAaPImtWo22PfJQ0I789Bbu6sUEwrOi1TkY4+K2KgQ0fiohz74WFgcVB/nQdk6+iae4kRKUg9hETDhpSrzYisgrsU8gtyrNyeS6EqQ9OcAykADusc+C24LtZ9bdY=","layer_level":1},{"id":"8893cb65-a4b7-4394-84ec-adbf3e5d2136","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"顶部状态栏","description":"ui-top-bar","prompt":"详细撰写TopComp.ts实现的顶部状态栏功能,重点解析其对GameEvent.GOLD_UPDATE事件的监听机制及金币变动时的视觉反馈动画。说明如何通过tween实现金币数字的缩放脉冲动画(1.2倍放大后恢复),增强用户操作感知。描述该组件与全局消息系统oops.message的集成方式,以及onGoldUpdate回调中节点路径查找与动画触发的具体实现。提供该状态栏与其他UI组件的布局关系及在游戏主界面中的定位说明。","parent_id":"f5dca18a-ebd3-4d00-8e0a-319d82f88755","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/TopComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:10:01+08:00","raw_data":"WikiEncrypted:jXchyqtO/lQ3D9gZxsum1/tSftK4DNjtOuuTxwUihgZ6GOXpIhDxC4VXFAEWHoG8eQBxbi39M8RknkTftF7NJpXdZJyM18Ok52bphfmlsAdgn8PWu6UgsUeorsCtoyRpVEvJD1iQDAWgBjUAXp8MMbJKTY2zgQAAMenenAiEbO2Qb5jWzLtHMxp/+zx5YHZrWC61oSX9tCDs9e57W0tu7OsYyEBcsEp+7aQ4mmr7I/bQE/3Gjqm/D2h3EeqYHT7xbow52ssiETEYzRogqKgS9fuDJf93S6RqeXTZ+WUU5TmrqeRUZUMVoNtV6nJsf5kBEUJ6xJXsGWlN1euZXLuqPv6pSkmcWDLXwwddLGwg9pdZl+5D1b0/XUbncn/F3Qr4H3taCtDKwJ9ud/IvrtAO1X6+q3HJ+A5nRivkldHKA7NhMcX71eAeTK/C2rOxjRvHzYAwOK4/hdaC2GlT0Rvt24xm/q1up2+a1SbGJAPjTrKxXBpYzugQ9O6oqxBhd0gsJrsObmj/QfXXiRs34KCjY97UMF9pGEs6Ejev/ERNz0Sg+tpYCe/3R2r7QBj8WqOjtR38gh53HnEE9CmsvfqrZul+vuP1pcPg24dSH+duZ7XDX/Urc1CxKlr6mCHDdwysRyVEeUElzANRs+c8skiJeU78/HxIe9+LY5qmi55S1V0TxeYbXtoom/pCTTF0Gsp37ZoguzQRH0Hs8LP6UnDRR6Di8HdLQ0PMnBXra9QdDH4PXAghvlAMaqdjUwbn3ocBdKJ2EzxzIghr13a1utvPoQdF2g/9YMnjGZtavGhPqpHXzBr+8uJv7Cu+3aWKMiY8jGESAptn7iYq6fPZXzzgfiLXNI89l87jGKHtGBaTdOQeixj+AVE7N+lIIdBzUqcYgefw0sqoQVNU/yRpb0w6+k1HM6pOrBDZZJTBJY7MBwQ3ektlUEBRXNw4a8ugv0MZ8qpQEIz1I5s1eJOxoMGfMzkoieQJU2lgGXwnVxJjAhKIPZR47RoubNkkQTcYUNdiTvSext2tmjhGUQAVSpM51eVI2vuml7THquQtzi6Bv6FnoHvFue1KYPY5qXNPMgRh","layer_level":1},{"id":"7ed8e2b3-233a-4f35-8f40-9aed22a1f850","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"音效管理系统","description":"audio-management","prompt":"全面阐述音效管理模块的功能与使用方法,依据audio.md文档说明oops.audio提供的背景音乐与音效播放接口,包括playMusic、playEffect的异步加载机制,musicVolume与volumeEffect的音量控制,switchMusic与switchEffect的开关状态管理。详细描述progressMusic进度控制、pauseAll/resumeAll/stopAll的播放状态控制,以及save/load方法对用户音频设置的本地持久化策略。提供在游戏启动、战斗开始、技能释放等关键节点集成音效的代码示例,说明如何正确加载资源路径并处理播放回调。同时强调音频资源的性能优化建议,如避免频繁创建音效实例、合理设置音量层级,确保音频系统稳定高效运行。","parent_id":"bfba08d7-04fe-40b8-932a-b9abb2d2b465","order":2,"progress_status":"completed","dependent_files":"doc/core/common/audio.md","gmt_create":"2025-10-28T10:44:39+08:00","gmt_modified":"2025-10-28T11:16:37+08:00","raw_data":"WikiEncrypted:+SfECELBWQCxQ9QszYYbrJWI234StSE5x0qrHqFvD7nX1z40++HLhyO7Pd4SerbvJI/MLfTqIQkZPGO5YnuhtTn+rl2oFOVeL5iKr4GMrBUCocmjkHeGC1n4w9cEY8loaECqQAHGcauGltyCaHXZrjNt1lrJkxJ9ZI1apsWwEpH1fR82z+8tw8YWPEDzWkaQiG5Bn/0EE77pjJO5ESo1mHxd6p3s0oG8r7A3HCiq+ouE4CII6epSkupKMkV1xxba36gtm/ZrHE0bg11Gkh4dX92L4RnlFGKxtqJWEz+L9g+64frCSMRosnyAh3oQykqh3os6P1uvkUPyHxf5tPSwIZBSKve9WuPk9cCeT6WG/jWUCA+a2KXxJtX785goeT89kI9cTpls/MRx6AA8NZ7as1NCiRHgdozD+L+LT8eATzr2jBeIe4lO7H0BlrRM5woP5nn9289hJLY0hW83ey3JffxSxEms/h8nIWQvKwRFTclo/r9r0p4e5xFJ2ofbG7/6kbwCQqEAQuSbGKbYKsVgmRVMHpFbROjQxttj1LQ7kq6VVAVmidpnZpRPaHJvjZstnt3eySrhrA4E3qb3G5FxYXoVTSbwp5NJTYuF8RICU8DakV/tAoa+P2M+e4rzSdT5T9GmyvVr4rZhSwnYeLzgm7pqG/IaZibQVjNJlCJSIELImzxOpFO0Ksx6qamIQxSD/650iiQbJRqhNlHUd1ioJ/rpJChRgjza3AWZW+KDJhJK9P7/jkRe9a8sL7nHPXRxtxJiEBRHIAPIj6wvk7M/TaPkLAqPnLnh+B4p9DUvBdm65WYAxMjqpHQtRSLSr8V6IwaS+xBX0QuiJTOn2C7b5zoH0haj0p65HEAx0iIRCzGhjNqYyGsC//UiMHEYY23tP4QBDnd3hg3RNOiANQnlE7B5f1b4VzxefsrQXuZrmGO0JWqTHNLoFuDwt3282Kn/CiUf1+2z0uxfi2RQw5ast20MExQx5ytIuWOW61HUPbu9clKsPcIbgF1Bo5pzpFYk3vOs4Y3Y1OtZIbNPV0yn78DSvQdDpx0+WlKv/Jaghv/W4cgQyAff5IjP7J9mbd04HhXduzX1j30OlKBCXhe6mIMiWX7sMtyz5RohXozVFWDCexqJFocri+LKGaLiqKTn1F3USBo6Nh8z6tRUUPWWdskvPEas3L0HhN+MmVmb3bYkcZt+zPkVSfAyd8H3AB0th5sL6QqRBXAaXy4ZqNbh0YR1Keks6ozcN/6wUFgvM5n4FUIN3PN7YyRFkeyc/uF5kcRpfbAc7OtP5bV4K1K5JQBoQmNwtGjztEfl6A8Zb5MvHJvOAmSrYdst4HpE4Q0z","layer_level":1},{"id":"54fe2876-9125-4582-bce7-91f9ce34ae6e","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"配置管理","description":"configuration-management","prompt":"系统化文档化项目全局配置管理体系,以config.json为核心,全面介绍其结构设计与各字段语义。重点说明config块中版本控制、包名标识、加解密密钥、服务器地址与超时设置的技术意义;language块中多语言类型列表与资源路径映射规则。描述配置文件的加载生命周期——从Main.ts启动到Initialize.ts初始化过程中如何被读取并注入系统。说明配置热更新的可能性与限制。提供最佳实践建议,如敏感信息保护、多环境配置切换(开发/生产)、配置校验机制等,并结合SingletonModuleComp实现全局访问的代码模式。","parent_id":"68f63862-f52e-46a7-8d5d-10c42528b4b5","order":2,"progress_status":"completed","dependent_files":"assets/resources/config.json","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T11:11:11+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllPgfgMGT84WysP5aU7jVGgMDPSKvWZp7xsAQzGtWF2TB4Rm8ZVH4zR7QDXSHsvp7GaHIikRr6Q/2EALLW8cfJKdFZPKSFNwkAoEh1Rk3MUc/upopQ7pN0X15icPEFtiPm84nKtvSRn5f39e+sMDpxGA9wx1Jyh0OlcqSKk10BaJjfr5EvUYQhWfVsPRJgTDJO+gKJRyE2hTOjFYTuc9zqqcOLSY+TCtApmAnHPg1zlquctCTsU4ADMYWdhMnGBEuvxCnv/MdbxpjlvOw7XLg2GrL+RzG4B1dr4ZOWhtzOohsmw+E23No/+dZ6bnD4rvPRNkpL9SQZm7JO14Lj8jUVQ4viVwAZmtO3GunGa0ZVbPkNiSN/LG6xx8owl9p4repbuoyR6LLZwjrWMkIQ0lVKji2kCd2imL0+l93f7Fz/KOrYgcZpPGnAd+33bK/kSrASLfzo1724Kq1XDNrMrhFI5L0iomACKrIQPmHQvwu3ABJcF/yewh7ffPnI5j3QVjC6pPtwO8WLhxMaR0OLmuB6xTBTtFXZhYVpRxb0gNjdCVv6lRP1LIxnbQImx7iZVuPtsECKrIny5rF6H+vij7QKpbvHl+G3ZcqvGr/aOE7VeJM4gY0YGTcKPoDVMjcXD+Dq0W+VpXhku5/ndryiR8Qu63+iKbBCHh5bZ1hh4qdlq86n6uhJqzGVTL9iFrpyqjZRMgqSwO+920fySEs3qKGZGPxYE6RnDU0o4+r5sh+q2dztadhV63S1NVuRs6MlEQqyePq4V2lLU17gTfDUh9QujIYiySQqhSkucDYeiSNybrOZGyLIRBE6mGR0VWj+ZNq9ts6xBoARzaKDO29NWqgvepP5fojprwO+blHq6GOJVhD1aMexfrJG156jYu9IGHi3TRiCVUEr24ABnd6+cm5R+d+jK9MAp9qZ5ICEQx49ep9X2uwLvBJOfCriYxyJ0016Fe4gVn0+egEgpLCCL3hqrycB6d15ZZi6/OoRKddursJetlMEh6KywfZquyqcVZ0vbaOEax4lXjSXJLpR70l9vcE01+2pAU+lmfy3D5PvcVvfqNlEv6AwjGj/I7hVcvcfwb5tzT9C+9413pgrhhEcslSMQJTtVCY6kgwUzPnnSghHygNtDM+VheAnAK1GjdX1UK9XBYdIXq0HhS5f+9rY0OJPrXuTwHlpgWWQCac42XT7C0NW2Nmxce219rf7cHTIj1ZYuVBjnPFa90BQtSkF4k=","layer_level":1},{"id":"1fdd8f6d-83c5-42b7-a705-49b5a30504d8","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励提示类型定义","description":"tooltip-reward-types","prompt":"详细解析Mission.ts中TooltipTypes常量的定义,说明life、health、skill、crit、uskill、lvup、apup、hpup等提示类型对应的数值标识及其在游戏中的实际应用场景。解释这些类型如何与UI奖励提示系统(如TooltipCom.ts)协同工作,实现不同奖励效果的视觉反馈。提供代码示例展示如何根据TooltipTypes值触发相应的UI动画或音效。说明新增提示类型时的配置步骤及注意事项,确保与现有奖励系统的兼容性。文档需包含类型映射关系、使用上下文及常见集成问题的解决方案。","parent_id":"36198628-bc0a-4ae6-bb5f-57d7f722a857","order":2,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts","gmt_create":"2025-10-28T10:45:09+08:00","gmt_modified":"2025-10-28T11:25:39+08:00","raw_data":"WikiEncrypted:wNO12+ZMHk72UYUDgUgbaJs4y8ovxSgYI0yr4Tf2pSL3lgTC2juo+GUilinNgSzG7udJg6CopQuGB7jHaUjVv1u8xk3PLEn8sBw8hJTNXGPbemfd3NSeocPL3XkU0tEY0i9L0+Yv/fYyVaNoSjG+cXDhvJJ92A30HwGfiqoBzhT/jAwiz7Q7JujznEYHbOStLhinvZEo4nFJpI4nl3n3W6fZdPwNe9/BtKCz7crO8z/DIYMU4WzFdn/Ks5K0nz6SoBlkJfGPm1eeSOCl/vNNoLICShol8Mklj6JCSEW0agkiYN3uQnC9T/47lMKsHmnxLq0OtL8cmm8F0Yt2Tg/kZUXQiEe1Z9FNQaYFg9/nVj+AC4eB7uEEbTxm+sw7NkkPyqPboNDaENPb+I7zojRfxXxsplZ3A0DMk82n8+DR8U3c2XfhMul8Mfmha2Xh+2by/HMOAwCP9KujaSL/6hgtA2Q5sl8PgSNGtal4Vr2SVvFKRa3n43UDxE6lCAKvchiriJwOO6TRo+FzJzUeBJSoUwc2e6Bd2ZuOg1fM65vgeTmr/T0ny+0jBxo07mWsOFFB8J000PGQu6IoY6cgn4vJPQoJJx4hAEjK44FvIi+U1daE+VDeGC1m77kdvneXEMt8tf3r8XfccAm8DtEb5R5ZIjsgKwmAA7weIIAvDxqkjfcD322V7S6vhlwI0wcpHtG/9ko1fa5wxEwGryZMOWl+aSuvHNrGqvstDXKIbDnJOY7Dorcpy8sMKIMYnUecVa1Jtzfw8vsg4zeWUY09volqZgKPvWPOHAELOEG/c6dKNTK+uRy/lVDAv7r6aOpSeD3w1H+/fkmdfbR5nWvAs3Yb5cz/+r9pESmS3XkEJJnzDUNLYFHkwLoClroq5fR2JiMPcGUHJUlqBQISbPdP9r52VoOfy8TdXY6tAWU44RfD+jWNgM17N781HMVGuHEBeKmOecyMcb+vtOkGXc9PaJXA5ztUtpQYNu0ew8CX+Gxivo3WT/F82e3G8LSzSO0YqHrER6jtBVViu2+4r7zWesIIqurBy4ceFOcymZAWRwVlagEuJFy3HC0F8gDn68rmJNmyZl+iVIS4dTv0ooXDwOWq3Lc/D5TVqPi9lpe7Q3zq4eCOHHxCcDxhEA/aMA4KJ/UyqJAExjfUpkeLEOX4f8dJBw==","layer_level":2},{"id":"de1f81ec-9dae-4268-a40d-e17ac4018f44","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励数据流","description":"reward-data-flow","prompt":"系统阐述奖励数据在MissionComp组件中的生命周期管理,从data_init方法初始化rewards数组和game_data对象开始,到do_drop方法接收掉落物品参数并更新数据结构的全过程。解释rewards数组的存储格式设计及其与UI展示的对应关系。分析game_data对象中exp、gold、diamond字段的累加逻辑与数据一致性保障机制。说明MissionComp与全局状态管理smc.vmdata.mission_data的数据同步策略,并提供数据丢失问题的调试方法。","parent_id":"3c73f2a7-b666-42fe-8ece-180d6c94c638","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:25:51+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvKgAZt3HMISL9UXoszNEvs/hxC7tHBb9fLKEPxBPsaZI0oxivNbq+Obf+EXD4uAMeWuIetwRmAlcKIxRzRHXPOiTUx9CEwZHDtCGGk7XoFX6Qpw9tjEYiiTtWN58EHn+/s+1ZzVT61e1UNe/NmeUqN5qI7OVP3XQTmahULjPvbkUQVTQmUsEW4GtoTUUmy4maXlh9SYBkK8yRPPRJeVORsMyKRYpve4u7DAzF05qcL4mT28Csfak38/oOJJEVRfRv9oQqHxTgZIzkJG1JvAIN1VK5uDa+71SjxoPz+J1uKTnHKJBqJ3AflX2PfqSNz5Ov5YyW17VbuNIJzAWn4PHxosicqq09cMvtFuoH1IWdedZiZqcnGLwPAH4kCvpVCTDKg4tfii/wdguf30xdo8U/dD9YAF9mtfnpapBadRuPLvaRUjjRg2t1e66WET2eQpGMb3g7Q/MUa/zghmPpAhjnrEh25pJtXzz/ilbW0TAu9pHhUw5k1gDTMQ8V19xU5tWjGK5Yoj9vLlUOWHqqJ9xYDXKovDHRsHN5Jh9TRMtUM3XTrT2fNRpifnyappZ0xKJ9rGKht+MozvrI2DZdKwKDX+fOdYqkcBeqV8hcCUVdfHrp9ZugMeQ/0eidGnxWR1L2rIDJa2ovoPoiF1qg7YgwlNraednJRalU+tIb12T4wLdqSTxLcVXIsvetb/0khEP5D8kXKmyuSwOhUnUUnzfydgE+qeYMjjP8mJmSyF9yBZIOD+eW/0cHay7syYUuCm3ybPJwa/pf9sLGxckjEQEKEb3VfgVXmUjgtheOKOGXyg+92L/4xJBStwB+8YZ79gobAuhketUle3d5e5P4+vjw7f4NzdHh2SghAVI6nl3vVTTQNcei1aOcNoAJJSjOzcWLu2Cof+wDTfoowM98/fI+BR0v0mKO+aD+o0gDN9CvNSO5sM33GX/MD+whJi3kRSRdaHOwZdZm7BjRj9XPgj+0eMeK/LbNbLsYXa/YdHqsvzj","layer_level":2},{"id":"77d9d8d0-17bd-4da0-8fda-e05dcbc66386","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"怪物生成与波次控制","description":"mission-mon-comp-spawn-logic","prompt":"系统化文档化MissionMonCompComp的怪物生成机制。重点描述do_mon_wave方法如何根据当前关卡和等级从RogueConfig获取怪物配置并生成刷怪队列。解释generateMonstersFromStageConfig如何解析怪物UUID、类型和强度倍率并加入队列。分析update方法中的定时器逻辑如何控制每0.1秒生成一只怪物,并在每5只后暂停5秒形成波次节奏。说明spawnNextMonster如何从队列取出数据并调用addMonster生成实体。阐述processRandomEvent如何处理宝藏、陷阱等随机事件对奖励系统的影响。提供怪物生成状态机图示。","parent_id":"2cb09822-01ba-4a46-82e5-974c0c1a048e","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionMonComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:26:20+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVR1qsuoS1JxM3IZVRlNcVepBXwSxFdhRcwZrc90Wwa4Dwmyan1KFRMGqwBcoUj/V8irD2QPRgr34rhZrk6tDyAHDjkVbFSHuOhir/cocyMIZZM71jSVfn3LgHesp+sfRIPhuRJFvFeGJVC6bV4QoTwSYxhJWXDqhJyvHZe7Tu1Uhk/Ise+B1PLiV6ZB+30YIc02D8hjPhq+QOwZHyHIqgmaMOGs6TQrKFZ8fHd9OS7eZh74k/mwVWG/7pEukagSqKzPFoPR4xP4ySVaCd5JH6UWIGVHf9s20o2CM8y1mIQ/BLhwLQiA1gK6RhZszfigt3StK7Q2LhqtRoFneiH6Rb29OeCmikTHO4S/twXnxA6VefHdBbHft4fe2Lb/fdOoDY4Y3t9yK9FAXsFh5fQ6G66jsSTH5kP1ch2INeeS+nYu7Drbc57Ql7/OB4IFRtWKb9ZKCm/Cnsx4bEulvWVPfZ6DOIM8rQjRogVZh1kaoCse3KCvzioxlH21cyaZS9JG5tcrRb29tn6M/oMaoelBZyWnIC4sVc4ZjICpkt0llAaIj4U28Oz41TF+DXpLfIdHE2ZUgWebDBD+HML+ysucoKa2DeENAY8Mp6Y7NLGYOQ4mRY0xg5GzJe9q3MZhg/klWwTLOReA3aCgFsXyLf1YtR+Cx4pnfhKtH2RSCa+WZzRwgw/Z5JbcQhuAud6bvJZEmc5IhqUWeN16/Ue3qi9dm04YhEwJAkAdZyDZKh95anVhOswCJXvo8T54lYjwlWwDuKlozB0Q286hUu17BFzYUK59VPlihS48Ao3rp9U2cxzv+XqPX65kvi7oN+H/w0da4xb/xYmb2rRYfy6IPkgf1pn3o99I6ysemS2fdlkGKI/781IQ8Ng+31+ULBXuW/N3qeLfk75Fb1isRNO+2qeVDD6LBc6VjzCdfsqHx3xZtNcnNC7hqQlsibngOnM6T503wBeadvflas3tOp/hiKIQpljMggc+iSZFhxBSjScaaJm9ifZWIQult1/B5DEkS4ZUIXlG1BX3fmfDYaggWWSLel9ElLYz/Wpb7wIVODVpk3B507vPMJIJ+pRj1tSENutbYNqeXWsgBxgGR/jafJ8iyP3FZ1a9hWYuDF9dhHKLVINYZk/QsIBQ5QZjJolkoRqG5cn64nH/IBVtv9064m54dOwd5t8X7SsyNMjVUsa6YavUaPyZzVdeJOktDTeK0vljf4wmVKG+AcZFliGr800j4TyE=","layer_level":2},{"id":"6c84eeb8-8f5f-41c4-a40b-5707fe5f43d1","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"随机事件系统","description":"rogue-event-system","prompt":"详细解析RogueConfig.ts中实现的随机事件机制,包括EventType枚举定义的四种事件类型(宝箱、陷阱、增益、减益)及其业务含义。深入讲解EventConfig配置对象中各事件的触发概率设置与效果描述,以及getRandomEvent函数如何基于累积概率算法实现加权随机选择。说明事件关卡(StageType.EVENT)的触发条件(如每5关一次)及其与主关卡流程的融合方式。提供调整事件概率分布、扩展新事件类型(如复活、传送)及在UI层反馈事件结果的集成方案,并结合潜在的事件处理逻辑提出最佳实践与异常处理建议。","parent_id":"49dd1c8b-dd0c-4d68-867c-8139a500d315","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/RogueConfig.ts","gmt_create":"2025-10-28T10:45:32+08:00","gmt_modified":"2025-10-28T11:26:37+08:00","raw_data":"WikiEncrypted:PTm23USGky7oBojbIKFGE/9hDx/pvj9SYKCEtmw7z5YNPhoZUt0LA398ZsWCyNWfny+OWuyVTrlO/VJBNeZ4FHnkIgcuWirJaXD0HF9qPkjK/EWXMgKILTkxbAdNMmZuJ4EOF85gNfYQOK5D5uzkwdzGaj42cIHmqDVRAEwQU6JXQcgpkbRroUcQmkq5TD3FkxwxsXcGYQMTu8wzQdiOCwK7b67MaaOj82/sC6bWTnrQUUoVnqbrjSoi8lUBiQKlfr0PevNv6FH5gHQB/8PLLWPhD+prJjwP5acIbaMf1hBPYsAguI/q5AllqztTeIqZcwORwA01BT0Q/O0NyOYppm29FwxB71MX2V2rUtS41sJuJZSU3dYgoOe0YbmfgsLhC6WgvOj0Y2IFgXY6Y0biQVRPHd8Th1a2Gnaxh2XMjOGlPJMfwAY33mlQIAix+rz/WaT9BzWSDWmy0xafH5DmsBgG6QUHs3s5xz0lOXLgViTI9uh9th1+kN2xWP5WqkjZe2NZMZyaWb5nEak0OI0b3LkJFp/Q8ME4Fr/drOzk7OpU67exnR92XgWGKu62wt8Ib8lhPxuOFVzgQ0eagGPFkoBbyEYYxCVZ7MFT0OAUcCxmcvg7YinHbWbtkeVuWR2v41tCxZS6b+WTnBlbGkBwLWCzs7Pj3hT+R7i2YZ/WUplMEozKoqF4EjwnoCbZvtIPsD99WZH0MMREAOytjZa2gtT+JBJMyKKU1/nd+5NzGPkVpr1Hml7CVgoxIqceMcOc67w8NyqZJGnshsgKLpdG65bIAdeB3yD/RuNc59cgAJZy60bdebI4F0aDiOJN4GS0g/yC8slpY04DbQsqayrplXxPx1lSaQyHTV2zkTcaHBXZW+hgqNiBVzrKzZ3s4y2weVWockLUAsmQXSNM98rS6hdQSoaVHZLaIGul0Xz0VfeGPwj0+j9/0W53Ghz9Lp0liaJp/e8CWfKLGGBV/JZeAVQk8InlEwJfshyO84QzgQlYT5uSliek/xQobE0VgffC4J1U8BTuaAbSniJySJC8j0JyCZt21IRl/Ntws9DJNJMDlDiYetwXTmMj3TwZXLo2LlL2GaUFOBxQtzRXQEfc0TjQ0qMgQD8H3Q9FVAuZST5wgH9opXNpCxs3R5QVNIWb66c/8Jus3hLv07Pw9mCyDhynl8NWkTGY89SLNapCBnQOV3ydTEuAOC8Ca1Tc2iUgSu0YNRTIRp5WLDE/CWhOHtmFcVkprZGtjxPYg0R9dLz+RnaCLMELz5qnMe2FwTDpc+Wh9ev/1u0ai2D/eeNQ+l2o/Gft9Fd2bB9PzX0P7KLlXqtlSzxbvwQ1fanPx3za","layer_level":2},{"id":"f9993b2d-c64a-4b58-a413-d110ffd90521","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"地图视觉特效","description":"map-visual-effects","prompt":"详细解析MoveUV组件如何通过动态修改SpriteFrame的rect偏移实现纹理滚动效果,用于模拟水流、移动地面等动态背景。解释moveSpeedX与moveSpeedY参数对UV动画的影响机制,阐述wrapMode属性设置为REPEAT时的纹理平铺原理。分析onLoad中对Sprite组件的获取与校验逻辑,以及update中每帧更新_rect坐标并触发markForUpdateRenderData的渲染流程。提供基于MoveUV实现多种动态视觉效果(如闪烁、脉冲、循环位移)的技术方案,并给出性能优化建议,避免频繁标记渲染数据导致的开销。","parent_id":"7c0ffe75-49f3-41b0-ba9d-a01b4be067b0","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/view/MoveUV.ts","gmt_create":"2025-10-28T10:45:36+08:00","gmt_modified":"2025-10-28T11:27:30+08:00","raw_data":"WikiEncrypted:8X6dHc8oTZNrY2EvGKdkVwMSknpoWsR+jUP5qkFAXoh/IzXRQYt7gm4je15gcsW1/cRou9W8pBWJVeZr7XFc5fo8law8rYOCGcpxKOf+rfVkr3MPUFl3eIRmPLu7cqU3HejjNIn4gx6epu1Zy1ekEcGEu697XX6h5bbABz+7qea9sXAvQdyL6zDSg2RIkUpjYIeUP8D5hQGEEG6/q9OuGvIzKwlDyPtrseHyiZTj/yOOK2lTGsr2i/AsPvK6xiaT9expNKu3iz9QRIm3LQdHf1E1lh6r9ftdfwO108jca+oU52Xpl1snTZVt0sSc5Q0NRo59s7r3q7WxitNolZpAxB0LC0/CLBerQUMSW/DVW8S0IVVjAOODzra61GX9Fr/q4M1GacHBdg20lHCdaxOhreW5dpXqCNwzWvVLF5mUjarUVBoYRjVE6mYMqKKAb5q8iT88pdP2gsv4SvlhvJ+QOoEsZ0Toy1G5sFgZEIGl7uxv7u80lsnlAMzWSwtA4IOzDxN4xrSpSgbwNNgwV57qpseo1pv/SU45tPLJ3jFf5RtppH6mg0LrkOO6YzXZQpB6tKXeuKUpEY7UbfWQq3AZkaZ06jIRn/4VsMhlXyDy6Ss53PMUb26etvAPgvOLO831a84bJ6g7nuDagHDv4FvT3+/fk4+IAe9BQBUn7g0V/dSWFAmrqIlyv49LJ+sZNy+L3yypQOeZGMNIBLlFdh6E6C7Py3FtS4FmF+U8sIX520snRQeDDEAlptTaJvquvZ7Kc/3eJ5CvPvbJVSPk+Ud7EKRwgC+h6g9VCm2scO6lnIOLEoGTMEd0L/0lEtG9gfQQve8c2VzsqUqiTA7WL+vwxfk6Yz+M3CI6IKfrKze75uq8hOKs3fM+Vsilq/0o3IAhTgRz2PyvYiA68zN/BukeeLC9jJeNUNdEjyiwiH1eIgTJytDARvmcN2F10XZ45tCoGaBhkJ//JqKSryv0RhFgaAd4upxRxtGix5B6HrR5GxdBi3D4c6AeGqHrG8U5U49uvuU44xG93l69fzhi6qLBOVKcBgfYoYCapo8+XWTAaaAybMzN2K//y2eEoDUG9IdbWQriLjiExhQ+p4DuRPk9IA1o3Epc47vgJ0/j0Q74ffE=","layer_level":2},{"id":"095f2538-1d4a-4e55-a273-d68dd5ab9619","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技能机制","description":"monster-skills","prompt":"详细解析Mon.ts中hero_init方法内技能初始化逻辑,说明如何根据英雄配置中的skills数组动态创建技能实例并设置CD、消耗等参数。阐述SkillConComp组件在怪物技能系统中的作用,包括技能触发、冷却管理与释放流程。结合SkillSet.ts配置文件说明技能数据结构定义与扩展方式。提供为怪物配置主动/被动技能、实现技能组合及自定义技能行为的开发指引,并列举常见技能同步问题的解决方案。","parent_id":"6cee1ecc-c172-4a92-9458-85f4b8954d93","order":2,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/common/config/SkillSet.ts,assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:45:54+08:00","gmt_modified":"2025-10-28T11:27:42+08:00","raw_data":"WikiEncrypted:Oawho83chwjzGr5nsgFlRohLpHxWb06tOLyR/EQEFfwEfq/3qrpWKdjjlasrfL1mVbchLd4F9JTdTgyiUAKW6c2U6VK03dYk5qwJLsFwQ3P9RsLMIKZ67Cid8zyVthnx8RfFLeE/BBXL6bdZcxhKzBhFVZ6+jwZj8LR+EFlHzZYPsNhGJmayDw9QgHRPK2IdIRSnSvR1JDZL4EhRjmOuY5nvPU9Xwgtbnoij6UBFaERs9JsrZuIgQKQ3iBPB6UBe7yswxjeo5FyTzbzycX0pdMISkg+kCg/kldE4+WN/OTUWCFVmAu1J/gXqoNSbdWl07Dfwqd2J8KZ0YTT7CwS3H4VXB98b+WHG0dUrHmZqYyoOuOfTSwyCcogweGmzTFCO8Fjf+38WqYKoNMvpx6DWY77iV9OuLcDA34uP5PrFxY+9Cb6wK81fph9KeXN8LlZzpgEpY/Vh3VSm+UmvzZavaeVKs6RwhjbQ8SJ9ayjzsC3lPHHsmopBDqzyVvItTRJnoSD1jOPvjLUdprbhWhGvNrNMtcH7Is78pLZhYkXboiLMu6nTbF6uw+m3+EolDczDRJktKyB2qz226xBXaFKiPkmgXUqyK2FOlx0uVVN/qjLhqv0fe5XMTQjhYYHpSvz33Kt2sdq40zCdVuNsqIL6fkZSyJXrK8xDEyql0XW1IZu1LiWBV9E4jI9Rywbwk0/cvpFOLB/qRdNFKU1Hqn6fUV/WRGO8fZV7T08dkAq0uPRttb5S/GQOW1UMZRIhMeqJF69pc4B7CsGAJ+KOW1VFwhUgOAfe+D3mPz7NYCVJ16gUYb1Fp7SEhsTycBH/thm1cpOYQhxcnAYu5FcfeEKzOlSrVGlLaJ41KHzi201Hx7ilGpr4Hi37fLp+ku57WbVMFVgIgWg1/uBoAg2lJcPSDJBNZhXzHf5JdRAIRiN0h8ZZCJ96sPTSaqTYL0eWhGhxnZpsxICqdX1BiR566Jut5dqjIggTFgaartu8ZCVrpHPQq4cTkIDYih7B10iEIsMw98Q3toRopbVT3rq0qlzo/ecSekCcshxz0oq0C6d0nWse0MacxBY1+YWcg24LELyglK5lvmgIWhQ+DBOU+wfWiRlj3nHQnGiUOjZphuNyh+VImoR7aBetY6ytwBIETbYGRUQt9+qz6rzn/fLmscDggZLZhzn9d+foW8+MgkEVvBCOYvfAE73ZaMWexb1CsZVw","layer_level":2},{"id":"4b76f6ed-4e62-4cee-8613-e73f65cbe9cb","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"多段连发技能执行","description":"multi-stage-skill-execution","prompt":"深入剖析基于WFUNY属性的多段技能连发机制。解释check_wfuny方法如何通过随机数与英雄属性比较实现概率性触发,并说明scheduleOnce递归调用doSkill的延迟执行模型(0.1秒间隔)。分析该机制如何支持技能连续释放效果,同时避免无限循环风险。结合castSkill与doSkill的调用链,展示技能特效播放、ECS实体生成(SkillEnt)与定时器延迟加载(300ms)的协同流程,并强调节点有效性检查在异步执行中的关键作用。","parent_id":"b3e6a68c-2a28-4d13-95ba-937923884c64","order":2,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:32:00+08:00","raw_data":"WikiEncrypted:Zt230nV3k3ww0eU+N8tTko9t/fVdTGAk+wNrY25ockZnEwDpc5unbi8f+LbCCd2dSetXyC+8QMkOiQgOpKdTADkfTortP30ob3cF7/duMA1hlr5s1j0irhUejL/pmDN+EiaTy2LJZeXLr9p/YKSPTzvMVTYR8qMtDL3SPQo5ZUzBnc8arPWx1nI7uEFmTH8/neS3WKbDln3gXOTZ8GVn27GxUJ2Vo7cOoUFInNucGLwtBB872L/ZoTlvhkl9YpY9q5FHGmOMzyTsIlVlkwqXvxFEvG/yxi3cEOUpFE33Y8KmCe+dIpMaYjTu9hm1tiLVynbv4RYp3Sw8lZcdnCrvXXj+onlwBM0IiMzMhvFbQ2O8ikdLASb7t86cp+o8Ypc+DLlaxI6K6iREbb9DNxjptAKx9rc0JH/unIOuumV2QTdsZ2ve5lL4f5Sr+iUm5E4BBirirDQOMFemMMeJMvsoO61hN3JE7Hur3fknMq1By9Xzox+O4VZ0JBZffcjZBfote0SKOPXmeGMpEQzxGv7LMeRlLp/P9Om1sf6AzZohx+BQ/Yf9/Pp4gOCIXybrMM3QlJ9H8IUFWCR/rk8vFrkpOQ7o2PAZRoaRWKLJnM2hXgFeM8jZVIdDhs6uWiQkcjZFfvRJ5ypvUionPyFboAUhj2WZjX0PinwmmxK+qkOjVPQd02iub5xhy4SicLvd5aJbrHvkwfwNhcBYQ8hY9HjdPAG/m0IIQf3NMUnb2HHO1+HcrH62rtdrXmcXzTM71c7iRCqiJFIVFGD56URJTe2OmojddBsfYAPBDjX7mKYntWCQvV/tFO3B7aEpdWqHbWWJAN2M4uZdjfWf3FJt+uvJzomkht0GSZJi8UDkcy8u98lKm3OeCW0QdBtBjPzTwc+UA/9YUt96fdXcFKKKqQByM143cWcBJPB0GfJ1K3eBt2lVV5ryIu5m3TjpLEQABQ1WCs9y6cvbf3GrcrxCW2bn0V6IJ18lR07bDPi7P4zLGDzctG+NyRsmLwfCjDxDLCeci66CIXVf/EmvQ+myhizWQ9AhXoEvgctsYlsETy8t9R6PfhlYNetpZw0lzRQnhhMZ","layer_level":3},{"id":"9717f29c-9838-49d9-b288-19356408fb90","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技能特效图层","description":"skill-layer-rendering","prompt":"系统说明SkillLayer在技能释放特效渲染中的核心作用,包括其作为独立渲染层级隔离技能动画与地图背景的设计意图。解析其节点组织结构,如何按技能生命周期动态创建、播放与销毁特效节点。阐述与SkillViewCom的协作机制,确保技能特效与施法者位置、朝向的同步更新。探讨粒子系统与Spine动画在SkillLayer中的集成方式,并提供管理高频技能释放导致的内存波动的最佳实践,如资源预加载与缓存策略。","parent_id":"32e526fe-04d8-4bb5-97df-cd34d6b1015e","order":2,"progress_status":"completed","dependent_files":"assets/script/game/map/layer/SkillLayer.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:33:05+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzPy80DG1ZG1TBk953uBrssa5Cj3Su4x492YqIR02J/Fz9+xJwopyt0J1tcfd8sx0OEqCLEY1U/3cpK0mK0LmGmWJkXs8h4LGolM0jBXSAq6U14UiMWKRB1aom+62GsomV4qYLMJzoDpq79wHOKDB4zXsVzhmX5AhMJF3ZH/GZMs4uUvxRpRSlNo+tSfRw6tlLeOAjI9wX7IGqaHx4vxrPBcMZ5hg77hx4FYPfHfA++VX+WNL6K6DGY5X3RNby+SRl6jhyFJ+Tc4Sbs9fSD61hbf3wJpS+6v+cgo1M4K4hrZxEVA08lgcSCKw1IAjlIfObswdoVz43flTExnDFOqx/BYWDrxyy6SMRaMwLA080aV10xUfD4QT/kH3YKnWShAWRy5FX7LH8mPEN5FztSi/DuCM17TbmJDRjLHrYJXLhDb0reZ4EVkul9cxx+maiE0T6kCK8iQZwmyG/O+iFrC2Ft6ck+iZtTE2ciDeTE4D7I9BXhPZ4QNapvQGNzuDhnrug+Y3DVjzjw0GgR+EKLToKU660NDOCCUQIZ06YIb1w9cFaT8MxIk5RlDBkR5ULhHD1RwqVpzhwtBxZL12KrpgLaKZkC0P6KZ+TkM3EAlqlBFObuYelovC9lP0Wlw+eojrONJVem3v/VYZa++MePkvESwcAOSihT9St9a5qqGSsVAFuj9SAWk4uj7mZvEEHStB97giklKSEr1kWWKqrLNwtwu388+HpeMgxBkana1/WWOpBrwE337S3HKZWwr6mrIvsDHMH6uC10d0Eq/dyVBEGffEYcpLVWp1TuRdM2Id7JCY76jMijgy4jL0EhzzQziNPlLicEaI4TliHeCbg4SIPG1fXqf7Ht0tHnS5oZ46nr1deWyNnCBZFbijiz5hsauYy9hNA4HTN+r5D9HO+yDn3Throkhn3NPXl0Q3E3Nn+cL/Km0FyirBlGWpx+OX49JXfMMlkumO0m3UVGDRZPYIGk79LHVT3aqF7I+t29e+S5X7VczKVUQ9xJGIFHyg5Und5dQ1uiK1KuBtuulZGJMjOwnnbGEIBZOcCGBghJZ1kFvG9MimgFd0bVGH8BnariFdGg==","layer_level":3},{"id":"fc93744e-2843-46f9-9dd8-aa6e073760c4","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"英雄系统","description":"hero-system","prompt":"全面记录英雄系统的实现细节,涵盖英雄属性、技能、天赋与状态管理。基于Hero.ts说明英雄类的结构设计与状态机逻辑,结合HeroAttrs.ts解释基础属性配置方式。详细描述SkillSet.ts中技能数据结构定义及SkillConComp.ts中的技能控制逻辑。分析TalSet.ts中天赋配置及其在成长路径中的作用。说明BuffComp.ts如何实现增益/减益效果的动态管理。提供代码示例展示技能释放、属性升级、天赋选择等关键行为的实现方式,并阐明各组件间的依赖关系与通信机制。","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/Hero.ts,assets/script/game/common/config/HeroAttrs.ts,assets/script/game/common/config/SkillSet.ts,assets/script/game/common/config/TalSet.ts,assets/script/game/hero/SkillConComp.ts,assets/script/game/hero/BuffComp.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-30T16:45:48.7271937+08:00","raw_data":"WikiEncrypted:J4KBBrDvYkq+A1KOtTmVo9E+nOCuURMDvfUvZD3MfVaHI7zHmCh8FJu2mbDK3PSvic2oCdseOur6Chk8h0alSZKnUH6g5QAsfdsdbjrUjXeoSeDAdxvTdQ6P8SzmfgymxYYLW9p/zBB9/rlLvNyMQoaqNHQ5JAqa6NExaBeVGHMpcZv3PtH2dTz0yDLwhYbsQo8nvw7tjbNnjIbfg1X/Q4ZmfND4bVxAjKlLO+dX6UiDW/29m5FnKjshto5Cm2iAn8awM7jyJRaHeRq27kJ7tKg1gtF1tF6meaBC9bXi44Q+BRhZ8wQQ/JLi0TNjP8luE08+72imS4rE/diCybvJDsfe/4I/UDq0AbNuOTeOIeIB3DBv2lNAqDjil/6ke651qt3GmvY0M172r5QK+fHBOMeHpSIXITdaKu7nGcIpg1T/NpXossVik9KdbkY0iSJM/W+E6D743bsKrJ2XtRvzE5h3jX0T3MnxN4tpcAHaH+rQFv8Mz2qux/MfCAyjnEpBU33kZ5BHLG6l6e8n+LBYRFq/VUUfjEbDMTUarqvT97/3DgJGLtFGcWtNeqtQcEZCdLoTHR8PgGs/oyqr66+gA9HTvjlgpddxyNTLL7zCLXhcXkN7L2yH8n2gNkq06MEfjTBAObPbNvxuHQJ+FzeB1sOdgN0WrpqLuFwSgq0UT3DPHtC/s1DS9w6j8e59Yt6QX6tQPYiCvRcj52Ymugd7wh0xHhaVrQQw1JA5BLYOHiyzXu2o43Wwg3XN1/7mtITh9I8NEVw6hlUzQFgll47y0cVivzouiOCWjF7/XgpWgowdtVfCEe1Np4uyZzq5CFOUiW9CKZFqQ8KDqGtOkmWG+NBehq38ImpGSsEEtfUtPwtpvtNs+oeHjF4w0m178ACp8ooFrdMT7l5k997EUhYPvaly38F43Cv81BhPc5Q8XllRK728LLuzrbruJpW4sMz8bc2hGeqSeCfWEdgm4loSdTgE6QFjs1BugD9JJuEjcvy0JB3oIqgL+wxQRrSPJ2C6bixiD4AIbddU/7pZUCY65fZrurKwlApdOIGzmDj13gv6E15wu3Xhmq3Me8w4LmaMUpZ/ZYOLAfPWNojLbizP+Z+z0jxc6S0/HUrzQ8EeBKxe6nih6X7tLk30QCRMi/XmJ9A5I7+5tyudmBmNYa044WklhENUj1xhNcTsrT9rj9QOQDCCOvaiy48HHYrhCbQxytWqc3Fnd1NkJ8edg6LUIcCcp34SqsDOvMHBhn0wfmkGVnIQRKt0BERDY1pO7Jk/EQgOGQhM39yJhmjToaeWIp9l/2TZiRe+4a18JFHPSZiT7fH9ZnohCsI+1AajyiqbwzOX//2+FUgbwobVl+lStLmATMp61dTRyIuzYhyo061Z4oVKjST/PNtypqfBpgUOz/67ITPgXzpUiaslAThw3Q=="},{"id":"3abebac8-a8f1-4ffe-a319-eb8b5faa62cd","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"增益/减益状态系统","description":"hero-buff-system","prompt":"系统化文档化Buff/Debuff状态管理系统。基于BuffComp.ts详细说明该组件如何管理英雄的各类状态效果,包括攻击提升、防御增强、灼烧、冰冻、眩晕等。解析状态持续时间计时器(cd字段族)、视觉反馈机制(show_do_buff、in_iced等方法)以及UI同步逻辑(hp_show、mp_show)。重点描述状态叠加、刷新、清除的处理策略,以及状态特效节点的动态创建与销毁流程。提供状态触发与移除的完整生命周期示例,并说明性能优化措施(如对象池或定时器复用)的应用。","parent_id":"fc93744e-2843-46f9-9dd8-aa6e073760c4","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/BuffComp.ts","gmt_create":"2025-10-28T10:43:31+08:00","gmt_modified":"2025-10-28T11:12:08+08:00","raw_data":"WikiEncrypted:qLB62GuJRCVqghqbMqOQ9bgnYyELsMrVrff2a1oRLJAX9omUzEegSObM9/ZAnOY8CLQsDiSvqfK7dZjRjwETbb4KXruWtoPX1CWvW0Xpd7FnQPAkxCfnMYG/QlLpePqtxD/F+uV3SjhkfM5QUX8pVwigQTHL4056W8Aq5uUjZQioxYpAcyzvvbUohtSdSDJS2BhMVH3Cwg6cCgFkppB/ivNDoXwxY6znwsu6zrOJmR8xLyDnBOh5sTR1WxPU95XcdMYAR7KtdnvcLnGm9LY28O5HWgCROaEtokBDolp2Axf+pSCjmOz93n4FqW6cAp9vbmurmdupEjJFCo5zAGx6TfNruCuYsKzht6XhHaBJeGB1oKgJsu0/QdPr8Z4JEqFlO/nXK76V6kmIKFjQmfbvRyXZsI6tcDGvKXJCYPt9+3VdFfhK36ZgQPzxZe6W1c/9NnUldQH0LJ28ybkMEx891PQ4RYVsSftnZewR3IXEQU1KkvXryN5nN6wPLxdfJh9rzWEo1K1EBBjQfGavI5teTku24mDZe6lS0BNNM0uJWvS5QCpnFoP4hoCD8SMfQZKnc5wfz31eGb0bJg84Q4KIntfzHvU87ymXxRi5XTuSi3dzUEj5Pufl3P325zrGbPSa9Prjht4/P72vePvk+PCAAhdR/55HQETPeU4pLnQuTVbU7yLFoPGgzwStroYlaB2YoC7SoRWaM41EU4mdAhoat4L+oaf52FMzankz5HbbLbijoFjWEW0snsfWuCQb/Oc4CfAF9/jGBRBA2gCMN5Zd51PMP+UL3VZw6+eRMZ6f9LMw+X5tL+GZU3toJrUfN/IR+AmIfmSDVS5gN2efvV2tFcuR7u7/FP4aj8lXO1axhvziP6L4M2wtwgH//C+dK5PPOr06w4Oo/5rl+RnDftQ/qMbORiyCJ4L1JPk9qUgvaCeu/YnIfdx68uRlr31jF5I0D87P4zFGXnp8fv+5D+JV9AgO6mj6jPvZS1knB+/JKNwBpYL+tdBuVs2njF+jDkeF6o0JXsfWtSbiIsleJuGbrBaWLzu0NeA9fCrnBiIQlJiGkVmmGa6dt0lGLU8evT7oVSjFDQ0QOffYvPYpPBz0AYXT83B6D4Om6vuwniDdtj7IZOo2SgQQMTpn6BG63mEjzdTSdfDREctU1tEVNMtXkQ==","layer_level":1},{"id":"a45f2550-6177-4b2c-bbae-dc0ac33d80d6","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"数据存储系统","description":"core-data-storage","prompt":"开发详细内容以说明本地数据持久化机制及其在游戏进度管理中的应用。基于storage.md文档,解释oops.storage.init()初始化加密、oops.storage.setUser()区分用户数据、以及set/get/remove/clear等基本操作的使用方法。强调调试模式下明文存储与发布模式下自动加密的行为差异。结合BoxSet.ts中碰撞分组配置的存储需求,展示如何安全地保存和读取玩家配置、语言设置、游戏进度等关键数据。提供代码示例演示数据序列化(如JSON.stringify)与异常处理。讨论数据安全策略、防篡改机制(结合crypto-es)、存储容量限制及跨设备同步时的本地缓存协调问题。","parent_id":"62812447-89a4-4ba5-b3f0-726d2f18e66d","order":3,"progress_status":"completed","dependent_files":"doc/core/common/storage.md,assets/script/game/common/config/BoxSet.ts","gmt_create":"2025-10-28T10:43:41+08:00","gmt_modified":"2025-10-28T11:15:35+08:00","raw_data":"WikiEncrypted:DMLV4XPfAy/M7T5r2ICaVpgpVsx7HFlhyxx27r4MgdX0WR7mefX9awFLRsYN0ybr7HNzECJsCr5x4HXbAkUINYuPuRbcksUZKs0BCz/FVtm/KVVeMdCnfukJwtubOq+FtmiVR024aY+y6dWuKj9EGO69xd6IE/5Vze8K0NpKHjX8asQMlDcXN7WSx86IgBoeLJ1KWnf3g6iLmmDetdTdQKpEo1tCggkkdNYzdYidCYm6VLCpC97A09IP1aAsRluDRDmP4qE4XnQ0X73+1TaTuWpR4+HckqSOJ2M/sGRixnN1lMG7+XTTiR+V64MAG9mASoOFneuuQ9Kb/cC1UkODuQ1ijKU2QyeZJUu53UHo5tNzTZ4hb0W9zXNeG1mHlEYhIiXajXEVFW8BglCqCvQOrrCgC4wqwAJaANFC0dPXxfT96vKie/R77qTcD1EjyvRYa3mP27qSTnCBJndgBYSppb4J3QybxbIY7rYAE4ametfYqZQ0nJJ/BjC6rT9grOYjFAwlLeOgyjzk27JA9qPu0Me7Byy1Bv5NFIicrYDlXqVQ8KQhIrZXqfvz7D7/ez3Xi4NQwZ8Yy/BqDb/JwQ7hrv9z/c3i9dhlJpNz/c6QmngDqmi1zn6jswRUuf08UgC0KyJL2GKKMtHL0QLJAj/r8Mre9+C8mUGHI6E2ba+YJK97Me5WuurP5qEP9i+hqTKPveFURczCyfmLiC214Vl24s8PmKoVedp66xZEG6A2wX/FGcVmLOE0mCvahwb99Xi5xthMGHQbOWFU/StL8D5zsmSfWEulJPMWtnZY1QE1ahEC8ONCS2ffTxq7zWm/6IohCcnNMsOBmHcWsgsNSbnPGLujO9id9nYvE3BP9MfwE64OPQ+ncA39bVCqjE2ZmOxOHY/CmjEj0qra5NzK8DHtjBoMi1uUTTHDY4ierK1fl2Y+m2LoI8qnD7eANHG04hhxuA+EJQVW0j02qQsVxx4+bbhW+kPdLYRCVdsZOidLsE92w8umGXgobsxyPJurvHW8s7DiZEsSC+31A/WWQva/u8uVNWq2QEGIumrr1ppb4dFMx3j5YI7+Ba+APhk0/JYaVvLOOyrRJ4v0pIjH0dT+9dttFi5yiwzN/v4nwA07snID7SDWRwrt8vCTmg2yYG5EqNW9AYXcNzQAeIItA6OLVzyJlKDWAmFTYYK7qVUafygkgEgwMTl3nGH6aMTMJd4hv9iHw0rIz6G981WLT6mp+jd3Ox9wqlsmdTcr24SvSRZxJsX2PPr3zCk47lTuLDa/Rbra9P+tOHQwxujr8OQcYg5lt+hCfKYQXsD3GXYkRIZMyIwrxG8MkzrFr18GAaOzp52i7j+MnRjGkiTq2r3trIWMs3A4laXX4D4ywSNEQmCgz7DAFXTj+sdzRbN0k7CG","layer_level":1},{"id":"6cee1ecc-c172-4a92-9458-85f4b8954d93","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"怪物系统","description":"monster-system","prompt":"系统阐述Mon.ts中Monster实体的ECS架构设计,分析其继承Entity并注册为`Monster`类型的设计意图。详解load方法中基于uuid动态加载预制体、设置位置与初始化战斗属性的流程。重点解析hero_init方法如何根据strengthMultiplier强度倍率动态调整怪物基础属性(HP、AP、DEF等),实现难度自适应。说明BattleMoveComp组件如何驱动怪物向左移动。结合HeroAttrs.ts和heroSet.ts说明怪物共享英雄配置的数据复用机制。提供添加新怪物类型、配置技能组合及实现召唤单位的开发指引。","parent_id":"88d38228-dfcb-4ebe-a91c-af2b415594ed","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/Mon.ts,assets/script/game/hero/MonModelComp.ts,assets/script/game/common/config/heroSet.ts,assets/script/game/common/config/HeroAttrs.ts","gmt_create":"2025-10-28T10:44:10+08:00","gmt_modified":"2025-10-30T16:42:58.1043222+08:00","raw_data":"WikiEncrypted:CtJNi6N34n+K04xCoaAX9IObj3WpZ/cfRnr/r6CgOXXz8lEyiT/Mf1YQg9Ckt26DBuCqUu3F2LyOAJGiAJ0Kkqh6/viJ0I5aCp7II3BJ6rmEWlT1Mqa3QMq3zlRBYR6/ECvvChYMmQ0mtayGWzAO6Y1Mesu/8efAznAu07T2qf5L+Dc/FBxXbOq3+gBfDwDfwJ32f6W3B6XsZQtn2Wn5kv8fzp+/Y1SUPt1CvrTTHI8JFVTU1dzrDoJrqbXt4gwLfr4MEr1vy40A8QK038E33Dg6UWjwJZUX7NfSryo3iJ6RXIXp/r7mJt7PVTo2vwE+WbbTgJHU5cXTdvfdoo+Jf1dUUCGwxt6qTv72bwZHJVxzzn0lcqylP1Sqm2WjTVxmYKXzSMUKNhE+rFSgeU4CPjqTAHpLZY/9GlzuwxycMoWxDmA6i/xg8FdCw3yeBQ1tCBzTtN3YX0n9Db0/AHQOlLrE6Vered7R+xa3ffhBVDII7XXLNtgzXek5GRFql4BNZHpPudkUlD4Cfe1zngkOWvBbfXUlqQWUqoiXqAQnfFRKkHdEGyWwiAz2iWL+yE1DYi1eiIIF+enF+UsAloS8ahoXdTkCRTX3iu/MT8Mqp785mlgLJfIxi8QKwyqVSANUUDRguz7bzpGh7T/QLWQM/I/DuNL8XWYCHBlroLLz4SJBh7rnEGdCXSKh9SuXyghGZ6qruYhZ93B302Nkpyu+k9n4vXyHc7D/cuqBgo4+2o5zvg1h5fGmOSrlD5xfNz20pW+4lFjXlom0b+fND+6aV4qY/DPU+5zfij22xsZNmZvZbFjcrmmK8z98UPFphc26RXmufa4PgIKScgUR0szSMjdtM9e2aNmhJ195bXOHHGEfg5pdFdvph+280ioM7aiu/6Zem6YV7YiQeLwUcuEznjDsQ3Yt7uShu+qdAneIDf7N+TNGIKhr4Fbm2l24EUkxbQzo2+OYb1u4AaZ+JB0wRno+/uQ3eeqJckqYchCwjFDVU1FLojj1BzrUQWcR4TK7jLsR7DCtnJz5wKRHccvg5F0IJAQm83xMLK8NmCfIiQQ2F2TDYNUQoEUK2eloD+qNnClI60YrSsJrt7k4H2/1Tt9R/HoElxDJAIst9IRnNHo0Ky1gdWpOHR6jZNOcaMpYSpwrjZQEztwXUvVSont6AtWJEJHViwAp1bYmL6To+2+z2/vGVWQCsJ2sJsq1sUPCg6TVAYCv4BhaqHtbmlSwDb4+Vq3Vc/RbsPrD3dvXQAkc3zAb+vOJvqHv24nO1SemVq2jzrB9BZeLC0REG0DSIZMchv4ZJd6rYaXWRZDYZog3zgstCNWGlcpW9Nj/lFjSHjb+fWNkQx41PPOS7/2O9pCE4eYPYOFLdI0LkZ5KBUs=","layer_level":1},{"id":"583408c5-3eb1-4117-a49c-3a0dd4766e91","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"胜利界面","description":"ui-victory-screen","prompt":"详细撰写VictoryComp.ts实现的胜利界面功能,涵盖胜利后奖励展示、双倍奖励机制(watch_ad/double_reward)、关卡重试(restart)与继续游戏(victory_end)等交互逻辑。说明onAdded方法如何接收args.game_data并初始化界面数据,以及定时器scheduleOnce在按钮延迟显示中的应用。分析clear_data与reset方法的资源释放策略,以及通过oops.gui.removeByNode进行界面销毁的流程。描述该组件与ECS系统集成(@ecs.register)的方式及其在游戏状态流转中的作用。","parent_id":"f5dca18a-ebd3-4d00-8e0a-319d82f88755","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/VictoryComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:16:00+08:00","raw_data":"WikiEncrypted:+bfbcc/NV47Bszez2MAFOy5MEV8WAF6FD5kp03A5CO4Liv/DJCBtnK9QEbtU3NjNpsw9cSjmF/Kyc2DuSe4s3+yTkfNDhqft+YLvaAk4lORkXxt7sThfqypY8pxlTkYfNu920gVP+0FCIRyZSVnWZfF2utSnpz2eqemy+2IwyiL6466VJBxtiIhJABTIkt4PiU7qiu8Pk50mFgJtql3B9Sz5BAkHcTI4wKcAbeIIasj8iDsFNlmS4sxzgtj6DKvkXaw1vIhAnKHF6wi5MpjY534g9wIjVU0/i3D88J3OccpACxCkTiWiND5QKAOYydw+W2c1tGJG0L7YY4d1U7xKt4GJhONDoUpvBwq3kUgtOSsqlYqYuBlK0sL3816C9bO9lsW36xGKA3wZZ889a4oJiu4ngy6jCsIhhI1NrlGrproOYVBwkN7ev0Srp/lmATUT1IhuvjpcK/Zwr5v2pAQ8lR1ALkj0T5UrIEXwHZVwwG8Kxkr/UWcVRl71Gpn5wQk1G9RTbPrXDu70QKqIgl84AHmwAT4hnLtwdPWYsWSneZQONCZEjV9vfb1bvkbycOSPaLwfvqIUMpFyE/CK0uVSAGg4RUPxZ+ctDJrEkcBs2mQ29wybzCsCXzS0Z8BnPP+0ZX1bfWTWt20vPoqrM51Xg6BFJuMVV0wpbyMbA+I3kfEHHMIyieNt4E9rK6UbE0TmFB2neC4grWrssNUPPwYdPae3g7ijGtypQ1VSkOLKSC6FLOVNbintltO/I2b4/S2LCYMMmLGSGgxVD8ONUNczBSKGk7ZcJtFfmuk4m0m5TR2CaYvkmP3e694inIM4UrcbGJ0lJl1+OwTRJ2ckeBERZt8XjVXatfxhSjmgbqODyavKw4W8P4NbslRNPygKMMr4TWgJ6Yk9xG1SOesaDIwdg8AFTSrh/oC4/dL457d+MdCwZCNPpYXgMhxnKhftt65pTs1ineWVQLIPnDcYgV5Xo1M2avHsBsNrBhPpCEpXbZ0s8btcDo59golJ/GekdUwvzU+9YTG9HYSX2+43UtFUiC2uTfdF1E/Fiz8nYZT7BBQOByMBjYI385Sj4V76291ajoMXV3kipNZRQoRLh8s+UUKV/1bPPH+QREevPDCv8jP94ZkjcgqQ8btO9f3UlzLP25pplBCL72vM4hHDUA2FdeEtmZMY8NecNcL83kv+9ENkNFb5VhuttsUgc0ljFUJt","layer_level":1},{"id":"606d8b8c-de89-479f-b371-8e66f703d67f","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"多语言支持","description":"multi-language-support","prompt":"构建完整的多语言系统文档,基于en.json和zh.json实际语言包内容,说明JSON结构设计原则与文本键值命名规范。结合config.json中的language配置,解释语言资源路径解析机制与运行时加载策略。详细描述游戏内语言切换流程:如何根据用户选择动态加载对应语言包,并通过MVVM框架触发UI文本更新。提供语言包扩展指南,包括新增语言类型、维护翻译一致性、处理占位符与格式化字符串的方法。给出性能优化建议,如语言资源预加载、内存缓存策略,并演示如何在HInfoComp、SIconComp等UI组件中正确使用国际化文本。","parent_id":"68f63862-f52e-46a7-8d5d-10c42528b4b5","order":3,"progress_status":"completed","dependent_files":"assets/resources/language\\json/en.json,assets/resources/language\\json/zh.json,assets/resources/config.json","gmt_create":"2025-10-28T10:44:42+08:00","gmt_modified":"2025-10-28T11:16:44+08:00","raw_data":"WikiEncrypted:Zt230nV3k3ww0eU+N8tTkmkZoXjWlJC7IMZqUcTqYpe6TLIPOJeLcIOqcUWHIXGF/0DZM2eKukiFcsZNyvxDe8DukuqDlQjNTG+avY05uqDvZRi7u7VjMxTukMd/stiQWv2q6grKj6JyRsThksIKPmKRoj2FusSBdcSn9r4ewoKGGregJpJMCnC2J9p+ov4xk+NOD/OUhqbh8QQtRmsi17KqcOkez5zszpHU5eVDl0oTbDSGl01y40K77xkw4EUVLVGh2G5X5wM0JCBB28e7Bvc4qIn0r9pa+2rB8Q7rWueWd5Qy8od9XVR6G7U7uTA0PA64M5n7wRfASz71vgjOaA6U/HlQAyeUDk02gEV0pZ2dFGUbfnNJf2ckZbbc7Dd1uNIzPHnTiUxVtiQsZYZbNFskVSdOi5+4UKJxXGRhZN3n+9bss6CARpBCj20kwqq8LBvnMh/UpC7xkn0ecduEi4MVhTy0DSONUdswDgmBt8stXb+pg/kGyz1V6Fb8qsx7Iq/yxPSYYEeJht4WgfyW7k+f/UTsJCWCmLYLNXYhqKgZEjvx9l5VCXAcc0Kiiz4bNR1WoWRGxP0s3OFIbSFu7dGl58co/9roa633EBYw3P5b2ryRTenFdv/Hz+S0QWfPfx98WbLdokUn6UZBoQMwTyX+Bk7l1wPLZKVcI7BQUoUb9sLa+6O2vAKZYY9BQJCAkzeY4Er742nyjLveggFo4P/1qPoIreCGU3xtcVfjlZEoWhdSAdPewx8Tb1ehNRS/rh2uH+XRzx3BiED7lfCixjAatQTulq5J++FXWvbn5yKWPlPJLpQYEQCZ/KRkbw4GBmcgNcNQ6QrKK0GgwAnIwJGemn1nnwjKvcy0pifnYs8ojcRCL1fjew1wiawe+ZdD44qHE4vJ9+M1gouAXdXZSLigQXesqJPsywvs5LIg3WrlONR8XWCGrdW6htLKbjStsoF5bu0JhfiaSR5IHh/YIhZ3kyoQdDvW1bFCxsnnq0lXLRtSnrPNWH81FKsuUswNyrZuJkeVXvLZ9xgbHLehg3Bu797EYE2DpxjnKancWroKnp7LrTqSIlv51OlDGXDxsnKy/nzFWqeIpRYRjSD/aY+LzNIE0DpljeIvLKPBfV8XB5LphYyDQP7TlFMpqQwFquvmnj4Fi3UGgfrKRSuh9MIDDj5dqFmz0ujZ834ZIERO+WRK67NJIOh1UKBqtRKkG7lvtw27iPviGkvQjQ1bchfiN8YmsbLFX7Q5nq+M9955ugkX6m+S+5la5wfR1oS9RFXETMtlSW/3xC2jhqEVidCnUMVfHLYOPB0yV0Byx5eCVIcFNmuiDCfD/R2vnUVtGqpTD41i4HGB6Z3ybsmO8x5OcGtKv16hXI+99tHqXwm18BI76XFCmq4PWfM1NlvByhw2lWYCeKa/PBBcWfIBAw==","layer_level":1},{"id":"175984d8-3cc8-4283-8166-869b4082497a","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励UI集成","description":"reward-ui-integration","prompt":"详细说明MissionComp组件如何与胜利界面(Victory)进行集成,重点分析oops.gui.open(UIID.Victory)调用时传递rewards和game_data参数的具体实现。解释胜利界面如何解析这些数据并渲染三选一奖励选项。描述从战斗结束到奖励界面展示的完整用户流程,包括延迟调度(scheduleOnce)的时间控制策略。提供UI数据绑定错误的诊断方法,并给出自定义奖励展示效果的扩展建议。","parent_id":"3c73f2a7-b666-42fe-8ece-180d6c94c638","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionComp.ts","gmt_create":"2025-10-28T10:45:10+08:00","gmt_modified":"2025-10-28T11:28:12+08:00","raw_data":"WikiEncrypted:7Ig902xjWCXy4WY5j4FdvD+wqVBGivwGfhP6V3N2zQLt+dw/t2KNGZcSrKUDKaVxwKNsDahJDTLoz9wapgB/5J3d5AfLIRKvjjhMNAOWg2GnQLAMFseoHTFKbQ1awAU+DnMwqUVRaoN4h2rBIybFpQq83Kh1sQ3A5WwM4xMgNjx0FiG750RmvIsqXIOy8xuK93SeyTXGoXUjIa539ekiN0u6Jqeh/s0Fy5wx2m+gALwrXM6fZZNmEwA60Fgg7hVaIS17u+oS+q5eSwB7STIMRL2sdRQrc63zCWdkFMJIbXOcPtVQnQgZ6hz9UpIENxE9gVwwDXa8tKkRQmhan86v3BumpNHdanUatH6bICQBPDgYfDz4pezX7z0RnqAPWHbFYJj+wZG+fhNUi9DwRMXviI46gJ1ylRrec/EewyLVgGjOKU9r8RGUSMuyqYqGVTS1riPl9elFj1T/vtNlpXWQh2u0aeXWK1FyjGt61BL2Y6IhZkiWVwWnlHSqiHcui8tNKRCoV6qSrhJB32QQVIePUYWgNp4mLMqCyj6szpNbfD2gSVhNG0X/6sPTG0JW88WvYYgKCfrjEUOFkKyCIT+LnJmbOd/WhDf7Hek4tpLV2cMuhDIh3rnSyDCZvS7IAtVOko/lT86W2iEtsXhnQboYoV4fevPWQ4daRatloFnSMhiHFLMmLgy/rjKyYFaj/o+U9W6NIPvIxG91WB+XABDniF1cd7jpwK8YIL1WpZsVl2gQuh8rJZ6ZrTCJo1HB/I5/0JtVdTWgBamM8JDZC+METukG5z6M3ptsLpe0mP0f2FqKxNjnT1gIF8eHvvGoOExpsuYuuK8L4lvO90VFBDU4sklf/33mMyq5SIVkBWJjd4hZ3wBO+K0j3dStwaNjZRaYSWh/uiUULxJKZlgllXuPKW6bdRb1NS/pmtTv9cde6ue7FoM7NcpRQk7mPk3iCLbS","layer_level":2},{"id":"150e6d7f-7b74-403a-980e-ebf3dd87ba04","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"基地组件状态同步","description":"mission-home-comp-state-sync","prompt":"说明MissionHomeComp如何作为基地状态的视图控制器,在mission_end事件触发时调用home_active方法激活节点并更新UI数据。分析uodate_data方法(尽管当前为空)的设计意图,预期用于同步基地生命值、防御状态等信息。解释isWxClient方法如何检测运行环境以支持微信小游戏特性。描述btn_func预留的按钮交互接口可能的扩展用途。结合MissionComp的战斗流程,说明该组件如何在MissionEnd事件后恢复主界面状态,完成从战斗到主菜单的过渡。","parent_id":"2cb09822-01ba-4a46-82e5-974c0c1a048e","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-28T10:45:24+08:00","gmt_modified":"2025-10-28T11:28:31+08:00","raw_data":"WikiEncrypted:uZ6KtIfDX69PnfqAVxfIVXGsmD0kX8MMnkRos61W44HrAnA22fxWkVWC+qK3tvZsBSQ/kOFCVWEr09eDbQrdIz5HXXjCPouuFmnLcw7yFIfdvsdpuGyk7xDPMcj2E4iZpHQMH/b7f/w+1KQpbd4hUXe0G2DEFeVVPBejWBdzKUGZe03xEWv2MakyxjIFpqkxEyU6YhWhjlOSLoVvhhzhpOw6u7TEwqU9vXqoEjbBR2mDj8PvbyJF4USsIgGr32T7juXpYspLapbzmCYrrS0AISsEbSkotIwq5ZB/JUYyqF2oSUhx5ut3cLYMQcn8nqJUzcB6MMZVBYrLHQYl8w+XL9qrT93Akr0EfTKZkaGBm26MQTPsvh6T8YArifk1Lo7bHY+UANMIv0kz+vEJORRQPSjW0AZ1mxElfrGy4j5IxwhqoG6ylnGwaDbqmeiMy2nbvmdVEXtP0lf+cVgdnj377AmvJOr6HCnGV+v30uRVpJrTwWcxQm7lNmGnjJ/ZWyRVxDQlOZIDSLDZ1OflhGggLSJwlCtkEvwc0p6GavA+nbqIMoYzx4niM4dHPeL2CCdBg3hGYWKA0kvcfrRrMHIn7DZnYxdYbxx5xEwtgi+Y420sg0TfYRTyN+YVRhAg669T/1z2xy1oA1w9J1gbe4eRvMSVKcuwxgI6WCV1riIYpjdtHmj+aUottnfEkQYjilkv7ny2DaO7bMaYIsFIQBTgjEc6/7VG72F/ooYzpFJDfiEqtx+JPTlvF2nV4HOIEdIuRNUinVY+A1ZkCFoTAgrGGK3x0LQybvQkTB3GPJuMYeMeOasaZ8X1R75fMvJI/iaGbdtY9fuqAexznGdlPe4cCzQngsI0AfaLugW6ChrgN9J9zMUhMD5yDbk1ydUVXBsLhnnoevzYOQ2hgfsg1OBwS34IiiDqr547BAsVBznWOzsVzlaDP3HlQ3Ak3BLKicwqCVezcwDWJoWn9NNEDezmtW2uCTajKiV0H0v163VBDTk4RdqYEHAzkglc5q1hM0a44urvKVne3mKVXdsuULHnF2iKXWdayBVLmVY5El32ntNe0o2KTRPA046K1uNmDDpQUMeJzQs+crpvHkRNXW9q3ODBWVBkHjmul/0K1efIx6k=","layer_level":2},{"id":"f55883ae-cd6c-41d9-b991-691cdfc76aba","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技能执行资源管理","description":"skill-execution-resources","prompt":"系统说明技能执行过程中定时器资源的管理策略。详细描述_doSkill中setTimeout创建的timerId如何被存储于_timers对象中,并通过clear_timer方法统一清除。分析onDestroy与reset生命周期钩子中定时器清理的重要性,防止内存泄漏与跨战斗残留。结合FightEnd事件监听机制,解释战斗结束时自动清理的触发路径,并提供异常场景下(如节点销毁)的安全性检查实践。","parent_id":"b3e6a68c-2a28-4d13-95ba-937923884c64","order":3,"progress_status":"completed","dependent_files":"assets/script/game/hero/SkillConComp.ts","gmt_create":"2025-10-28T10:46:04+08:00","gmt_modified":"2025-10-28T11:34:05+08:00","raw_data":"WikiEncrypted:wnEcLfEm7rl0Xe6wL5nBzDfJHVO6AlZIbEFSNI1orYx/S9RH6Ujl0AXnG2CHyL+8CqQtbggrT5Siu2Q6ECdyBFeCpaXsYtcS/xptQHfI2zsPyxPDMD/qx6SHf7pVENKMNAxlVOTOK3fbO8c61amroXX6RHpEPiIBR9wYfHHWITmCexA2ZUiAhYVRUBhL/zGD0lstxR2aQvQl6G4o/2VXK60VmbieSI6OPE4Bo/loar11qC9n4mAAyNpwsr1PZGCNBX56ftNwBep7yNz5fx9FPwKlGCIspj++hz9hTF5ud+CamUFnOJNuyhdpOb1tp+tq1LUypfrjsdFURAyGuwzUaESmP7GWp9YErwULDiqq1VBOFZTuhZ2xbLwxm29ZFlKEOciWIdvlm1QDtdXqMFot9lV8D8WmrpA7WivM3a9PVX34GGEep4O6IULgKYtWNjcLJdra3p5XW8yCdG8/l9MH8ZKIeEjMtUYHDWBRVVVfYqDDJbIfZ3p5gNDm8KDMcic/r7X1hIO9lDCczPmhiZrnAXoCu56UL5XW8S8YffkxjLdxteIJPU1FqG7tolcKPdDvXnUCXRVJ1vKz0rOsi096gwxq5Vv+TnP2IFOKpiQ5j62LPBI38PCUJKKU/ADIyUlicAN2G8v4SUkQcRQUOBfJ3cvFEBUk6CiNftd5PBMuBldQfPy/ETTX2sSC832JiiOtFMD4y/HMf3IDQlyvrXDx6kW3EqiKjzMe7xjaw5JOsj5zBoNNIgr1X2FvmNEfCzCmIRI0+mTFJuCX3nkBKyLVPk7CE2joK/JyrjnoiNtl16/D7380jXN3hKZvwN251vCoTICm/ESpUg6pgyJJWpmA3UrbFOaqhiM/qvZfFLGY/66RG7IGLPs3vLiaT4ztMpQRGLKV+OEYEHKz35M92GvnJyIjUql2WkazCkXjM+o89ILrBNKB9Yd56otrcGiX2WiBNgwVJvrDu5ADpapJGdPfo9dZd9lD5fq3+1MxXZUnTaA=","layer_level":3},{"id":"be6e19ea-6111-47f1-8bc6-3b8cfc5ff5e3","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"光照效果实现","description":"lighting-effect-implementation","prompt":"详细描述light.ts文件中实现的光照效果机制,包括其作为遮罩层或后处理效果的潜在技术路径。分析如何通过灰度图或透明度渐变实现视野范围控制,支持肉鸽游戏中常见的‘迷雾探索’玩法。说明其与地图分块加载的联动逻辑,确保光照区域随玩家推进动态更新。探讨基于Shader或SpriteMask的实现方案选择,并提供性能对比与适配建议。展示如何扩展该模块以支持多光源叠加、动态阴影或区域高亮等高级视觉效果。","parent_id":"32e526fe-04d8-4bb5-97df-cd34d6b1015e","order":3,"progress_status":"completed","dependent_files":"assets/script/game/map/view/map/layer/light.ts","gmt_create":"2025-10-28T10:46:06+08:00","gmt_modified":"2025-10-28T11:33:50+08:00","raw_data":"WikiEncrypted:JBYfD5EI9InAwfx9L8FFzZgvds2K8reQu4DyOl1GIq7OAR6mJ/6FaBU8XHxGqPPk0TERKoNaCNUdE3rApwF6vKBkpDHTwD8o84Ny3+H5Vz4dFzy7qVRFTnF0Rt1YvVHxtt5FPQammj8waLy4nr13t6Iz4cnxpSWzn9XavWRXYaTqW2tyFXYSAXqc+xx8PhBZ43hVDtjya45Jv5WKJpQhMPqRN1ZQb71TKW0zQbpzCOIUDB/sGICJ08Ecd1rbRdF3nvdK08Nr+HCWV+Zx3eZEjUCHFm3fQxMs8kb8wcg1ruIuRZeid6UitZ57Dk5f/yvjil/V3CMQTdsPKmOTxNcQO5S+z1hult6T8ko4M0P2167AIX4qIx49+pwPl5KBp1nyfjdnvYFvkOZSoTcOIfo7QStjE67PakdJr1oJtDGD4CNAfazOeSnuMKjU+kYVygMAb1lgDxP9mluNmgIK0WQbQGoGOSj8sCcEXJ9CDhoWY9nKOIwC0+T1Op5hkZJGtSRWlwUjhpqqLOuq1I9p5+MIaVcep/bjnU/Ps2xZDfsBAfReOXuYQdigbMJ9fwRt/FgojVJfkgi68dPV1mbzRZdchhs4O015AAKhsQFrmuFI+AzDVdKQ63Sfq3X7O/wS4gDQi9HmUxsX4v0ThVEojEdchVKs8hRYk9eBQmGjUAkx4BN/QJXMhU25kjGpvz+h2UF6J6cFJkCW4851v2ThtDUWWNRI7TSVz7hiNZ8ICKgwS4ElZ9HqITZJM+yf/Q8LY4h1nOX34v+VZwy99Mk1KXHTEY70qBYy8O2AMGE0OHT6LlYRxNvLslQ2001zg6lC0ub1cQ+Vwn9poXKPSMA3lrWZXmY9XQNwMwgNCqYFKTvmPdiCcVvqFkHJSTHt9MLHUxU9i+m3cZv9AZ4Dw1epD1zr7oYqJu3Rcb6oeeb39pGI/IAoxe98WcpyN+yz7QlblF1AOgoeXPxpmMfDZKwGq9OQx1znQc1OB+xRfFS9x9jYFrm+KTrKyW7dQZsfETH1XhzcQmO/4xQqwRQwHgjdI4an5MwG+CKK1/quuxfaEFxuXlr5ulZnqyPNHbEXJRKeIeAEuY2eBhOeb1xvPbdio9XUYfHkrTyHZ9EhtuD8bPm9qerRTvSG97a+lMrnMLCHMspD","layer_level":3},{"id":"88d38228-dfcb-4ebe-a91c-af2b415594ed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"地图系统","description":"map-system","prompt":"详尽描述地图系统的架构与运行机制,包括关卡设计、怪物生成、战斗区域管理与视图渲染。基于GameMap.ts说明地图主控制器的职责,结合RogueConfig.ts解释随机关卡生成逻辑。分析Mon.ts中怪物实体的设计模式及其与英雄的交互方式。阐述MapModelComp.ts与MapViewComp.ts如何分离数据与表现层。结合map.json和map_delivery.json配置文件说明地图数据结构与关卡参数定义。提供实例说明如何添加新关卡、配置怪物波次及实现战斗区域判定。","order":4,"progress_status":"completed","dependent_files":"assets/script/game/map/GameMap.ts,assets/script/game/map/RogueConfig.ts,assets/script/game/hero/Mon.ts,assets/script/game/map/model/MapModelComp.ts,assets/script/game/map/view/MapViewComp.ts,assets/resources/config/map/map.json,assets/resources/config/map/map_delivery.json","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-30T16:45:34.3372605+08:00","raw_data":"WikiEncrypted:ItcMR44qaTwBeXCQ5miW4d3aeT35VNnDYDZ+n9ZNZ1TtDnWb1Mu/izhOTdWJOcAFAJbeiKdAiK+gXfI+vrECul7Q43k6awRXcIc0WgD/lJ5JpoBTjrn4ZiV1JuhV97g+zWv7Tvptn+6kvQh5IrmcDocAnGw7rC6GJ/WHRTDoCCg5+R8Z+vDkVnCYwJKAfJYZF8FNbdqmDozrKAiEJRb7N9ecpy2oGaGWjm6NBZAeO4P6g0bpyNwaRuYuGBlKDVbBv2nYiHDAzfr1pRpIIbNOyLUBDA+8IMPTedihY+IpFfbEii4S3IW3X1seiXPADd6ZahHLcotgbqtKj9pQ+FEpyYrdW/qfybEtPPZbY4OwoAFHujncIO40wu+JNFCzeE+RTew/voFV6f7ijwyDKuNI8lNENDqzU+cMrZ8yqIpM6oSl4+JmXcn82lnxdwErvVk2SHGUs20DHsoyJubMxzbtE/T1xg+XbXGRshgGdE7a+k0082nkS2YDRT7aqNffaUuIRhXDhyPQK4eozFEROGyMs1/KDt1RCpsGAm50A16XHsf6XIqTGWyuKJRE1gVpi/PGn2H+cbBjDWH6+vDC4qwgyQf/4dDq0Zjz+ThlB0Eh5q0Kz7zxLt+GnbLQliS5U5fPuTNZZfgC2RhERwk7KQY7p4t8bwz96iN6fH3Pses6ZrQYb4UkeiMMyCL6gCaf55B0Zray3jVIiL1ga+aGyMecRqY/xtjF32Hm8XXD6NyqAuUtJJTjYcFiJbQ8aysMcmHiOnN3T/28nGYA4iDrVsRVpsqx3oZtlZj4KyOFYrlSZI2QAEfO6dIJM7ytjBu220eGbyH/bafyf1m82lLQdAEQTDlqLnen1eOPaZZor7JZErixI/M0gHE8ycnzZmF/yXBupNIqs3NySWNpt1+qzadzeTDrudIWAsJujyvUP0cVHYBLk9o1B9BtlkGuKuOjYSH3S972yAf25N3GuzvYA/ja9LLKtEZkZb+xfqBY4TKNQzKCNr2X8QxUDG1W+XcuUenvFkbKuP2KRnAXA8FJdz3f+iwny6r703dENVLSyPHdza39cwSNgpaGyzDOAoHaaA5BCWgNP74pW+cetqgnhXGMWfZ5256htcewVkuexEQIayyv45i4O4tm8nkIcGauKUGOH4pks5BOHN9PjC08H72lyoC7ZGU4W2AIapO2e7a7tQg+ERsykYmg1ko1k0Kv0sD/VSdKWgOvvOobM96yk+hMzBnCunSWh3xCJkR2rro5zLacnio80ZeYof8fc5ZIQORWHohg8ogqX5rxkzpiv+QTM8cfiRyZKyozmqq6mWWp0bjbwphS9KeXd5FqfX/6ao43WFbPaSonj4rEfRHp8r5pvx+PelAKuSWaIdueuhA31XTiqc1kA4aHZvobOEnm4N8u3K7i4KYpeFgqM24HaTwXajbRRGNjeJYig5S29Qzxdyg="},{"id":"e1ed0d23-979f-4fa4-8d5a-3b26e18254fa","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"技能图标组件","description":"ui-skill-icon","prompt":"详细撰写SIconCompComp.ts实现的技能图标组件功能,说明其如何通过update_data方法接收技能UUID并加载对应图标资源。描述组件从SkillSet配置中获取技能路径(path),并通过oops.res.get动态加载SpriteFrame的过程。分析该组件与资源管理系统集成方式,以及Sprite组件的纹理更新机制。解释reset方法中的节点销毁逻辑及其与ECS系统组件生命周期的关联,提供该通用图标组件在不同UI上下文中的复用示例。","parent_id":"f5dca18a-ebd3-4d00-8e0a-319d82f88755","order":4,"progress_status":"completed","dependent_files":"assets/script/game/map/SIconComp.ts","gmt_create":"2025-10-28T10:44:21+08:00","gmt_modified":"2025-10-28T11:16:45+08:00","raw_data":"WikiEncrypted:EPsGl3tAucLcCY0aoNKUXxykQBo92opp742CjXfFcjcHziVns+goco3qrkpnsvBLMbJghUs2X5vHK5f+x68hfgf0h6OvjOAltAcRWzhm/0ZpuFmy3QVrgoDwJqSJgfSGIrH0bYda1YXTjXjMXcvXojfYWsGhKsBO3SNlB5IdfVs6HWeas7ufh2p3aJjsFwNwF4O1c1N9YBFqQbyy5muPt96zz4xFq1p0Ov+VniovqWAa4tc3GSXWL7+EbocT83I788s7KrQq0ZDppMjlGnX0tOz7n4qnPLVA++aQKCUUECi/qJX/n2WUL4mnR9N0aeY5+9XBuwzHmBP4U3tpqTg0o3SkaDkbMk6A6+8DRJAU4bwt4DBsqIzE3gURw86uvOYE8PbXCLti19B53LyAg9D1h/cgXbm5XdonN7Tz9THZT/85Y355rqMrQNyJM9XFCNHwoYb3A2mwfIOMDAjFCq4182muksdUeX7rYaC/b/l9WgWm0eUTeKSj3O4XHm4hGtDHC3mDn3lkuxH2cY6E25upD0k7ku9nB89KoIRkxONc/wDRd704lyIw6XqmpCyfz4mNYnvxuLcEdJ5AowX16Tu84IxksAc/fffRYxkgs1EZJjK45xkTyp46uCj3WMmrPYJgHZRtLL2B1OBY2eKu0JzhdawNvsy5oTNRNSu5bx9zXA6eZYnVEXLHuyFvD8nAIVoNHbmPVPJ84DoUYrZOjZjWL6T5STbLCWQTg/ehTbPSOJgoCPS84FmxGxpxa+8SKIrH20GTurXXD5a87FmGb+dCbgNZvKJr+XUOAHV9q2a6FekcVgI+4yxYiPUA716oVSASlveuOkZqSTcfiYRQvu1mYXcU9BVkHPKulggv9tgjE+RY97gnHEBa5CePldgyzFqoK325E2vy07iBXrgrV5h9sTAKsIJuaqV6L108hIpJFAB9evHajn2hIKO01M6r7w8wtDsVQqjVCFF3HLkjLqkDNkBtSZo1f5B3s69xAastnZO4DHS7kx05E15E20m0iT6zvNGfqVeLtRhXckMLKk0TAomXDOkRNDIY1yx6Cn8lMOO2Xg9Qhi+GAuf2+Opu/XZKAeERuSY/8H7ufjDB1B8hjd4iZ9sVfLZufSak2mGPBmU=","layer_level":1},{"id":"f15eadd4-51e9-462f-a439-a150c3d3a82d","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"奖励系统","description":"reward-system","prompt":"系统性地文档化奖励系统的实现逻辑,聚焦于三选一奖励机制、属性提升、技能升级与任务完成反馈。基于Mission.ts和Tasks.ts说明任务配置结构与奖励类型定义。分析MissionComp.ts作为奖励面板控制器的工作流程,以及MissionHeroComp.ts、MissionMonComp.ts、MissionHomeComp.ts如何分别处理不同类型的奖励触发条件。解释玩家在战斗胜利后如何进入奖励选择界面,并展示选项生成算法与数据绑定过程。提供实际代码示例说明如何扩展新的奖励类型或调整奖励权重。","order":5,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Mission.ts,assets/script/game/common/config/Tasks.ts,assets/script/game/map/MissionComp.ts,assets/script/game/map/MissionHeroComp.ts,assets/script/game/map/MissionMonComp.ts,assets/script/game/map/MissionHomeComp.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-30T16:41:05.5224531+08:00","raw_data":"WikiEncrypted:O4flrEwQjo4XmpjZTF673fYM66tfmzxG5vZkd0wMNkHyBs3Gm7dyrckQG/VtuXVDxEB2NSiR0PgrlKzv1A5YQyHIivZqBMf+je0oYZREYHKk+Fe4Npn138gFj98P+xSs0ylbkvI+0fkWjV5AWRI/MkQLbh8T5nfCTVcY4x8+XIBXGgAaBQlobCaYSRhCYvyqHutzfUjCGe3GznsajxnFZCusvwy0E8ihGKd7+Cm9icc+XayWuzETfr4Vi9/CnG1DljOjRe+l6/d+Dj+8BR7j0ZS5mQ8iLEzZWAcJWJsKPDzpn0FekIbwcVhBHzRlWoSawIxdorlyrJLP/hHwgjQ+Qw2mJ3uEBn3U4Cr+Ba3VxussGnk0rU1QdBuVtUky6jKdM3OpLRDrLVaopIVDaiF8iPaVhxfWYe1KZRXjkBQ2w6CiRFlEC8jRSF7OfDGWIyS447Yt3BmrdjcCujkt5d4kp2YdnxXhJEMBOf15cRi17NppO1TN0BwauLdtUmQhp6eUNhHMG3LrYLSN3VOb2To0Z0YCi8dYa7/7QsLJl6FFxEw5RqCwJFvZmkwQdckmyMvIS5D/6UDd2KN6wKeNnMNNr8P/XmD+jLkVk4Bw86FQbEwY3ha5yjtS6OAg6yO/3XNRwquvGxbmCZqsS78uexfSPDIJQNSwSXGRLDAh7mwrjtO2MtMC0o+Lm9U7uG4ynGCGKKdOS7xIovInQGMRU+H6DM3k3NKt/Wh+ytSYfMuEOxo9Pa9J99LGwyBBe1+K/2EBsHfoqIqYpl729BhsPg9HpGdQpJflDevUe60Brolb8DdUhZZ7bFY4Tc7royzNnIeOuXCx8rpaXwNjP9RT6dlFgrftN9+xXiUYUAWze8GtXgbFPFLWKwtvtvr6+NQNw9EQpLkwoPhfKHJa+jBAY117U3L+6+8ww1de7FtibuObmtQHxV0OmD/U+86dDYbipQjlXHdNnEL1mqu3ObBSfcKUkR1Xm1k91h0V76wvdKG5z09YuJTsD245qr288QRQpkGWt+FfWv8J9iiPEsuYfIKQsTznghDUf914vHKWJE+nX0+1/aiiVWEY2jJlE7piqionHxVgmnUQaIMUs8c9mGmooJKebahN1gxmL4PysSW1zOFmYkAXeGfubAeW6pGPQa9gkej+Wg/QebqmClSKuBE5b/Q+YeIiZtGRRzWgecIMZU1BzKBMJHPbTYBDTIFDDcNB9hTEra+n+jo47+VJUXGkK1rY1FfsDHaoFd9bl9nX9qqQhRXbPryFmB186kQ7hwx/LbWRp2+Q1AfQD0zytpuMUFxD2lXTXXF4YzMt+zZX1KqKdFsUwYtsbVDMokH0gHfgLKPpTbRuvBbLRZyTxhMqPFs16mLxXlPUmnY0FQlqaZfuX5X0sKKs+Wxon2CcQvX75oGfseX5IqpSOrXMcw10xI5F7kxod9CtOaFhregKZ5B9JXec61jY79nLzyiZErUJ"},{"id":"f5dca18a-ebd3-4d00-8e0a-319d82f88755","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"用户界面系统","description":"ui-system","prompt":"详细撰写UI系统的组成与实现方式,涵盖界面布局、组件职责与交互逻辑。基于GameUIConfig.ts说明UI层级结构与预制体路径配置。分析HInfoComp.ts(英雄信息面板)、MInfoComp.ts(怪物信息)、TopComp.ts(顶部状态栏)、VictoryComp.ts(胜利界面)和SIconComp.ts(技能图标)的功能实现。描述这些UI组件如何通过MVVM框架与数据模型绑定,并响应游戏事件自动更新。提供使用示例说明如何注册新UI界面、处理按钮点击事件及实现动态数据刷新。","order":6,"progress_status":"completed","dependent_files":"assets/script/game/common/config/GameUIConfig.ts,assets/script/game/map/HInfoComp.ts,assets/script/game/map/MInfoComp.ts,assets/script/game/map/TopComp.ts,assets/script/game/map/VictoryComp.ts,assets/script/game/map/SIconComp.ts","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:50:14+08:00","raw_data":"WikiEncrypted:u+iP1rYyxI1hXGGlXR80A40xaEGJmHDTZd8hZYOXXIpyM7BRObYvpYFDJY1BczIvv2ETJIQLXd5grPlfKKk91b1nAsrHdhKTL3aivELy+rTgn5mRI8Ufafo84rzHhHxl5qyXxshdZEaqvQIIG1bDG3xJev79wpj8M3MzKzSZLZDWWohCfWDWveivBpMK8emQJ64zuUgvZ3pyQ9BJxI+mbVpaTrtaezqm+NP73ZL3vH9CE4FUZKXsXyf0vIsKwIcwTkHuSmvtA86ZEZFOzaPvm/7nWDhSGgLJXj5brOWmMhDSVSsDm6ntWhgMyvuOQYZmk+6Psk+GGbtXMeD555KWgxYj0uTFrboF4YmehAfy5+dx+4ehp3TDCnuoFBVddC8nbrCtcVpghn2KjnKvoaf+BR8jBY8lw5V+zSTtKIBPL3EgEEsg3HmbdME7UwUbzf3Dn4X3zfB7buZ/tMzKlc6BXLZaC8OsIMP6bkVoMkp7VhXWy/a1djOFnKO0GyNTKbikv8/xio0nTiE1lK3y1TjA0TftcbW6W2xU1dV1IMbbgxFbhQ9cZ0nUE1vaFuqcGrxXPOZcyNkhV1GUV0rtg9qU19zpSuUdDc4IOIbywAGWiAMEd7iW2VpqYwiAHRW0xLyIJqLJ/jC405fyKrZYsewOeBDHaR/QBJDIF1Bld6kjUpNFaXnbJpab6kML99n5h2HOmvHcJMOrA0MJqwMMn02JWRZN4JHxzOruHMEkV7RP5Yzjpi+GBCl1dnqmPcgLjZIJV0WZ1rMkD3oH5t6sk17PvNuITxbQBdC5OeKqg0WRysNmcqMkD2wOr6cMDZhWGCOSFGKOuZs1lHKwpAZAyqob+Ohu0eZ7tsFJBbrAw0GmlMfvpF4E2U3mZJ66PadYm736ijNXXjKUVnAioCXsoSf5DDMzieG5oSB5e8kU1VaVP0TkCse2KoE8YiWHprKD+9ERcRZIO6GPdIl5pd/j9CiV7o+EaYKY6f7Di4kb9mo8q794bGzrRnbT86vJ4XekTXKeuWMU1OhKA7+P9NfrfPL7KiHZkyNRDwnR7NAh13Reeinut+L/wI9Whv0YQFoiKqFgmDsREVMhDZjZsBUiURYiHo/bcsCsNZVI9G9UwhVo1SpPeFt0voBfpHZgKZYrcTBfLd5PwQL5CRqtdpH74do460tEFrslPIkBFB1LO12Upw3Tzrm4cVhdW6qC0LOGRsrzcqKOHKyV7gQcoK21TZaE0uGcbeqUBNb1Jv7HAmA5OaOT8pwrxW+asabF+7r+uap5Ig141WIpRzjFx1UVNcrxoamII8/reh3aA8O2EkSs/cdLu7Bu3+t8z9YtRMTrc0OyjV9Se99tlAwzq8btB4iAUUfOg4e0xv5TrGP032rLsAU="},{"id":"68f63862-f52e-46a7-8d5d-10c42528b4b5","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"数据管理","description":"data-management","prompt":"创建关于数据管理机制的完整文档,涵盖本地配置、多语言支持与微信云同步功能。基于WxCloudApi.ts详细说明与微信云开发的集成方式,包括用户数据上传、下载与冲突处理策略。分析index.js云函数的部署结构与接口定义。解释config.json中全局配置项的作用及其加载时机。结合en.json和zh.json说明多语言系统的实现机制与文本替换流程。提供代码示例展示如何调用云API同步进度、切换语言包及管理本地配置文件。","order":7,"progress_status":"completed","dependent_files":"assets/script/game/wx_clound_client_api/WxCloudApi.ts,build-templates/wechatgame/cloud_functions/cocos_cloud/index.js,assets/resources/config.json,assets/resources/language\\json/en.json,assets/resources/language\\json/zh.json","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:51:21+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFt0U+w1/T0i/lwh3wGz2PLUHAx4M4eJkWsmBaoSnB0f4eBch3IRsby5n7oDX1b+WKRWwcJ/ch77kCihLJQdGf3Lb6FqNGI+w6DMuJGiDHdPJx1mAMxp1XPP1vsEdMXnB4qZzat48uQC/rCIDBz1H6b5G6Jl9AULypCnsiwOHrgQovvL7PuaZNZHFgR/gL3I7JBwOowAVvpXjgn80mBL1KtnHENCRIOdqWre7d2eS7rmg0wrOsS4CnzYj3xS4Q9cJ0lUNC97vQlqIWJ8UBmozNjh5VdQ98voby6ObTTsDrxnVos4XBNV4Ai+gpk3WWROxucQdfiYagDLeROVjZwYtIEWLfj3UX2msXfSoq3WF0Bc1lsckqt/o7k3Tk4y7/Te2aztstfbtLA+ItHxcnkXso2ZOlWDlHnjQAl3rdN67IZ6mA6mEHzIXZEJo7xVYwxdmCdH03IXl4Ms2yixhGoGlPzGbA17pTr9t++d4tabb5yrw6W2jaQ8R9jf3TdaqmvmhRV+HdNQV/IYtgIEdSGeJaf5/C8t0wwIURZoFXepAveNX2eX5UpKBqTDkCXIKVm3q5A7jYNe1CgvNzy0V3QoDukY0Vm/fh+9P+yL1csAUWu7gbQHXbcVDaRH6xSu5Jabr2JTmr3ekgpcVdlaNdxgnM0cgxcfHuwuOQ7+DIMUhhHmUf5/P5yUUUdWrtawVg6j4Q+rDV22k00Rxmz427jFPG7/RpBbp/erdSKhgeeP6vbZ3KJZ1jt03zdU3E9OwBb0YZ1jpKnQf75vAlr0VmpNagYKGX2T8tkPrfmqnV5h1wXaDPAtfYhhjndGAeDUFGSmKZR08betmvbE0nY35nNOf7X92TdR82GxUgMCbRIiRe7C6F5y98tYwlqxlKsk+pose3Mb4/HO4XSaSHleNs+t098BdglMWvezUckmWXOZlzhTXmlbe/BIRugjFbTTAMW3lh81wntGnfDNKBZMUjGb/nzXBl7yx/YwqJn5Q1UMTfPV0uepeSNu2iNdYOmZHo+cQWRLclFudJ1ovbEoUAlwbxPp41p5hnWRQcIGJEow7GS9j80BxAvEzH0IofN07ts2/ERYBDWMN8CURH6+1zlI/0SFhMQ6gOAJ6K9MmmRRFoIPlruyxJlOMJLKq2Ww3TouCRWpUinbxplImTHo5draB4Tcs+sPSnQ1JCekumSuTFolksnCkUaT479Yve0H52+1ZZNHOLZSre9Hh34iIyf7AlKHBFNr7/IGCri5u/2GsWWGn1aQU5sKOiyfj+Bb+k+Wdv87QH/orHBFY50gf/pM2i/kxDFwNQMTe3C83Ly5eRY3vPiuVIzAGxxvkghzNBVT3IuQ=="},{"id":"bfba08d7-04fe-40b8-932a-b9abb2d2b465","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"辅助系统","description":"auxiliary-systems","prompt":"全面记录辅助系统的实现内容,包括新手引导、日志输出与音效管理。基于Guide.ts说明引导流程的配置结构,结合GuideConComp.ts和GuideSetpComp.ts解释引导步骤的执行逻辑与UI高亮机制。引用log.md文档化调试日志的输出规范与等级控制。结合audio.md说明音效资源的加载与播放策略。提供实际案例展示如何添加新的引导步骤、启用调试日志或控制背景音乐开关。","order":8,"progress_status":"completed","dependent_files":"assets/script/game/common/config/Guide.ts,assets/script/game/map/GuideConComp.ts,assets/script/game/map/GuideSetpComp.ts,doc/core/common/audio.md,doc/core/common/log.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:51:07+08:00","raw_data":"WikiEncrypted:m2kIapzkdlNhlQPV5E5ri89L9gTLH2lzoSA6ukvEoyUuzXdK337XuPzjJoQxZfWZHXmB4wlFTtQrbSBZEwlf1owPTj+2LkahPD9bbGG6EYwbL4LvrI2rdSTIZhzphncA0TXDnRz+yUKHdZhI6YJ8L/l0tb7R+C31h9kMlmwaSH71jz38FCvPGw8em7ZrvD5zy9bsYz9F+4ZugQ5lTKAL+3OoDKLjepChGr5sk4tCVzqEc6mYMoWQXrAVcapBM1BGxkB4Yzlvi6cO+J+T6i/rbtGEs23KtZ94TD+S0lv+4fLBCSiW7LyjsgcKwYhtehJVPE6wgMkF1yz9Cyrra5DqmA19ULZ4SzxZRxVqAI/Jhz0pxP5pQIa1ks32yXDsq15cj8mjOXfk8eAp8ytYkjGPpsQEgUti0R1yZcEpGpFBJincHApGSR4fQRL0uah05OEihvqS6hHUMDeU1wYz6aIffRflJ28W3wI05MZNqNgSRowTgBJIhWlpDpRM8IGTb3ZwkqgEaEhPP56BTyhc/WNs5ir6VxfRpXjfr+2xUCda4BVsSO5MX6GruzGUlv8lWVwhWhX8J9j9jjGW2UfCB4zlPq8ApxHe52U6Az/pWnC4oxKk8aFEgrRrMogPcT/DPCOZvjqG03Sb51aRvtON5ij76xxX5aYX1KwCTXH38W9yEIUxLe1xIOw0JJveibQUJBol1gxCIfMzJ/j84dnTfq6PIPWYE9ym/dfsVESiwhXw2CkZo89VlHVfAFCgh8pdhg81V+NmK3I9uhSYpQT/nX+HNty8oTQ7ACj5gVU4zfZBfpsV5TJCGa7W71MvjyoOZUyWOLowg0X9FYcVqIZvGHIgEUk18/4gDHE674wtPV/wzPRP9MxlPb8hbzVwSBI8jSN5jfD4KGvQVuXwSZTmzN7xdz3n0DovTeWos+1sRmvXFSTgjaYITXkgD60unHkMgeW7QNQrc1LK7mJmanm4BId6GgO2KMzPkhUbqrMXrgftMaI/ZA/Xt62wtMzykQOFxYVd9EAoiJ42Aa7gqgJnv+DT1grXsjL3AHcQw25iHh7Mt0klDcEf7MHV6F5x3lyhQyOC0x9gqzKIET7R2KXXmYfWEYqpOhI7M2bCnIgM/Tr15/k8JOJgOK/0EPjEYboIrY6US2WNzq9PjapeJmM2TvvzqK3A25IbWsPWo1pGXTJ51Wo="},{"id":"c267f1c2-16e4-4799-9ec1-21d5b513159f","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"开发指南","description":"development-guide","prompt":"编写面向开发者的实用指南,涵盖环境搭建、代码规范、调试技巧与项目维护流程。基于README.md和using.md提供详细的开发环境配置步骤,包括Cocos Creator版本要求、TypeScript编译设置与微信开发者工具集成。说明tsconfig.json和package.json中的关键配置项含义。介绍cankao.md中提供的参考信息用途及todo.md中的待办事项管理方式。提供常见问题解决方案,如构建失败、云函数部署错误、UI绑定异常等,并给出性能优化建议。","order":9,"progress_status":"completed","dependent_files":"README.md,doc/using.md,tsconfig.json,package.json,assets/script/cankao.md,assets/script/todo.md","gmt_create":"2025-10-28T10:42:55+08:00","gmt_modified":"2025-10-28T10:51:20+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C/ucQxiwh0okVA48AmODs5RKNS8ZgNngqmnHSFcG/1UaJxx+3dUn+EkMTpYUsOg40j//dDWLE86TZIbLFaoR3kRSYxjR/nS1Yqfv9O6sa0Bsdz+Wpr97jDfBlxXN4DpwtUrk9LpaZWebJ9zJDK7OrhblTxl6C1Hys9McQJcyfOWOiDyDxx2ZathrB/UMio8i1WSyzdlPvgeYyUJX++6s8h4y2rhDSB+hSLcbz0I3OvB5Et5kWJrLH1vohuPgoldpgfF4ol4Fiiumh5jN6z+Mh6RHTqMZn3/0NCPR2q9YVajGEvENlJpSnaS+MZbmsJkE7u1mBiQtH/0Dp6ViPlPmLWzZrMmIL9vGAY9CEXFW7mUnx0TuM1qd2JgjSaaea56OfDSnJ7ISIIOQL7pKy3e4QMDVJZSyWcqEWchXQRx/Inow+Q2xaHC75H53nSVLIpEL5C2p3DOGfMSOwnRhCcbriAkPSvNDs1V1rI94ze8WmLq8B6oZ9SnGn093Cib67iSJNUPk/0RR5pSUemxExES3Mwev4UveiguVbcd8eawSg7izJo+72lhTUdHFPeG72ePuYY4yxAsEDzDa8VfSeRR8VnCfs71kWPC6c3kKRCft7hkPGmdno/W+H4J1oGoYA3ANUveBMZVSkV5vHDSXx/4VWqKAyUNMus9ap4/sUpDpDSeXpayVgrNqT055HMQx3ONHmEQkG60EQG42TOLikxUIde/KdAeotR2dkkoRHqxr+WMx8oGl/3pDPmk5TAQi5oxUapACW2VDzHHbuT3KxKx7QUrf52kzlv0fEp/lnxhH5n45bU3pPxstUTDkF1E8zmNx7tBG7vIuLPSSQf1nF1GC8uHZ5kCZlNy8BFm9AevCsZooRlAbs4rcmIIpX3fsDDBTpb25aFOijOQyhP6kiD9YN/CDZxKxPWJtVr7JUFmtUKdP0oMjs30XD9TImXdvVB02wD8P4zhpY7cV7O1PsKBiqQC0Wb8lOfE8ZBSTiNKloxbUHukKqvqDMmayc/QRclkaXenagYD7Ff9Mr0o6s7KC9+Y8Iri6jfgGFlkV/O+dWm6wQYIhAMfKn+2pmRAwhlpTFtlU7lsih0zN7wrrzQyjGYRhx1Jqp73AbK2Wx6bh/XHnws2VsHaKQDDG+u6KGR5nqQ=="}],"wiki_items":[{"catalog_id":"62812447-89a4-4ba5-b3f0-726d2f18e66d","title":"核心系统","description":"core-systems","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"23e04a3f-9763-4bd6-9b1b-658132d36d43","gmt_create":"2025-10-28T10:47:19+08:00","gmt_modified":"2025-10-30T16:47:40.2180881+08:00"},{"catalog_id":"f6dc7290-2493-4074-853a-f9e7cac31c15","title":"技术架构","description":"architecture","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"0e66a278-285d-4059-8076-7c98825e8f81","gmt_create":"2025-10-28T10:47:40+08:00","gmt_modified":"2025-10-30T16:48:13.1688556+08:00"},{"catalog_id":"fe162597-96e9-4984-a1b2-6fdd225b6d6b","title":"项目概述","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"b7eb11da-4177-403e-a1d3-ab9761e3b537","gmt_create":"2025-10-28T10:48:06+08:00","gmt_modified":"2025-10-28T10:48:06+08:00"},{"catalog_id":"fc93744e-2843-46f9-9dd8-aa6e073760c4","title":"英雄系统","description":"hero-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"a3ba99f1-c94f-4d5e-a43d-48b0516d6765","gmt_create":"2025-10-28T10:48:46+08:00","gmt_modified":"2025-10-30T16:45:48.7283193+08:00"},{"catalog_id":"88d38228-dfcb-4ebe-a91c-af2b415594ed","title":"地图系统","description":"map-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"2e5ab50b-9768-4b7e-b5de-795375145321","gmt_create":"2025-10-28T10:49:50+08:00","gmt_modified":"2025-10-30T16:45:34.3383893+08:00"},{"catalog_id":"f15eadd4-51e9-462f-a439-a150c3d3a82d","title":"奖励系统","description":"reward-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"83938d68-f638-442d-9689-b2b22f1ab4ef","gmt_create":"2025-10-28T10:49:56+08:00","gmt_modified":"2025-10-30T16:41:05.5235541+08:00"},{"catalog_id":"f5dca18a-ebd3-4d00-8e0a-319d82f88755","title":"用户界面系统","description":"ui-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"ce758bd8-63d4-4310-970a-f114806cf58f","gmt_create":"2025-10-28T10:50:14+08:00","gmt_modified":"2025-10-28T10:50:14+08:00"},{"catalog_id":"bfba08d7-04fe-40b8-932a-b9abb2d2b465","title":"辅助系统","description":"auxiliary-systems","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"f5ce2e23-02b8-4fab-919d-f9da054816e7","gmt_create":"2025-10-28T10:51:07+08:00","gmt_modified":"2025-10-28T10:51:07+08:00"},{"catalog_id":"c267f1c2-16e4-4799-9ec1-21d5b513159f","title":"开发指南","description":"development-guide","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"74b17efe-b81a-44d2-a739-f8e4c28d1a1b","gmt_create":"2025-10-28T10:51:20+08:00","gmt_modified":"2025-10-28T10:51:20+08:00"},{"catalog_id":"68f63862-f52e-46a7-8d5d-10c42528b4b5","title":"数据管理","description":"data-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"74c2a01d-9c65-4b00-9f68-1f26c774b502","gmt_create":"2025-10-28T10:51:21+08:00","gmt_modified":"2025-10-28T10:51:21+08:00"},{"catalog_id":"64277953-17f9-4b45-9f1d-2915c07eb5c7","title":"ECS架构","description":"ecs-architecture","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"cc0c86b1-1cf5-45ab-ad4d-05f51a4b9771","gmt_create":"2025-10-28T10:52:32+08:00","gmt_modified":"2025-10-30T16:49:01.5817289+08:00"},{"catalog_id":"40ec1d14-91fd-4271-af74-7d0366c86e60","title":"初始化系统","description":"core-initialization","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"2b096814-9e22-4e4f-ba2f-ffa793d054f2","gmt_create":"2025-10-28T10:52:34+08:00","gmt_modified":"2025-10-28T10:52:34+08:00"},{"catalog_id":"3bf8d592-27e7-4cb2-bb1a-aaae7f546b6c","title":"地图模型","description":"map-model","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"a7f7f4f6-d1fc-4e6a-8105-3a797613c8df","gmt_create":"2025-10-28T10:53:51+08:00","gmt_modified":"2025-10-28T10:53:51+08:00"},{"catalog_id":"70874bfa-22e4-4a24-97db-5a38fddfa45d","title":"英雄信息面板","description":"ui-hero-info","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"68c7aa0d-0239-4a0a-bb01-23a314c4d907","gmt_create":"2025-10-28T10:55:04+08:00","gmt_modified":"2025-10-28T10:55:04+08:00"},{"catalog_id":"a4372bc1-4d40-400b-b813-888406c1a013","title":"新手引导系统","description":"guidance-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"d0ae006a-5d7b-4dd6-b8cf-45e95517f49e","gmt_create":"2025-10-28T10:56:16+08:00","gmt_modified":"2025-10-28T10:56:16+08:00"},{"catalog_id":"c5802c4a-5c0e-4085-b249-749a6e0ea365","title":"云数据同步","description":"cloud-synchronization","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"b05b4ba4-f89f-45bc-8f51-10f616f331d6","gmt_create":"2025-10-28T10:57:19+08:00","gmt_modified":"2025-10-28T10:57:19+08:00"},{"catalog_id":"82b9c194-af72-44de-8e54-b1d691e75e76","title":"英雄属性系统","description":"hero-attributes","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"f2ba0a19-1588-40a5-bb7e-c52e401aafe3","gmt_create":"2025-10-28T10:58:47+08:00","gmt_modified":"2025-10-30T16:40:05.0617108+08:00"},{"catalog_id":"3c73f2a7-b666-42fe-8ece-180d6c94c638","title":"奖励机制","description":"reward-mechanism","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"847d4322-aeb0-4eb5-b967-e8daf11aeb55","gmt_create":"2025-10-28T10:59:30+08:00","gmt_modified":"2025-10-30T16:42:07.3515332+08:00"},{"catalog_id":"3524c486-161e-422c-aaa1-083683e062a1","title":"MVVM框架","description":"mvvm-framework","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"94855266-5c69-40a4-912a-fe3eb04b1c50","gmt_create":"2025-10-28T11:00:30+08:00","gmt_modified":"2025-10-28T11:00:30+08:00"},{"catalog_id":"36198628-bc0a-4ae6-bb5f-57d7f722a857","title":"奖励配置","description":"reward-configuration","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"0a2188f6-c5a2-4ebe-ac6d-b0a1e4c90502","gmt_create":"2025-10-28T11:00:55+08:00","gmt_modified":"2025-10-28T11:00:55+08:00"},{"catalog_id":"98d42484-aac4-4ca6-8cf1-c383d36776bf","title":"怪物信息显示","description":"ui-monster-info","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"0753c0f6-8ca3-4750-987c-a7e9c4e98fa5","gmt_create":"2025-10-28T11:05:49+08:00","gmt_modified":"2025-10-28T11:05:49+08:00"},{"catalog_id":"5d74a05a-aa61-401a-81d8-45684ab872ac","title":"事件系统","description":"core-event-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"c4d8e596-e76b-435a-90ed-1d5ccaf9e1b6","gmt_create":"2025-10-28T11:06:03+08:00","gmt_modified":"2025-10-28T11:06:03+08:00"},{"catalog_id":"7c0ffe75-49f3-41b0-ba9d-a01b4be067b0","title":"地图视图","description":"map-view","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"9b98417e-b959-41b8-9b33-3f09a3c6e7f8","gmt_create":"2025-10-28T11:06:45+08:00","gmt_modified":"2025-10-28T11:06:45+08:00"},{"catalog_id":"3d3906cf-9f72-4063-8105-938ea82da3ff","title":"日志输出系统","description":"logging-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"d8018a0c-35da-4399-ade0-344c6546c1e1","gmt_create":"2025-10-28T11:07:30+08:00","gmt_modified":"2025-10-28T11:07:30+08:00"},{"catalog_id":"cb18d21b-a7c7-49f4-9ff9-cb4436a791c9","title":"本地存储管理","description":"local-storage","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"c42becd1-1e7c-48a4-a491-d88e6b9415e7","gmt_create":"2025-10-28T11:08:11+08:00","gmt_modified":"2025-10-28T11:08:11+08:00"},{"catalog_id":"b2f8982f-9b6b-4008-af8c-e4882d693f21","title":"天赋系统","description":"hero-talent-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"f4fa5914-740e-43dc-9cf2-03554306dc4c","gmt_create":"2025-10-28T11:08:12+08:00","gmt_modified":"2025-10-28T11:08:12+08:00"},{"catalog_id":"a621e278-fa89-41e9-9ce8-0fcc89b8d183","title":"单例模式管理","description":"singleton-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"98a38727-18e0-4c33-a612-042cebaea3a7","gmt_create":"2025-10-28T11:08:41+08:00","gmt_modified":"2025-10-28T11:08:41+08:00"},{"catalog_id":"2cb09822-01ba-4a46-82e5-974c0c1a048e","title":"奖励UI交互","description":"reward-ui-interaction","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"81635847-07a0-4147-8939-28660fcba5e3","gmt_create":"2025-10-28T11:09:20+08:00","gmt_modified":"2025-10-29T16:47:38+08:00"},{"catalog_id":"8893cb65-a4b7-4394-84ec-adbf3e5d2136","title":"顶部状态栏","description":"ui-top-bar","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"0edfc1fa-7664-450e-8df9-4716551f66fc","gmt_create":"2025-10-28T11:10:01+08:00","gmt_modified":"2025-10-28T11:10:01+08:00"},{"catalog_id":"49dd1c8b-dd0c-4d68-867c-8139a500d315","title":"肉鸽关卡配置","description":"rogue-config","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"35a0056f-ca34-4010-9719-96a9e982d541","gmt_create":"2025-10-28T11:10:11+08:00","gmt_modified":"2025-10-30T16:46:15.7680891+08:00"},{"catalog_id":"2879d0ab-5300-4ab8-93bc-c203dc30809c","title":"资源加载系统","description":"core-resource-loading","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"1e49cc29-13f2-4505-8e98-f8ffc8ba1154","gmt_create":"2025-10-28T11:10:49+08:00","gmt_modified":"2025-10-28T11:10:49+08:00"},{"catalog_id":"54fe2876-9125-4582-bce7-91f9ce34ae6e","title":"配置管理","description":"configuration-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"d55f9500-10d9-4ceb-9553-3383374f2411","gmt_create":"2025-10-28T11:11:11+08:00","gmt_modified":"2025-10-28T11:11:11+08:00"},{"catalog_id":"3abebac8-a8f1-4ffe-a319-eb8b5faa62cd","title":"增益/减益状态系统","description":"hero-buff-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"e2e767a1-827c-4cf8-914f-9945b9da5ec0","gmt_create":"2025-10-28T11:12:08+08:00","gmt_modified":"2025-10-28T11:12:08+08:00"},{"catalog_id":"6cee1ecc-c172-4a92-9458-85f4b8954d93","title":"怪物系统","description":"monster-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"bfdd9c51-b06e-4df6-860b-c2ede4ae7c7f","gmt_create":"2025-10-28T11:13:06+08:00","gmt_modified":"2025-10-30T16:42:58.1053215+08:00"},{"catalog_id":"a45f2550-6177-4b2c-bbae-dc0ac33d80d6","title":"数据存储系统","description":"core-data-storage","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"e5e5d881-8d19-4d08-88e1-fe3744a3af24","gmt_create":"2025-10-28T11:15:35+08:00","gmt_modified":"2025-10-28T11:15:35+08:00"},{"catalog_id":"583408c5-3eb1-4117-a49c-3a0dd4766e91","title":"胜利界面","description":"ui-victory-screen","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"0a616c1a-4c88-4bd3-b58b-e72bbb029478","gmt_create":"2025-10-28T11:16:00+08:00","gmt_modified":"2025-10-28T11:16:00+08:00"},{"catalog_id":"7ed8e2b3-233a-4f35-8f40-9aed22a1f850","title":"音效管理系统","description":"audio-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"5ff539bb-a8a8-4da8-b428-a8acc7023ddf","gmt_create":"2025-10-28T11:16:37+08:00","gmt_modified":"2025-10-28T11:16:37+08:00"},{"catalog_id":"606d8b8c-de89-479f-b371-8e66f703d67f","title":"多语言支持","description":"multi-language-support","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"54c24c05-bd0a-46fb-b8be-e4589992bbff","gmt_create":"2025-10-28T11:16:44+08:00","gmt_modified":"2025-10-28T11:16:44+08:00"},{"catalog_id":"e1ed0d23-979f-4fa4-8d5a-3b26e18254fa","title":"技能图标组件","description":"ui-skill-icon","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"476d9c2c-ef20-4996-a1d3-b455828fc2cb","gmt_create":"2025-10-28T11:16:45+08:00","gmt_modified":"2025-10-28T11:16:45+08:00"},{"catalog_id":"3a7b6c49-13f5-4c4d-8045-ec10bef49459","title":"技能配置表结构","description":"skill-config-schema","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"bb7a7fda-bea5-44f5-9f80-2335a012e7da","gmt_create":"2025-10-28T11:18:18+08:00","gmt_modified":"2025-10-28T11:18:18+08:00"},{"catalog_id":"cc0f2147-df1d-4e98-b748-f6066b4e1052","title":"奖励配置","description":"reward-configuration","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"36cb7b7e-4510-4329-a168-ad53f2b67a00","gmt_create":"2025-10-28T11:18:19+08:00","gmt_modified":"2025-10-28T11:18:19+08:00"},{"catalog_id":"10afc371-0b75-4354-9888-de3202769843","title":"战斗奖励配置","description":"battle-reward-configuration","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"74aea229-6093-494c-b3da-5b31a8b44b83","gmt_create":"2025-10-28T11:18:59+08:00","gmt_modified":"2025-10-28T11:19:00+08:00"},{"catalog_id":"5aaca5aa-0d2a-4feb-ba28-1c7b5134ca75","title":"MissionComp事件处理机制","description":"mission-comp-event-handling","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"e2bb5632-3005-4d39-bbde-dcac420c1fad","gmt_create":"2025-10-28T11:19:06+08:00","gmt_modified":"2025-10-28T11:19:06+08:00"},{"catalog_id":"b08104b6-50c1-4299-b760-b251f7a586fa","title":"关卡生成规则","description":"rogue-stage-rules","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"4d6f36e3-52cd-469b-8604-d6524e706ed9","gmt_create":"2025-10-28T11:19:25+08:00","gmt_modified":"2025-10-28T11:19:25+08:00"},{"catalog_id":"82566d79-7acd-475c-938b-3ddf974fd1ae","title":"地图视图控制","description":"map-view-control","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"e1337aec-53ba-485d-8542-214a9132ced7","gmt_create":"2025-10-28T11:20:02+08:00","gmt_modified":"2025-10-28T11:20:03+08:00"},{"catalog_id":"b3e6a68c-2a28-4d13-95ba-937923884c64","title":"技能执行机制","description":"skill-execution-mechanism","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"a1f371ae-7932-49ad-bdbc-7ab351f7ceae","gmt_create":"2025-10-28T11:20:21+08:00","gmt_modified":"2025-10-28T11:20:21+08:00"},{"catalog_id":"972b69f9-0acf-40b0-9255-8f3271dd30fe","title":"怪物实体","description":"monster-entity","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"98371f14-f893-4a42-865a-1beed2cbabab","gmt_create":"2025-10-28T11:20:32+08:00","gmt_modified":"2025-10-28T11:20:32+08:00"},{"catalog_id":"2eae2dfc-b9a0-46df-aea8-0a52938e0dd3","title":"任务奖励配置","description":"task-reward-configuration","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"f52e6203-7b65-4f1c-a779-bb820bc67dc1","gmt_create":"2025-10-28T11:21:39+08:00","gmt_modified":"2025-10-28T11:21:39+08:00"},{"catalog_id":"26c81d15-7225-4529-b26c-983ffba67171","title":"英雄管理组件交互","description":"mission-hero-comp-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"024f6002-3523-4aa2-801d-18046e9ddba0","gmt_create":"2025-10-28T11:22:00+08:00","gmt_modified":"2025-10-28T11:22:00+08:00"},{"catalog_id":"32e526fe-04d8-4bb5-97df-cd34d6b1015e","title":"地图图层管理","description":"map-layer-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"0f45fd3e-5bd6-4108-b0ab-181c1a0dca7e","gmt_create":"2025-10-28T11:23:42+08:00","gmt_modified":"2025-10-28T11:23:43+08:00"},{"catalog_id":"d849e035-5e06-4b32-aa61-4d6ebea26df0","title":"怪物配置体系","description":"rogue-monster-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"684b809a-ca7c-4a81-a6e7-2180ed2d7bc2","gmt_create":"2025-10-28T11:23:49+08:00","gmt_modified":"2025-10-28T11:23:49+08:00"},{"catalog_id":"e4b060c9-6ecb-4a89-ad1c-668cb7e90143","title":"奖励触发机制","description":"reward-trigger-mechanism","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"de17ea8a-bf7c-444b-884d-4c3175aba699","gmt_create":"2025-10-28T11:24:23+08:00","gmt_modified":"2025-10-28T11:24:23+08:00"},{"catalog_id":"681f7d12-1923-4564-bc8a-f6473d117f7a","title":"属性系统","description":"monster-attributes","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"fcb56a10-d452-4278-8905-8e52bc3c2a5c","gmt_create":"2025-10-28T11:25:07+08:00","gmt_modified":"2025-10-28T11:25:07+08:00"},{"catalog_id":"1fdd8f6d-83c5-42b7-a705-49b5a30504d8","title":"奖励提示类型定义","description":"tooltip-reward-types","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"9e222a97-102c-488c-aeb7-b3bfd56ed0bc","gmt_create":"2025-10-28T11:25:39+08:00","gmt_modified":"2025-10-28T11:25:39+08:00"},{"catalog_id":"de1f81ec-9dae-4268-a40d-e17ac4018f44","title":"奖励数据流","description":"reward-data-flow","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"94fe549f-fb20-48ff-a88d-a5bab7d8a9ca","gmt_create":"2025-10-28T11:25:51+08:00","gmt_modified":"2025-10-28T11:25:51+08:00"},{"catalog_id":"77d9d8d0-17bd-4da0-8fda-e05dcbc66386","title":"怪物生成与波次控制","description":"mission-mon-comp-spawn-logic","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"da30afbe-f229-40f5-8d5e-6d410cc8e049","gmt_create":"2025-10-28T11:26:20+08:00","gmt_modified":"2025-10-28T11:26:20+08:00"},{"catalog_id":"6c84eeb8-8f5f-41c4-a40b-5707fe5f43d1","title":"随机事件系统","description":"rogue-event-system","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"e57eb71c-ddd8-4aae-b3ee-9327169e3125","gmt_create":"2025-10-28T11:26:37+08:00","gmt_modified":"2025-10-28T11:26:37+08:00"},{"catalog_id":"f9993b2d-c64a-4b58-a413-d110ffd90521","title":"地图视觉特效","description":"map-visual-effects","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"8d9bdf13-5d35-484e-85b9-45e1564db17a","gmt_create":"2025-10-28T11:27:30+08:00","gmt_modified":"2025-10-28T11:27:30+08:00"},{"catalog_id":"095f2538-1d4a-4e55-a273-d68dd5ab9619","title":"技能机制","description":"monster-skills","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"db609da6-413b-4c97-bb9f-a7714dd4e010","gmt_create":"2025-10-28T11:27:42+08:00","gmt_modified":"2025-10-28T11:27:42+08:00"},{"catalog_id":"175984d8-3cc8-4283-8166-869b4082497a","title":"奖励UI集成","description":"reward-ui-integration","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"56478da2-ec16-4a69-a357-40755e52b795","gmt_create":"2025-10-28T11:28:12+08:00","gmt_modified":"2025-10-28T11:28:12+08:00"},{"catalog_id":"150e6d7f-7b74-403a-980e-ebf3dd87ba04","title":"基地组件状态同步","description":"mission-home-comp-state-sync","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"63096e00-d308-48c5-848e-dd35333f9338","gmt_create":"2025-10-28T11:28:31+08:00","gmt_modified":"2025-10-28T11:28:31+08:00"},{"catalog_id":"6fdf001e-40c1-474b-ba4f-5814018c44ea","title":"技能冷却管理","description":"skill-cooldown-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"bb021f57-d588-4add-90ca-8aa59402e235","gmt_create":"2025-10-28T11:28:49+08:00","gmt_modified":"2025-10-28T11:28:49+08:00"},{"catalog_id":"dd3d2d14-7086-4b1d-80b5-6b595d048a5d","title":"地图基础图层","description":"map-layer-base","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"a8799a57-1034-4595-abdd-5c21f7df4b98","gmt_create":"2025-10-28T11:29:25+08:00","gmt_modified":"2025-10-28T11:29:25+08:00"},{"catalog_id":"510b3fc8-d4ca-44e1-8e93-3d850edd87c8","title":"目标选择策略","description":"target-selection-strategy","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"d0483e35-d406-4f1c-83ba-4bc0b877aace","gmt_create":"2025-10-28T11:30:00+08:00","gmt_modified":"2025-10-28T11:30:00+08:00"},{"catalog_id":"8c8ddda1-c0c9-41cd-bbea-449ff6044328","title":"怪物实体初始化流程","description":"monster-entity-initialization","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"0dcdc99a-fd54-4d72-9374-4f2f62a9fbb6","gmt_create":"2025-10-28T11:30:21+08:00","gmt_modified":"2025-10-28T11:30:21+08:00"},{"catalog_id":"c2db9b6d-8d54-4f2e-a76d-15ea6eae06b8","title":"怪物实体组件系统","description":"monster-entity-components","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"8da4103c-cf95-4fb9-aa39-3a07d72b1532","gmt_create":"2025-10-28T11:31:45+08:00","gmt_modified":"2025-10-28T11:31:45+08:00"},{"catalog_id":"4b76f6ed-4e62-4cee-8613-e73f65cbe9cb","title":"多段连发技能执行","description":"multi-stage-skill-execution","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"6cdc1115-dfaf-4d2c-bb97-98e698570c4a","gmt_create":"2025-10-28T11:32:00+08:00","gmt_modified":"2025-10-28T11:32:00+08:00"},{"catalog_id":"74b34ed3-6e21-4d4c-9de6-8d0c1c8c0f05","title":"实体图层管理","description":"entity-layer-management","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"77706255-7be3-4645-979d-4da2019f1590","gmt_create":"2025-10-28T11:32:57+08:00","gmt_modified":"2025-10-28T11:32:57+08:00"},{"catalog_id":"9717f29c-9838-49d9-b288-19356408fb90","title":"技能特效图层","description":"skill-layer-rendering","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"4c8635b4-92b6-4095-b6e2-c641a51649d1","gmt_create":"2025-10-28T11:33:05+08:00","gmt_modified":"2025-10-28T11:33:05+08:00"},{"catalog_id":"be6e19ea-6111-47f1-8bc6-3b8cfc5ff5e3","title":"光照效果实现","description":"lighting-effect-implementation","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"bb46132a-9b3d-4964-a500-ca93cf5eecf1","gmt_create":"2025-10-28T11:33:50+08:00","gmt_modified":"2025-10-28T11:33:50+08:00"},{"catalog_id":"f55883ae-cd6c-41d9-b991-691cdfc76aba","title":"技能执行资源管理","description":"skill-execution-resources","extend":"{}","progress_status":"completed","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904","id":"5753f756-772f-4935-ae74-3b794860b54b","gmt_create":"2025-10-28T11:34:05+08:00","gmt_modified":"2025-10-28T11:34:05+08:00"}],"wiki_overview":{"content":"\u003cblog\u003e\n# 英雄项目综合分析报告\n\n## 1. 项目介绍\n\n### 项目目的\n本项目是一款基于Cocos引擎开发的单局制肉鸽(Roguelike)塔防类游戏,名为\"pixel_hero\"。游戏以中国历史人物为英雄原型,结合春秋战国、楚汉争霸等历史背景,打造具有文化特色的策略战斗体验。\n\n### 核心目标\n- 实现自动战斗机制下的策略性成长系统\n- 构建丰富的英雄角色体系和多样化的能力成长路径\n- 提供高重玩价值的肉鸽游戏体验\n- 集成微信小游戏云开发能力\n\n### 目标受众\n主要面向喜欢策略塔防、肉鸽游戏机制以及对中国历史文化感兴趣的移动端玩家,特别是微信小游戏平台的用户群体。\n\n## 2. 技术架构\n\n### 组件分解\n项目采用模块化架构设计,主要包括:\n- **ECS架构系统**:用于实体-组件-系统的解耦设计\n- **MVVM框架**:实现视图与数据的绑定\n- **微信云开发集成**:提供后端服务支持\n- **单例模块管理**:通过SingletonModuleComp统一管理核心模块\n\n### 设计模式\n项目运用了多种设计模式:\n- **单例模式**:通过`smc`对象管理全局模块\n- **组件模式**:大量使用TypeScript类作为组件挂载到节点\n- **观察者模式**:事件系统实现模块间通信\n- **状态模式**:英雄能力成长体系的设计\n\n### 系统关系\n```mermaid\nflowchart TD\n A[客户端] --\u003e B[游戏逻辑层]\n B --\u003e C[ECS系统]\n B --\u003e D[MVVM框架]\n B --\u003e E[微信云API]\n C --\u003e F[英雄系统]\n C --\u003e G[地图系统]\n C --\u003e H[技能系统]\n D --\u003e I[UI界面]\n E --\u003e J[云数据库]\n F --\u003e K[英雄属性]\n F --\u003e L[成长体系]\n G --\u003e M[关卡设计]\n H --\u003e N[技能效果]\n```\n\n### 数据流\n```mermaid\nflowchart TD\n A[用户输入] --\u003e B[奖励选择]\n B --\u003e C[属性更新]\n C --\u003e D[ECS系统]\n D --\u003e E[战斗计算]\n E --\u003e F[UI更新]\n F --\u003e G[视觉反馈]\n H[游戏进度] --\u003e I[微信云存储]\n I --\u003e J[数据同步]\n```\n\n## 3. 关键实现\n\n### 主要入口点\n- **Main.ts**:游戏主入口文件,负责初始化核心系统\n- **Initialize.ts**:游戏初始化逻辑\n- **Root类继承**:基础框架集成\n\nSources:\n- [Main.ts](assets/script/Main.ts)\n\n### 核心模块\n- **ECS系统**:基于Oops插件框架的实体组件系统\n- **英雄系统**:包含英雄属性、技能、成长等逻辑\n- **地图系统**:关卡、怪物、战斗区域管理\n- **奖励系统**:三选一奖励机制实现\n\nSources:\n- [Hero.ts](assets/script/game/hero/Hero.ts)\n- [GameMap.ts](assets/script/game/map/GameMap.ts)\n- [Initialize.ts](assets/script/game/initialize/Initialize.ts)\n\n### 配置方法\n- **JSON配置文件**:存储游戏配置数据\n- **TypeScript常量**:定义游戏常量和配置\n- **云函数配置**:微信云开发相关设置\n\nSources:\n- [config.json](assets/resources/config.json)\n- [NetCode.json](assets/resources/config/game/NetCode.json)\n- [package.json](package.json)\n\n### 外部依赖\n- **crypto-es**:加密算法库\n- **Oops Plugin Framework**:Cocos扩展框架\n- **微信云开发SDK**:@cloudbase系列包\n\nSources:\n- [package.json](package.json)\n- [WxCloudApi.ts](assets/script/game/wx_clound_client_api/WxCloudApi.ts)\n\n### 集成点\n- **微信云开发**:用户数据存储、排行榜等\n- **Cocos引擎**:图形渲染、物理系统\n- **Oops框架**:MVC/MVVM架构支持\n\nSources:\n- [WxCloudApi.ts](assets/script/game/wx_clound_client_api/WxCloudApi.ts)\n- [index.js](build-templates/wechatgame/cloud_functions/cocos_cloud/index.js)\n\n### 组件关系\n```mermaid\ngraph LR\n A[Main] --\u003e B[Initialize]\n A --\u003e C[ECS系统]\n A --\u003e D[MVVM]\n B --\u003e E[UI初始化]\n C --\u003e F[英雄组件]\n C --\u003e G[地图组件]\n C --\u003e H[技能组件]\n F --\u003e I[Buff系统]\n G --\u003e J[关卡系统]\n H --\u003e K[技能视图]\n D --\u003e L[UI绑定]\n M[微信云API] --\u003e A\n```\n\n## 4. 关键特性\n\n### 功能概述\n- **肉鸽塔防玩法**:每局独立的游戏体验,随机奖励选择\n- **历史英雄体系**:34位中国历史人物作为可玩角色\n- **自动战斗机制**:无需手动操作的战斗系统\n- **三选一奖励**:策略性资源分配系统\n- **微信云集成**:云端数据存储与同步\n\n### 实现亮点\n- **ECS架构应用**:在Cocos引擎中实现实体组件系统\n- **多职业体系**:warrior、mage、support等五种职业分类\n- **成长路径设计**:每位英雄有三个独特的能力成长方向\n- **文化融合**:将中国历史人物特性转化为游戏机制\n\nSources:\n- [heros.md](assets/script/heros.md)\n- [Design.md](assets/script/Design.md)\n- [Hero.ts](assets/script/game/hero/Hero.ts)\n\n### 特性架构\n```mermaid\nstateDiagram-v2\n [*] --\u003e 游戏启动\n 游戏启动 --\u003e 英雄选择\n 英雄选择 --\u003e 战斗开始\n 战斗开始 --\u003e 普通关卡\n 普通关卡 --\u003e 精英关卡\n 精英关卡 --\u003e Boss关卡\n Boss关卡 --\u003e 游戏结束\n 战斗中 --\u003e 奖励选择\n 奖励选择 --\u003e 属性提升\n 奖励选择 --\u003e 技能升级\n 奖励选择 --\u003e 装备获取\n 属性提升 --\u003e 战斗继续\n 技能升级 --\u003e 战斗继续\n 装备获取 --\u003e 战斗继续\n```\n\u003c/blog\u003e","gmt_create":"2025-10-28T10:40:37+08:00","gmt_modified":"2025-10-28T10:40:37+08:00","id":"54c7a90e-4b37-43f9-9e5e-2e9982571a1f","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904"},"wiki_readme":{"content":"No readme file","gmt_create":"2025-10-28T10:39:41+08:00","gmt_modified":"2025-10-28T10:39:41+08:00","id":"c4123224-c9d6-4f01-8a6a-ad1a090ced7e","repo_id":"feccb202-9934-4d35-b5c2-79bfa186a904"},"wiki_repo":{"id":"feccb202-9934-4d35-b5c2-79bfa186a904","name":"heros","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── assets\\n│ ├── resources\\n│ │ ├── config\\n│ │ │ ├── game\\n│ │ │ │ └── NetCode.json\\n│ │ │ └── map\\n│ │ │ ├── map.json\\n│ │ │ └── map_delivery.json\\n│ │ ├── language\\\\json\\n│ │ │ ├── en.json\\n│ │ │ └── zh.json\\n│ │ └── config.json\\n│ └── script\\n│ ├── game\\n│ │ ├── BezierMove\\n│ │ │ └── BezierMove.ts\\n│ │ ├── common\\n│ │ │ ├── config\\n│ │ │ │ ├── BoxSet.ts\\n│ │ │ │ ├── GameEvent.ts\\n│ │ │ │ ├── GameUIConfig.ts\\n│ │ │ │ ├── Guide.ts\\n│ │ │ │ ├── HeroAttrs.ts\\n│ │ │ │ ├── Mission.ts\\n│ │ │ │ ├── SkillSet.ts\\n│ │ │ │ ├── TalSet.ts\\n│ │ │ │ ├── Tasks.ts\\n│ │ │ │ └── heroSet.ts\\n│ │ │ ├── ecs\\\\position\\n│ │ │ │ ├── BattleMoveComp.ts\\n│ │ │ │ ├── BattleMoveSystem.ts\\n│ │ │ │ └── EcsPositionSystem.ts\\n│ │ │ └── SingletonModuleComp.ts\\n│ │ ├── hero\\n│ │ │ ├── BuffComp.ts\\n│ │ │ ├── Hero.ts\\n│ │ │ ├── HeroAnmComp.ts\\n│ │ │ ├── HeroConComp.ts\\n│ │ │ ├── HeroModelComp.ts\\n│ │ │ ├── HeroSpine.ts\\n│ │ │ ├── HeroViewComp.ts\\n│ │ │ ├── Mon.ts\\n│ │ │ ├── MonModelComp.ts\\n│ │ │ ├── SkillConComp.ts\\n│ │ │ └── TalComp.ts\\n│ │ ├── initialize\\n│ │ │ ├── view\\n│ │ │ │ └── LoadingViewComp.ts\\n│ │ │ └── Initialize.ts\\n│ │ ├── map\\n│ │ │ ├── model\\n│ │ │ │ └── MapModelComp.ts\\n│ │ │ ├── view\\n│ │ │ │ ├── map\\\\layer\\n│ │ │ │ │ ├── EntityLayer.ts\\n│ │ │ │ │ ├── MapLayer.ts\\n│ │ │ │ │ ├── SkillLayer.ts\\n│ │ │ │ │ └── light.ts\\n│ │ │ │ ├── MapViewComp.ts\\n│ │ │ │ ├── MapViewScene.ts\\n│ │ │ │ └── MoveUV.ts\\n│ │ │ ├── CardController.ts\\n│ │ │ ├── FlashSprite.ts\\n│ │ │ ├── GameMap.ts\\n│ │ │ ├── GuideConComp.ts\\n│ │ │ ├── GuideSetpComp.ts\\n│ │ │ ├── HInfoComp.ts\\n│ │ │ ├── MInfoComp.ts\\n│ │ │ ├── MapView.ts\\n│ │ │ ├── MissionComp.ts\\n│ │ │ ├── MissionHeroComp.ts\\n│ │ │ ├── MissionHomeComp.ts\\n│ │ │ ├── MissionMonComp.ts\\n│ │ │ ├── RogueConfig.ts\\n│ │ │ ├── SIconComp.ts\\n│ │ │ ├── TopComp.ts\\n│ │ │ ├── VictoryComp.ts\\n│ │ │ └── move.ts\\n│ │ ├── skill\\n│ │ │ ├── AtkConCom.ts\\n│ │ │ ├── ReadyCom.ts\\n│ │ │ ├── SkillEnt.ts\\n│ │ │ ├── SkillViewCom.ts\\n│ │ │ ├── Tooltip.ts\\n│ │ │ ├── TooltipCom.ts\\n│ │ │ ├── oncend.ts\\n│ │ │ └── timedCom.ts\\n│ │ └── wx_clound_client_api\\n│ │ ├── USAGE.md\\n│ │ ├── WxCloudApi.ts\\n│ │ └── wx.aip.d.ts\\n│ ├── Design.md\\n│ ├── Main.ts\\n│ ├── cankao.md\\n│ ├── heros.md\\n│ ├── heros2_table.md\\n│ └── todo.md\\n├── build-templates\\\\wechatgame\\\\cloud_functions\\\\cocos_cloud\\n│ ├── config.json\\n│ ├── deploy.md\\n│ ├── index.js\\n│ ├── package-lock.json\\n│ └── package.json\\n├── doc\\n│ ├── core\\n│ │ ├── common\\n│ │ │ ├── audio.md\\n│ │ │ ├── event.md\\n│ │ │ ├── loader.md\\n│ │ │ ├── log.md\\n│ │ │ ├── random.md\\n│ │ │ ├── storage.md\\n│ │ │ └── timer.md\\n│ │ ├── gui\\n│ │ │ └── gui.md\\n│ │ └── network.md\\n│ ├── ecs\\n│ │ └── ecs.md\\n│ ├── mvvm\\n│ │ ├── MvvmInfo.md\\n│ │ ├── VMBase.md\\n│ │ ├── VMCompsEdit.md\\n│ │ ├── VMCustom.md\\n│ │ ├── VMEvent.md\\n│ │ ├── VMLabel.md\\n│ │ ├── VMModify.md\\n│ │ ├── VMParent.md\\n│ │ ├── VMProgress.md\\n│ │ ├── VMState.md\\n│ │ └── ViewModelScript.md\\n│ └── using.md\\n├── settings\\n│ ├── 1.2.0\\\\packages\\n│ │ ├── builder.json\\n│ │ ├── engine.json\\n│ │ └── project.json\\n│ └── v2\\\\packages\\n│ ├── builder.json\\n│ ├── cocos-service.json\\n│ ├── device.json\\n│ ├── engine.json\\n│ ├── information.json\\n│ ├── program.json\\n│ └── project.json\\n├── ecs.md\\n├── fix_cloud_functions.bat\\n├── package-lock.json\\n├── package.json\\n├── tsconfig.json\\n└── update-oops-plugin-framework.bat\\n\"","current_document_structure":"WikiEncrypted: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","catalogue_think_content":"WikiEncrypted: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","recovery_checkpoint":"wiki_generation_completed","last_commit_id":"40e0086be310fb0dd254073af0f67625d48805de","last_commit_update":"2025-10-30T16:31:44+08:00","gmt_create":"2025-10-18T08:59:43+08:00","gmt_modified":"2025-10-30T16:49:02.0407145+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"oh/10171\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"0.2.8\"}"}}
\ No newline at end of file