Ejemplo n.º 1
0
    private void Initialize()
    {
        world        = new EcsWorld();
        systems      = new EcsSystems(world);
        fixedSystems = new EcsSystems(world);

    #if DEBUG
        new Leopotam.Ecs.RemoteDebug.RemoteDebugClient(world);
    #endif
    #if UNITY_EDITOR
        Leopotam.Ecs.UnityIntegration.EcsWorldObserver.Create(world);
        Leopotam.Ecs.UnityIntegration.EcsSystemsObserver.Create(systems);
    #endif

        RegisterAutoReset();


        fixedSystems
        .RegisterCollisionEmitter()
        .Add(new PlayerRunSystem())
        .Add(new FixRampPositionSystem())
        .Add(new GroundCheckSystem(groundLayer))
        .Add(new EnemyShootSystem())
        .Init();

        systems
        .Add(new CameraMoveSystem())
        .Add(new CameraFollowSystem())
        .Add(new PlayerSpawnSystem(playerInitData))
        .Add(new EnemySpawnSystem(enemyInitData))
        .Add(new PlayerInputSystem())
        .Add(new PlayerJumpSystem())
        .Add(new AnimationMoveSystem())
        .Add(new PlasmaShotSystem())
        .OneFrame <PlasmaShotComponent>()
      #if UNITY_EDITOR
        .Add(new LogCollisionsSystems())
      #endif
        .Init();
    }