feat(skill): 重构技能系统,新增技能数据组件和移动组件
refactor(skill): 移除旧技能组件和文档,优化技能配置结构 fix(skill): 修正技能预制体配置错误,统一技能运行类型字段 docs(skill): 删除过时的技能系统说明文档 perf(skill): 优化技能加载逻辑,减少资源消耗 style(skill): 调整代码格式,提高可读性
This commit is contained in:
42
assets/script/game/hero/SCDSystem.ts
Normal file
42
assets/script/game/hero/SCDSystem.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { HeroSkillsComp } from "./HeroSkills";
|
||||
|
||||
/**
|
||||
* ==================== 技能CD更新系统 ====================
|
||||
*
|
||||
* 职责:
|
||||
* 1. 每帧更新所有角色的技能CD
|
||||
* 2. 自动递减CD时间
|
||||
* 3. 管理技能冷却状态
|
||||
* 4. 优化CD计算性能
|
||||
*
|
||||
* 设计理念:
|
||||
* - 独立的CD管理系统
|
||||
* - 只负责时间递减,不处理施法逻辑
|
||||
* - 支持CD加速和减免效果
|
||||
*/
|
||||
@ecs.register('SkillCDSystem')
|
||||
export class SkillCDSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate {
|
||||
|
||||
filter(): ecs.IMatcher {
|
||||
return ecs.allOf(HeroSkillsComp);
|
||||
}
|
||||
|
||||
update(e: ecs.Entity): void {
|
||||
const skills = e.get(HeroSkillsComp);
|
||||
if (!skills) return;
|
||||
|
||||
// 更新所有技能CD
|
||||
skills.updateCDs(this.dt);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算CD减免效果
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 更新技能就绪状态
|
||||
*/
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user