You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.6 KiB

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class CubeWithCrystals : MonoBehaviour
  5. {
  6. public GameObject crystals;
  7. public bool triggeranimate;
  8. public bool triggeranimate1;
  9. private void Update()
  10. {
  11. }
  12. IEnumerator GrowCoroutine()
  13. {
  14. float elapsedTime = 0;
  15. Vector3 startPosition = crystals.transform.position;
  16. Vector3 endPosition = new Vector3(crystals.transform.position.x, crystals.transform.position.y + 1.0f, crystals.transform.position.z);
  17. float time = 0.8f;
  18. while (elapsedTime < time)
  19. {
  20. transform.position = Vector3.Lerp(startPosition, endPosition, (elapsedTime / time));
  21. yield return new WaitForEndOfFrame();
  22. elapsedTime += Time.deltaTime;
  23. }
  24. crystals.transform.position = endPosition;
  25. }
  26. IEnumerator ShrinkCoroutine()
  27. {
  28. float elapsedTime = 0;
  29. Vector3 startPosition = crystals.transform.position;
  30. Vector3 endPosition = new Vector3(crystals.transform.position.x, crystals.transform.position.y - 1.0f, crystals.transform.position.z);
  31. float time = 0.8f;
  32. while (elapsedTime < time)
  33. {
  34. transform.position = Vector3.Lerp(startPosition, endPosition, (elapsedTime / time));
  35. yield return new WaitForEndOfFrame();
  36. elapsedTime += Time.deltaTime;
  37. }
  38. crystals.transform.position = endPosition;
  39. }
  40. public void Animate()
  41. {
  42. StartCoroutine(GrowCoroutine());
  43. }
  44. public void returnToPosition()
  45. {
  46. StartCoroutine(ShrinkCoroutine());
  47. }
  48. }