Ball ClassDelta Engine Documentation
The player interacts with the ball with his paddle and navigates it to destroy bricks. View code on GitHub
Inheritance Hierarchy

System Object
  DeltaEngine.Entities Entity
    DeltaEngine.Entities DrawableEntity
      DeltaEngine.Rendering2D Entity2D
        DeltaEngine.Rendering2D HierarchyEntity2D
          DeltaEngine.Rendering2D Sprite
            Breakout Ball
              Breakout BallInLevel
              Breakout.Tests TestBall

Namespace: Breakout
Assembly: Breakout (in Breakout.exe) Version: 1.1.1.0 (1.1.1)
Syntax

public class Ball : Sprite

The Ball type exposes the following members.

Constructors

  NameDescription
Public methodBall
Initializes a new instance of the Ball class
Top
Methods

  NameDescription
Public methodAdd(HierarchyObject2D) (Inherited from HierarchyEntity2D.)
Public methodAdd T (T) (Inherited from Sprite.)
Public methodAddTag (Inherited from Entity.)
Public methodClearTags (Inherited from Entity.)
Public methodContains T  (Inherited from Entity2D.)
Public methodContainsBehavior T  (Inherited from Entity.)
Public methodContainsTag (Inherited from Entity.)
Protected methodDeactivate (Inherited from Entity.)
Public methodDispose (Overrides Entity Dispose .)
Public methodGet T  (Inherited from Sprite.)
Protected methodGetActiveBehaviors (Inherited from Entity.)
Public methodGetComponentsForEditing (Inherited from Entity2D.)
Protected methodGetComponentsForSaving (Inherited from Sprite.)
Protected methodGetDrawBehaviors (Inherited from DrawableEntity.)
Public methodGetFirstChildOfType T  (Inherited from HierarchyEntity2D.)
Public methodGetInterpolatedArray T  (Inherited from DrawableEntity.)
Public methodGetInterpolatedList T  (Inherited from DrawableEntity.)
Public methodGetOrDefault T  (Inherited from Entity.)
Public methodGetTags (Inherited from Entity.)
Protected methodNextUpdateStarted (Inherited from Sprite.)
Public methodOnDraw T  (Inherited from DrawableEntity.)
Protected methodOnPositionChanged (Inherited from HierarchyEntity2D.)
Protected methodOnRotationChanged (Inherited from HierarchyEntity2D.)
Protected methodReflectVelocity
Public methodRemove(HierarchyObject2D) (Inherited from HierarchyEntity2D.)
Public methodRemove T   (Inherited from Entity.)
Public methodRemoveTag (Inherited from Entity.)
Public methodReset (Inherited from Sprite.)
Public methodResetBall
Public methodRotatedDrawAreaContains (Inherited from Entity2D.)
Public methodSet (Inherited from Sprite.)
Public methodSetComponents (Inherited from Entity.)
Public methodSetWithoutInterpolation T  (Inherited from Sprite.)
Public methodStart T  (Inherited from Entity.)
Public methodStop T  (Inherited from Entity.)
Public methodToggleVisibility (Inherited from DrawableEntity.)
Public methodToString (Inherited from Entity.)
Public methodUpdateGlobalsFromParent (Inherited from HierarchyEntity2D.)
Protected methodUpdateInFlight
Top
Extension Methods

  NameDescription
Public Extension MethodAffixToPhysics (Defined by Entity2DPhysicsExtensions.)
Public Extension MethodStartBouncingOffScreenEdges (Defined by Entity2DExtensions.)
Public Extension MethodStartFalling (Defined by Entity2DExtensions.)
Public Extension MethodStartMoving (Defined by Entity2DExtensions.)
Public Extension MethodStartMovingUV (Defined by Entity2DExtensions.)
Public Extension MethodStartRotating (Defined by Entity2DExtensions.)
Top
Fields

  NameDescription
Public fieldStatic memberBallSize
Protected fieldcomponents (Inherited from Entity.)
Protected fieldisOnPaddle
Protected fieldlastTickLerpComponents
Each element can either be a Lerp, a Lerp List or an array of Lerp objects. View code on GitHub
(Inherited from DrawableEntity.)
Protected fieldStatic membervelocity
Top
Properties

  NameDescription
Public propertyAlpha (Inherited from Entity2D.)
Public propertyBlendMode (Inherited from Sprite.)
Public propertyCenter (Inherited from Entity2D.)
Public propertyChildren (Inherited from HierarchyEntity2D.)
Public propertyColor (Inherited from Entity2D.)
Public propertyCurrentFrame (Inherited from Sprite.)
Public propertyDidFootprintChange (Inherited from Entity2D.)
Public propertyDrawArea (Inherited from Entity2D.)
Public propertyElapsed (Inherited from Sprite.)
Public propertyFlipMode (Inherited from Sprite.)
Public propertyIsActive (Inherited from HierarchyEntity2D.)
Public propertyIsPauseable (Inherited from Entity.)
Public propertyIsPlaying (Inherited from Sprite.)
Public propertyIsVisible (Inherited from DrawableEntity.)
Public propertyLastColor (Inherited from Entity2D.)
Public propertyLastDrawArea (Inherited from Entity2D.)
Public propertyLastUV (Inherited from Sprite.)
Public propertyMaterial (Inherited from Sprite.)
Public propertyNumberOfComponents (Inherited from Entity.)
Public propertyParent (Inherited from HierarchyEntity2D.)
Public propertyPosition
Public propertyRelativePosition (Inherited from HierarchyEntity2D.)
Public propertyRelativeRotation (Inherited from HierarchyEntity2D.)
Public propertyRenderLayer (Inherited from DrawableEntity.)
Public propertyRotation (Inherited from Entity2D.)
Public propertyRotationCenter (Inherited from Entity2D.)
Public propertySize (Inherited from Entity2D.)
Public propertyTopLeft (Inherited from Entity2D.)
Public propertyUpdatePriority (Inherited from Entity.)
Public propertyUV (Inherited from Sprite.)
Top
Events

  NameDescription
Public eventAnimationEnded (Inherited from Sprite.)
Top
Remarks

Tests: Breakout.Tests.BallInLevelTests
Examples

18 unit tests call Breakout.Ball
[Test]
public void Draw()
{
    Resolve<BallInLevel>();
}
[Test, CloseAfterFirstFrame]
public void FireBall()
{
    Resolve<BallInLevel>();
    var ball = Resolve<Ball>();
    Assert.IsTrue(ball.IsVisible);
    AdvanceTimeAndUpdateEntities(0.01f);
    var initialBallPosition = new Vector2D(0.5f, 0.86f);
    Assert.AreEqual(initialBallPosition, ball.Position);
    if (!IsMockResolver)
        return; //ncrunch: no coverage
    Resolve<MockKeyboard>().SetKeyboardState(Key.Space, State.Pressing);
    AdvanceTimeAndUpdateEntities();
    Assert.AreNotEqual(initialBallPosition, ball.Position);
}
[Test, CloseAfterFirstFrame]
public void ResetBallLosesLive()
{
    var score = Resolve<Score>();
    bool lost = false;
    score.GameOver += () => lost = true;
    var ball = Resolve<BallInLevel>();
    ball.ResetBall();
    ball.ResetBall();
    ball.ResetBall();
    Assert.IsTrue(lost);
}
See Also