public UsedBlockEntity(ObstacleFactory factory, Vector2 position, Entity ItemEnt)
     : base(factory, ItemEnt)
 {
     Block             = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.USEDBLOCK);
     Block.Position    = position;
     CurrentBlockState = new UsedBlockState(BlockSM, this);
 }
示例#2
0
        public void ChangeSprite()
        {
            Vector2 position = Block.Position;

            if (CurrentBlockState is BrickBlockState)
            {
                Block = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.BRICKBLOCK);
            }
            else if (CurrentBlockState is PyramidBlockState)
            {
                Block = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.PYRAMID);
            }
            else if (CurrentBlockState is QuestionBlockState)
            {
                Block = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.QUESTIONBLOCK);
            }
            else if (CurrentBlockState is UsedBlockState)
            {
                Block = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.USEDBLOCK);
            }
            else if (CurrentBlockState is HiddenBlockState)
            {
                Block = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.HIDDENBLOCK);
            }
            Block.Position = position;
        }
示例#3
0
 public QuestionBlockEntity(ObstacleFactory factory, Vector2 position, Entity ItemEnt)
     : base(factory, ItemEnt)
 {
     Block             = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.QUESTIONBLOCK);
     Block.Position    = position;
     BlockSM           = new BlockStateMachine(this);
     CurrentBlockState = new QuestionBlockState(BlockSM, this);
 }
示例#4
0
 public PyramidEntity(ObstacleFactory factory, Vector2 position, Entity ItemEnt)
     : base(factory, ItemEnt)
 {
     Block             = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.PYRAMID);
     Block.Position    = position;
     BlockSM           = new BlockStateMachine(this);
     CurrentBlockState = new PyramidBlockState(BlockSM, this);
 }
示例#5
0
 public FloorBlockEntity(ObstacleFactory factory, Vector2 position, Entity ItemEnt, int floorType)
     : base(factory, ItemEnt)
 {
     Block             = (AbstractObstacle)SpriteFactory.getFloor(floorType);
     Block.Position    = position;
     BlockSM           = new BlockStateMachine(this);
     CurrentBlockState = new FloorBlockState(BlockSM, this);
 }
示例#6
0
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            BoundingBox.Init(spriteBatch, this.GraphicsDevice);

            //instantiate our keyboard and gamepad classes
            keyboardController = new KeyboardController(keysMap);
            for (int i = 0; i < 4; i++)
            {
                controllerArray[i] = new GamepadController(buttonsMap, i);
            }

            background = Content.Load <Texture2D>("MarioBackground");

            SpriteFactory.Init(Content);
        }
示例#7
0
        public BrickEntity(ObstacleFactory factory, Vector2 position, Entity ItemEnt)
            : base(factory, ItemEnt)
        {
            Block          = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.BRICKBLOCK);
            Block.Position = position;
            Block.Position = Vector2.Clamp(this.Position, new Vector2(0f, Position.Y - 2f), new Vector2(1000000f, Position.Y));
            B = new AbstractObstacle[4];
            for (int i = 0; i < 4; i++)
            {
                B[i]          = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.BRICKSHARD);
                B[i].Position = Block.Position;
                B[i].Velocity = Vector2.Zero;
            }
            Sprite.Position = position;
            Block.Velocity  = Vector2.Zero;
            float originalPos = Block.Position.Y;

            BlockSM           = new BlockStateMachine(this);
            CurrentBlockState = new BrickBlockState(BlockSM, this);
        }
 public MovingBlockEntity(ObstacleFactory factory, Vector2 position, Entity ItemEnt, float speed, bool hMovement, float start, float finish)
     : base(factory, ItemEnt)
 {
     Start           = start;
     Finish          = finish;
     Speed           = speed;
     isHMovement     = hMovement;
     Block           = (AbstractObstacle)SpriteFactory.getSprite((int)obstacleTypes.USEDBLOCK);
     Block.Position  = position;
     Sprite.Position = position;
     Block.Velocity  = Vector2.Zero;
     BlockSM         = new BlockStateMachine(this);
     if (hMovement)
     {
         CurrentBlockState = new HMovingBlockState(BlockSM, this);
     }
     else
     {
         CurrentBlockState = new VMovingBlockState(BlockSM, this);
     }
 }