void Awake() { StartLocalPosition = transform.localPosition; Animation = new AnimationConcurrent( new AnimationSequence( Animator.Transform( Easing.OutBack, new TimePercentageGetter(.7f), new TransformPartPositionGetter( transform, new NullableVector3(x: transform.localPosition.x - .2f), true) ), new Wait(.3f) ), Animator.Transform( Easing.Linear, new TimePercentageGetter(1f), new TransformPartPositionGetter( transform, new NullableVector3(z: transform.localPosition.z + 1.7f), true) ) ); }
void Awake() { var maxAngle = DoorSide == Side.Left ? MaxAngle : DoorSide == Side.Right ? -MaxAngle : throw new ArgumentException(nameof(DoorSide) + " is invalid", nameof(DoorSide)); Animation = new TransformAnimation <Quaternion>( Easing.OutCubic, new TimePercentageGetter(1f), new TransformRotationGetter(transform, Quaternion.Euler(0, maxAngle, 0), true)); }
void Awake() { Sequence = new AnimationSequence( new TransformAnimation <Vector3>( Easing.Linear, new TimePercentageGetter(1f), new TransformPositionGetter(transform, Vector2.one, false)), new TransformAnimation <Vector3>( Easing.Linear, new TimePercentageGetter(1f), new TransformScaleGetter(transform, Vector3.one)) ); }