public static Vector3 CalculatePosition(this MovingIconComponent movingIcon, DateTime now) { Vector3 deltaPositionForTime = movingIcon.GetDeltaVector3() * movingIcon.GetPercentageOfCoveredDistance(now); return(movingIcon.GetCurrentLineStartPosition() + deltaPositionForTime); }
public static float CalculateAlpha(this MovingIconComponent movingIcon, DateTime now) { float deltaAlpha = movingIcon.iconTrajectory.controlPoints[movingIcon.iconTrajectory.currentControlPointIndex].alpha - movingIcon.iconTrajectory.controlPoints[movingIcon.iconTrajectory.currentControlPointIndex - 1].alpha; return(movingIcon.iconTrajectory.controlPoints[movingIcon.iconTrajectory.currentControlPointIndex - 1].alpha + movingIcon.GetPercentageOfCoveredDistance(now) * deltaAlpha); }
public static Vector3 CalculateScale(this MovingIconComponent movingIcon, DateTime now) { Vector3 deltaScale = movingIcon.iconTrajectory.controlPoints[movingIcon.iconTrajectory.currentControlPointIndex].scale - movingIcon.iconTrajectory.controlPoints[movingIcon.iconTrajectory.currentControlPointIndex - 1].scale; return(movingIcon.iconTrajectory.controlPoints[movingIcon.iconTrajectory.currentControlPointIndex - 1].scale + movingIcon.GetPercentageOfCoveredDistance(now) * deltaScale); }