Files
pixelheros/assets/script/Main.ts
walkpan 81f55a796d refactor(hero): 优化英雄对象池管理及视图初始化
- 在Monster类中实现多键对象池管理,提升英雄节点复用效率
- 将HeroViewComp的初始化逻辑提取到独立init方法,便于对象池复用时重置状态
- 移除HeroSpine中冗余的onDestroy方法
- 修复HeroViewComp中方向缩放计算问题,确保scale.x为正
- 优化碰撞体启用逻辑,延迟一帧确保物理系统正确注册
- 清理HeroViewComp中残留的定时器和缓动
2026-01-02 23:27:05 +08:00

33 lines
1.2 KiB
TypeScript

import { profiler, _decorator ,PhysicsSystem2D,EPhysics2DDrawFlags} from 'cc';
import { DEBUG } from 'cc/env';
import { oops } from '../../extensions/oops-plugin-framework/assets/core/Oops';
import { Root } from '../../extensions/oops-plugin-framework/assets/core/Root';
import { ecs } from '../../extensions/oops-plugin-framework/assets/libs/ecs/ECS';
import { UIConfigData } from './game/common/config/GameUIConfig';
import { smc } from './game/common/SingletonModuleComp';
import { Initialize } from './game/initialize/Initialize';
const { ccclass, property } = _decorator;
@ccclass('Main')
export class Main extends Root {
start() {
PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Aabb
|EPhysics2DDrawFlags.Pair
|EPhysics2DDrawFlags.CenterOfMass
|EPhysics2DDrawFlags.Joint
|EPhysics2DDrawFlags.Shape;
}
protected async run() {
smc.initialize = ecs.getEntity<Initialize>(Initialize);
smc.vmAdd()
}
protected initGui() {
oops.gui.init(UIConfigData);
}
protected async initEcsSystem() {
// oops.ecs.add(new EcsPositionSystem()); 手动控制用,没有特殊 ,只需要使用 @ecs.register('SMoveSystem') 装饰器注册就可以了
}
}