private IEnumerable<MoveUnitEvent> GetWalkEvents(WalkGroup walkGroup) { var targetPosition = GetTargetPosition(walkGroup); return walkGroup.Content.AsParallel().Select(x => GetMoveUnitEvent(x, targetPosition)); }
private Vector2 GetTargetPosition(WalkGroup walkGroup) { var units = walkGroup.Content; var firstPos = units.First().Position; var lastPos = units.First().Position; return _vector2Service.GetAbsolute(firstPos, _vector2Service.GetRelativeMovementForPercent(_vector2Service.GetRelativeMovement(firstPos, lastPos), (float) .5)); }