예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CharacterLogic"/> class.
 /// </summary>
 /// <param name="ball">Ball Model Interface.</param>
 /// <param name="character">Character  Model Interface.</param>
 /// <param name="score">Score Model Interface.</param>
 /// <param name="timer">Timer Model Interface.</param>
 public CharacterLogic(IBallModel ball, ICharacterModel character, IScoreModel score, ITimerModel timer)
 {
     this.ball      = ball;
     this.character = character;
     this.score     = score;
     this.timer     = timer;
 }
예제 #2
0
        /// <summary>
        /// Create direction for the ball after character kick.
        /// </summary>
        /// <param name="ball">Ball.</param>
        /// <param name="surface">Hit area.</param>
        /// <returns>Amount of X velocity.</returns>
        public float GenerateBallDirection(IBallModel ball, Rect surface)
        {
            double middleOfBall    = ball.Area.X + (ball.Area.Width / 2);
            double middleOfSurface = surface.X + (surface.Width / 2);
            float  offset          = (float)(middleOfBall - middleOfSurface);

            return(offset / Config.KickOffset);
        }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BallLogic"/> class.
 /// </summary>
 /// <param name="ball">Ball Model Interface.</param>
 public BallLogic(IBallModel ball)
 {
     this.ball = ball;
 }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ScoreLogic"/> class.
 /// </summary>
 /// <param name="score">Score Model Interface.</param>
 /// <param name="ball">Ball Model interface.</param>
 public ScoreLogic(IScoreModel score, IBallModel ball)
 {
     this.score = score;
     this.ball  = ball;
 }