public override void OnStart() { var player1 = new WhiteBread(_breadTexture, PlayerIndex.One); var player2 = new WhiteBread(_breadTexture, PlayerIndex.Two); var spritePointer = new SpritePointer(); var entities = new Entity[] { player1, player2, spritePointer, new Background(_backgroundTexture) }; entities.ToList().ForEach(x => AddEntity(x)); var systems = new EntitySystem[] { new FacingSystem(spritePointer, player1, player2), // FighterStateSystems new CrouchSystem(), new CrouchAttackSystem(), new HurtSystem(), new IdleSystem(), new NeutralAttackSystem(), new JumpSystem(), new WalkSystem(), // After FighterStateSystemsProcessing new StompCollisionSystem(), new BumpbackSystem(), new GravitySystem(), new BoundarySystem(), // Misc new WinSystem(), new ResetSystem() }; systems.ToList().ForEach(x => AddEntityProcessor(x)); }