15 public partial struct Tween {
25 private Transform _target;
35 return _tween.AddInterpolator(Pool<TransformPositionValueInterpolator>.Spawn().Init(a, b, _target));
39 return _tween.AddInterpolator(Pool<TransformPositionValueInterpolator>.Spawn().Init(_target.position, b, _target));
43 return _tween.AddInterpolator(Pool<TransformPositionValueInterpolator>.Spawn().Init(_target.position, _target.position + delta, _target));
47 return _tween.AddInterpolator(Pool<TransformPositionReferenceInterpolator>.Spawn().Init(a, b, _target));
51 return _tween.AddInterpolator(Pool<TransformLocalPositionValueInterpolator>.Spawn().Init(a, b, _target));
55 return _tween.AddInterpolator(Pool<TransformLocalPositionValueInterpolator>.Spawn().Init(_target.localPosition, b, _target));
59 return _tween.AddInterpolator(Pool<TransformLocalPositionValueInterpolator>.Spawn().Init(_target.localPosition, _target.localPosition + delta, _target));
63 return _tween.AddInterpolator(Pool<TransformLocalPositionReferenceInterpolator>.Spawn().Init(a, b, _target));
67 public override void Interpolate(
float percent) {
68 _target.position = _a + _b * percent;
71 public override void Dispose() {
73 Pool<TransformPositionValueInterpolator>.Recycle(
this);
76 public override bool isValid {
get {
return _target !=
null; } }
79 private class TransformPositionReferenceInterpolator : InterpolatorBase<Transform, Transform> {
80 public override float length {
86 public override void Interpolate(
float percent) {
87 _target.position =
Vector3.Lerp(
_a.position,
_b.position, percent);
90 public override void Dispose() {
92 Pool<TransformPositionReferenceInterpolator>.Recycle(
this);
95 public override bool isValid {
get {
return _target !=
null; } }
98 private class TransformLocalPositionValueInterpolator : Vector3InterpolatorBase<Transform> {
99 public override void Interpolate(
float percent) {
100 _target.localPosition = _a + _b * percent;
103 public override void Dispose() {
105 Pool<TransformLocalPositionValueInterpolator>.Recycle(
this);
108 public override bool isValid {
get {
return _target !=
null; } }
111 private class TransformLocalPositionReferenceInterpolator : InterpolatorBase<Transform, Transform> {
112 public override float length {
114 return Vector3.Distance(
_a.localPosition,
_b.localPosition);
118 public override void Interpolate(
float percent) {
119 _target.localPosition =
Vector3.Lerp(
_a.localPosition,
_b.localPosition, percent);
122 public override void Dispose() {
124 Pool<TransformLocalPositionReferenceInterpolator>.Recycle(
this);
127 public override bool isValid {
get {
return _target !=
null; } }
133 return _tween.AddInterpolator(Pool<TransformRotationValueInterpolator>.Spawn().Init(a, b, _target));
137 return _tween.AddInterpolator(Pool<TransformRotationValueInterpolator>.Spawn().Init(_target.rotation, b, _target));
141 return _tween.AddInterpolator(Pool<TransformRotationValueInterpolator>.Spawn().Init(_target.rotation, _target.rotation * delta, _target));
145 return _tween.AddInterpolator(Pool<TransformRotationReferenceInterpolator>.Spawn().Init(a, b, _target));
149 return _tween.AddInterpolator(Pool<TransformLocalRotationValueInterpolator>.Spawn().Init(a, b, _target));
153 return _tween.AddInterpolator(Pool<TransformLocalRotationValueInterpolator>.Spawn().Init(_target.localRotation, b, _target));
157 return _tween.AddInterpolator(Pool<TransformLocalRotationValueInterpolator>.Spawn().Init(_target.localRotation, _target.localRotation * delta, _target));
161 return _tween.AddInterpolator(Pool<TransformLocalRotationReferenceInterpolator>.Spawn().Init(a, b, _target));
165 public override void Interpolate(
float percent) {
166 _target.rotation = Quaternion.Slerp(_a, _b, percent);
169 public override void Dispose() {
171 Pool<TransformRotationValueInterpolator>.Recycle(
this);
174 public override bool isValid {
get {
return _target !=
null; } }
177 private class TransformRotationReferenceInterpolator : InterpolatorBase<Transform, Transform> {
178 public override float length {
184 public override void Interpolate(
float percent) {
185 _target.rotation =
Quaternion.Slerp(
_a.rotation,
_b.rotation, percent);
188 public override void Dispose() {
190 Pool<TransformRotationReferenceInterpolator>.Recycle(
this);
193 public override bool isValid {
get {
return _target !=
null; } }
196 private class TransformLocalRotationValueInterpolator : QuaternionInterpolatorBase<Transform> {
197 public override void Interpolate(
float percent) {
198 _target.localRotation =
Quaternion.Slerp(_a, _b, percent);
201 public override void Dispose() {
203 Pool<TransformLocalRotationValueInterpolator>.Recycle(
this);
206 public override bool isValid {
get {
return _target !=
null; } }
209 private class TransformLocalRotationReferenceInterpolator : InterpolatorBase<Transform, Transform> {
210 public override float length {
216 public override void Interpolate(
float percent) {
217 _target.localRotation =
Quaternion.Slerp(
_a.localRotation,
_b.localRotation, percent);
220 public override void Dispose() {
222 Pool<TransformLocalRotationReferenceInterpolator>.Recycle(
this);
225 public override bool isValid {
get {
return _target !=
null; } }
231 return _tween.AddInterpolator(Pool<TransformLocalScaleValueInterpolator>.Spawn().Init(a, b, _target));
235 return _tween.AddInterpolator(Pool<TransformLocalScaleValueInterpolator>.Spawn().Init(Vector3.one * a, Vector3.one * b, _target));
239 return _tween.AddInterpolator(Pool<TransformLocalScaleValueInterpolator>.Spawn().Init(_target.localScale, b, _target));
243 return _tween.AddInterpolator(Pool<TransformLocalScaleValueInterpolator>.Spawn().Init(_target.localScale, Vector3.one * b, _target));
247 return _tween.AddInterpolator(Pool<TransformLocalScaleValueInterpolator>.Spawn().Init(_target.localScale, _target.localScale * b, _target));
251 return _tween.AddInterpolator(Pool<TransformLocalScaleReferenceInterpolator>.Spawn().Init(a, b, _target));
255 public override void Interpolate(
float percent) {
256 _target.localScale = _a + _b * percent;
259 public override void Dispose() {
261 Pool<TransformLocalScaleValueInterpolator>.Recycle(
this);
264 public override bool isValid {
get {
return _target !=
null; } }
267 private class TransformLocalScaleReferenceInterpolator : InterpolatorBase<Transform, Transform> {
268 public override float length {
274 public override void Interpolate(
float percent) {
275 _target.localScale =
Vector3.Lerp(
_a.localScale,
_b.localScale, percent);
278 public override void Dispose() {
280 Pool<TransformLocalScaleReferenceInterpolator>.Recycle(
this);
283 public override bool isValid {
get {
return _target !=
null; } }
using Leap.Unity.Interaction. Internal
TransformSelector Target(Transform transform)