popcorn/Scripts/SomethingTo/MoveTo.cs

36 lines
1.5 KiB
C#

using UnityEngine;
using System;
public class MoveTo : SomethingTo {
private Vector3 fromPosition;
private Vector3 targetPosition;
private Vector3 initializePosition;
public Vector3 InitializePosition{
get{ return initializePosition; }
}
void Awake(){
initializePosition = transform.position;
}
private void Lerp(float lerp){
transform.position = Vector3.Lerp(fromPosition, targetPosition, lerp);
}
public void ChangePosition(Vector3 targetPosition, float interval, EasingType easingType = EasingType.Linear){
ChangePosition(transform.position, targetPosition, interval, ActionExtensions.EmptyAction, easingType);
}
public void ChangePosition(Vector3 fromPosition, Vector3 targetPosition, float interval, EasingType easingType = EasingType.Linear){
ChangePosition(fromPosition, targetPosition, interval, ActionExtensions.EmptyAction, easingType);
}
public void ChangePosition(Vector3 targetPosition, float interval, Action callback, EasingType easingType = EasingType.Linear){
ChangePosition(transform.position, targetPosition, interval, ActionExtensions.EmptyAction, easingType);
}
public void ChangePosition(Vector3 fromPosition, Vector3 targetPosition, float interval, Action callback, EasingType easingType = EasingType.Linear){
this.targetPosition = targetPosition;
this.fromPosition = fromPosition;
Begin(Lerp, interval, callback, easingType);
}
}