public SpacemanShield(Gameplay.Side side) { addComponent(new SpacemanShieldComponent { Side = side }); addComponent(new SpriteDepthComponent { BaseRenderLayer = RenderLayers.PRIMARY }); }
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; }
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))); }
public static float SignForSide(Gameplay.Side side) { return(side == Gameplay.Side.LEFT ? 1.0f : -1.0f); }
public PlayerStateComponent(int playerId, Gameplay.Side side, float speed, Vector2 resetPosition) { this.playerId = playerId; this.side = side; ResetPosition = resetPosition; }
private bool checkBallVelocity(Gameplay.Side side, Vector2 ballVelocity) { return(side == Gameplay.Side.LEFT ? ballVelocity.X <= 0 : ballVelocity.X >= 0); }
private void ResetForService(Ball.Ball ball, Player.Player[] players, Gameplay.Side side) { ResetBall(ball, side); ResetPlayers(players); }