using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class CubeWithCrystals : MonoBehaviour
|
|
{
|
|
public GameObject crystals;
|
|
public bool triggeranimate;
|
|
public bool triggeranimate1;
|
|
|
|
private void Update()
|
|
{
|
|
|
|
}
|
|
|
|
IEnumerator GrowCoroutine()
|
|
{
|
|
float elapsedTime = 0;
|
|
Vector3 startPosition = crystals.transform.position;
|
|
Vector3 endPosition = new Vector3(crystals.transform.position.x, crystals.transform.position.y + 1.0f, crystals.transform.position.z);
|
|
float time = 0.8f;
|
|
while (elapsedTime < time)
|
|
{
|
|
transform.position = Vector3.Lerp(startPosition, endPosition, (elapsedTime / time));
|
|
yield return new WaitForEndOfFrame();
|
|
elapsedTime += Time.deltaTime;
|
|
}
|
|
crystals.transform.position = endPosition;
|
|
}
|
|
IEnumerator ShrinkCoroutine()
|
|
{
|
|
float elapsedTime = 0;
|
|
Vector3 startPosition = crystals.transform.position;
|
|
Vector3 endPosition = new Vector3(crystals.transform.position.x, crystals.transform.position.y - 1.0f, crystals.transform.position.z);
|
|
float time = 0.8f;
|
|
while (elapsedTime < time)
|
|
{
|
|
transform.position = Vector3.Lerp(startPosition, endPosition, (elapsedTime / time));
|
|
yield return new WaitForEndOfFrame();
|
|
elapsedTime += Time.deltaTime;
|
|
}
|
|
crystals.transform.position = endPosition;
|
|
}
|
|
|
|
public void Animate()
|
|
{
|
|
StartCoroutine(GrowCoroutine());
|
|
}
|
|
public void returnToPosition()
|
|
{
|
|
StartCoroutine(ShrinkCoroutine());
|
|
}
|
|
}
|