Main.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * @Author: dgflash
  3. * @Date: 2021-07-03 16:13:17
  4. * @LastEditors: dgflash
  5. * @LastEditTime: 2022-08-05 18:25:56
  6. */
  7. import { profiler, _decorator } from 'cc';
  8. import { DEBUG } from 'cc/env';
  9. import { oops } from '../../extensions/oops-plugin-framework/assets/core/Oops';
  10. import { Root } from '../../extensions/oops-plugin-framework/assets/core/Root';
  11. import { ecs } from '../../extensions/oops-plugin-framework/assets/libs/ecs/ECS';
  12. import { UIConfigData } from './game/common/config/GameUIConfig';
  13. import { smc } from './game/common/SingletonModuleComp';
  14. import { EcsInitializeSystem, Initialize } from './game/initialize/Initialize';
  15. import { EcsPositionSystem } from './game/common/ecs/position/EcsPositonSystem';
  16. import { EcsAccountSystem } from './game/account/Account';
  17. import { EcsCheckpointSystem } from './game/checkpoint/Checkpoint';
  18. import { EcsPuppetSystem } from './game/puppet/puppet';
  19. import { EcsPathFindSystem } from './game/common/ecs/path/EcsPathFindSystem';
  20. const { ccclass, property } = _decorator;
  21. @ccclass('Main')
  22. export class Main extends Root {
  23. start() {
  24. if (DEBUG) profiler.showStats();
  25. }
  26. protected run() {
  27. smc.initialize = ecs.getEntity<Initialize>(Initialize);
  28. }
  29. protected initGui() {
  30. oops.gui.init(UIConfigData);
  31. }
  32. protected initEcsSystem() {
  33. oops.ecs.add(new EcsPositionSystem());
  34. oops.ecs.add(new EcsPathFindSystem());
  35. oops.ecs.add(new EcsAccountSystem());
  36. oops.ecs.add(new EcsCheckpointSystem());
  37. oops.ecs.add(new EcsInitializeSystem());
  38. oops.ecs.add(new EcsPuppetSystem());
  39. }
  40. }