docs: 为游戏地图模块添加详细的代码注释
为游戏地图模块的脚本文件添加全面的注释,说明每个组件的职责、关键设计、依赖关系和使用方式。注释覆盖了英雄信息面板、技能卡槽位管理器、排行榜弹窗、卡牌控制器、背景滚动组件等核心功能模块,提高了代码的可读性和维护性。 同时修复了英雄预制体的激活状态和技能效果预制体的尺寸参数。
This commit is contained in:
@@ -1,3 +1,23 @@
|
||||
/**
|
||||
* @file GameMap.ts
|
||||
* @description 游戏地图 ECS 实体
|
||||
*
|
||||
* 职责:
|
||||
* 1. 作为地图模块的 **ECS 根实体**,聚合 MapModelComp(数据层)与 MapViewComp(视图层)。
|
||||
* 2. 在 init 阶段仅注册 MapModelComp(纯数据,不依赖节点)。
|
||||
* 3. 显式调用 load() 时,异步加载地图预制(Prefab),实例化后将 MapViewComp 挂载到实体上。
|
||||
*
|
||||
* 设计说明:
|
||||
* - 视图层的挂载延后到 load() 完成后,确保 Prefab 加载成功且节点树就绪。
|
||||
* - 实例化的地图节点被添加至 oops.game.root,作为场景显示层的子节点。
|
||||
* - MapViewComp 从预制体中名为 "map" 的子节点上获取。
|
||||
*
|
||||
* 依赖:
|
||||
* - MapModelComp(model/MapModelComp.ts)—— 存放地图资源路径等数据配置
|
||||
* - MapViewComp(view/MapViewComp.ts)—— 地图视图逻辑
|
||||
* - oops.res —— 资源加载
|
||||
* - oops.game.root —— 全局显示根节点
|
||||
*/
|
||||
/*
|
||||
* @Author: dgflash
|
||||
* @Date: 2022-02-12 11:02:21
|
||||
@@ -10,18 +30,29 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
||||
import { MapModelComp } from "./model/MapModelComp";
|
||||
import { MapViewComp } from "./view/MapViewComp";
|
||||
|
||||
/** 游戏地图 */
|
||||
/** 游戏地图 ECS 实体 */
|
||||
@ecs.register(`GameMap`)
|
||||
export class GameMap extends ecs.Entity {
|
||||
/** 地图数据模型组件(通过 ECS 自动注入) */
|
||||
MapModel!: MapModelComp;
|
||||
/** 地图视图组件(通过 ECS 自动注入,load() 完成后可用) */
|
||||
MapView!: MapViewComp;
|
||||
|
||||
/**
|
||||
* ECS 实体初始化:注册数据层组件。
|
||||
* 视图层在 load() 中异步挂载。
|
||||
*/
|
||||
protected init(): void {
|
||||
this.addComponents<ecs.Comp>(
|
||||
MapModelComp);
|
||||
}
|
||||
|
||||
/** 加载地图显示资源 */
|
||||
/**
|
||||
* 加载地图显示资源:
|
||||
* 1. 通过 MapModel.resPrefab 路径加载 Prefab。
|
||||
* 2. 实例化预制体并挂载到全局根节点。
|
||||
* 3. 从预制体中提取 MapViewComp 并通过 this.add() 注册到实体。
|
||||
*/
|
||||
load() {
|
||||
oops.res.load(this.MapModel.resPrefab, Prefab, (err: Error | null, res: Prefab) => {
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user