FBClient.Core.Entities.Bomb.ChangeDirection C# (CSharp) Method

ChangeDirection() public method

public ChangeDirection ( LookDirection lD, int playerId ) : void
lD LookDirection
playerId int
return void
        public void ChangeDirection(LookDirection lD, int playerId)
        {
            Point pos = Point.Zero;
            switch (lD)
            {
                case LookDirection.Up:
                    pos = new Point(CellPosition.X, CellPosition.Y - 1);
                    break;
                case LookDirection.Down:
                    pos = new Point(CellPosition.X, CellPosition.Y + 1);
                    break;
                case LookDirection.Left:
                    pos = new Point(CellPosition.X - 1, CellPosition.Y);
                    break;
                case LookDirection.Right:
                    pos = new Point(CellPosition.X + 1, CellPosition.Y);
                    break;
            }

            if (!CollisionLayer[pos.X, pos.Y])
            {
                CurrentDirection = lD;
                _lastPlayerThatPushIt = playerId;
                foreach (Point p in ActionField)
                {
                    HazardMap[p.X, p.Y] = 0;
                }
            }
            else
                CurrentDirection = LookDirection.Idle;
        }

Usage Example

Example #1
0
        public void ChangeDirection(Bomb bomb)
        {
            Point nextPosition = bomb.CellPosition;
            switch (_lookDirection)
            {
                case LookDirection.Up:
                    nextPosition.Y--;
                    break;
                case LookDirection.Down:
                    nextPosition.Y++;
                    break;
                case LookDirection.Left:
                    nextPosition.X--;
                    break;
                case LookDirection.Right:
                    nextPosition.X++;
                    break;
            }

            if (
                !FinalBomber.Instance.GamePlayScreen.World.Levels[FinalBomber.Instance.GamePlayScreen.World.CurrentLevel
                    ].
                    CollisionLayer[nextPosition.X, nextPosition.Y])
            {
                bomb.ChangeDirection(_lookDirection, -1);
                //bomb.ChangeSpeed(bomb.Speed + Config.BombSpeedIncrementeur);
                bomb.ResetTimer();
            }
        }
All Usage Examples Of FBClient.Core.Entities.Bomb::ChangeDirection