На Canvas висит скрипт:
public class Test2 : Test1
{
private GameObject inst;
protected GameObject GO;
private static Vector2 destination;
public static Vector2 Destination
{
get { return destination; }
set
{
destination = value;
}
}
void Start()
{
GO = Resources.Load("W11", typeof (GameObject)) as GameObject;
destination = RandomVector2(destination);
Init();
}
public void Init()
{
inst = Instantiate(GO, destination, Quaternion.identity) as GameObject;
inst.transform.SetParent(Canvas.transform, false);
inst.transform.position = destination;
StartCoroutine(TCoroutine()); //выставляет новое значение destination
}
}
За движение объекта отвечает другой скрипт (висит на самом объекте):
public class Update1 : MonoBehaviour
{
void Update()
{
transform.position = Vector2.Lerp(transform.position, Test2.Destination, Test1.speed* Time.deltaTime);
}
}
При таком раскладе все работает верно, но мне нужно переместить функцию Update в первый скрипт, и
проблема в том, что когда я пытаюсь вставить туда:
void Update()
{
inst.transform.position = Vector2.Lerp(transform.position, destination, Test1.speed* Time.deltaTime);
}
Объект не реагирует нужным образом - вместо это трясется в одной точке.
Как нужно переписать, чтобы все работало исправно?