Exemplo n.º 1
0
 public SpacemanShield(Gameplay.Side side)
 {
     addComponent(new SpacemanShieldComponent {
         Side = side
     });
     addComponent(new SpriteDepthComponent {
         BaseRenderLayer = RenderLayers.PRIMARY
     });
 }
Exemplo n.º 2
0
        private void ResetBall(Ball.Ball ball, Gameplay.Side side)
        {
            var ballState = ball.getComponent <BallStateComponent>();

            ballState.LastHitSide   = Gameplay.Side.NONE;
            ballState.HitBoost      = 1.0f;
            ballState.IsDeadly      = false;
            ballState.BaseSpeed     = ballState.BaseSpeedInitial;
            ballState.IsBeingServed = true;
            if (side == Gameplay.Side.LEFT ||
                (side == Gameplay.Side.NONE))  // && Random.chance(0.5f)
            {
                ball.position = BallResetPositions.LEFT_RESET;
            }
            else
            {
                ball.position = BallResetPositions.RIGHT_RESET;
            }

            ball.getComponent <VelocityComponent>().Freeze = true;
        }
Exemplo n.º 3
0
        public static Vector2 CalculateHitVector(Gameplay.Side side, Vector2 input)
        {
            if (input.LengthSquared() <= PlayerInputComponent.STICK_THRESHOLD_SQUARED)
            {
                return(side == Gameplay.Side.LEFT
                    ? new Vector2(1, 0)
                    : new Vector2(-1, 0));
            }

            var angle = Mathf.atan2(input.Y, side == Gameplay.Side.LEFT ? input.X : -input.X);

            if (angle > (float)Math.PI / 4)
            {
                angle = (float)Math.PI / 4;
            }
            else if (angle < -(float)Math.PI / 4)
            {
                angle = -(float)Math.PI / 4;
            }

            return(side == Gameplay.Side.LEFT
                ? new Vector2(Mathf.cos(angle), Mathf.sin(angle))
                : new Vector2(-Mathf.cos(angle), Mathf.sin(angle)));
        }
Exemplo n.º 4
0
 public static float SignForSide(Gameplay.Side side)
 {
     return(side == Gameplay.Side.LEFT ? 1.0f : -1.0f);
 }
Exemplo n.º 5
0
 public PlayerStateComponent(int playerId, Gameplay.Side side, float speed, Vector2 resetPosition)
 {
     this.playerId = playerId;
     this.side     = side;
     ResetPosition = resetPosition;
 }
Exemplo n.º 6
0
 private bool checkBallVelocity(Gameplay.Side side, Vector2 ballVelocity)
 {
     return(side == Gameplay.Side.LEFT ? ballVelocity.X <= 0 : ballVelocity.X >= 0);
 }
Exemplo n.º 7
0
 private void ResetForService(Ball.Ball ball, Player.Player[] players, Gameplay.Side side)
 {
     ResetBall(ball, side);
     ResetPlayers(players);
 }