public override void InitSystems(out EcsSystems update, out EcsSystems draw, out EcsSystems systems) { if (game == null) { throw new Exception(); } sheets = new(new GenIdxAllocator()); tilesets = new(new GenIdxAllocator()); levels = new(new GenIdxAllocator()); update = new EcsSystems(world) .Add(new SheetLoader()) .Add(new TilesetLoader()) .Add(new LevelLoader()) .Add(new AABBs()) .Add(new Animated()); draw = new EcsSystems(world) .Add(new Renderer()); systems = new EcsSystems(world) .Inject(sheets) .Inject(tilesets) .Inject(levels); }
public override void InitSystems(out EcsSystems update, out EcsSystems draw, out EcsSystems systems) { if (game == null) { throw new Exception(); } physicsWorld = new(Vector2.Zero); physicsDebugView = new(physicsWorld); physicsDebugView.LoadContent(game.GraphicsDevice, game.Fonts); sheets = new(new GenIdxAllocator()); tilesets = new(new GenIdxAllocator()); levels = new(new GenIdxAllocator()); update = new EcsSystems(world) .Add(new SheetLoader()) .Add(new TilesetLoader()) .Add(new LevelLoader()) .Add(new Inputs()) .Add(new Actors()) .Add(new Physics()) .Add(new AABBs()) .Add(new Animated()); draw = new EcsSystems(world) .Add(new Renderer()); systems = new EcsSystems(world) .Inject(sheets) .Inject(tilesets) .Inject(levels) .Inject(physicsWorld) .Inject(physicsDebugView); }