/// <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; }
/// <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); }
/// <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; }
/// <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; }