示例#1
0
        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));
        }