/// <summary> /// Конструктор анимации с постоянной скоростью. /// </summary> /// <param name="linkedObject">Привязанный объект на игровом поле.</param> /// <param name="speed">Скрость движения объекта.</param> /// <param name="beginPos">Позиция в начале анимации.</param> /// <param name="endPos">Позиция в конце анимации.</param> /// <param name="blocking">Блокирует ли анимация переход в следующее состояние игры.</param> public MoveAnimation(GenericObject linkedObject, double speed, Vector2 beginPos, Vector2 endPos, bool blocking = false, Action <GenericObject> finishedCallback = null) { this.linkedObject = linkedObject; this.beginPos = beginPos; this.endPos = endPos; this.blocking = blocking; this.finishedCallback = finishedCallback; duration = Vector2.Distance(beginPos, endPos) / speed; timePassed = 0.0; active = true; }
/// <summary> /// Конструктор анимации с таймером. /// </summary> /// <param name="linkedObject">Привязанный объект на игровом поле.</param> /// <param name="beginPos">Позиция в начале анимации.</param> /// <param name="endPos">Позиция в конце анимации.</param> /// <param name="duration">Длительность анимации.</param> /// <param name="blocking">Блокирует ли анимация переход в следующее состояние игры.</param> public MoveAnimation(GenericObject linkedObject, Vector2 beginPos, Vector2 endPos, double duration, bool blocking = false, Action <GenericObject> finishedCallback = null) { this.linkedObject = linkedObject; this.beginPos = beginPos; this.endPos = endPos; this.blocking = blocking; this.duration = duration; this.finishedCallback = finishedCallback; timePassed = 0.0; active = true; }