36 lines
1.5 KiB
C#
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);
|
|
}
|
|
}
|