Beispiel #1
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;
        }
 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);
 }
Beispiel #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);
 }
Beispiel #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);
 }
        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);
     }
 }