refactor(buff): 统一buff和debuff属性结构及类型区分

- 新增Buff类型枚举BType,区分数值型与百分比型属性
- 定义AttrsType,映射每个属性的类型(数值或百分比)
- 添加辅助方法isRatioAttr和getAttrType用于属性类型判断
- HeroViewComp中buff和debuff相关属性名称重新命名,区分持久型和临时型及属性类型
- 修改buff/debuff的加载、应用、更新逻辑,适配新的属性结构
- 新增HeroViewComp的isStun和isFrost方法判断状态
- BattleMoveSystem中使用新判断方法替代旧列表遍历
- 移除SkillCom中未使用的BuffAttr导入项,优化依赖关系
This commit is contained in:
2025-10-17 18:41:54 +08:00
parent 13874f3618
commit 4706a128f3
4 changed files with 131 additions and 68 deletions

View File

@@ -29,9 +29,7 @@ export class BattleMoveSystem extends ecs.ComblockSystem implements ecs.ISystemU
if (!shouldStop) { //在攻击范围内停止移动
// if(view.fac==1){
const isStun = view.V_DBUFF.some(d => d.debuff === DBuff.STUN);
const isFrost = view.V_DBUFF.some(d => d.debuff === DBuff.FROST);
if(view.is_stop||view.is_dead||isStun||isFrost) {
if(view.is_stop||view.is_dead||view.isStun()||view.isFrost()) {
view.status_change("idle");
return; //停止移动或者死亡不移动
}