using UnityEngine; using System.Collections; public class SpawnCubeButton : MonoBehaviour { public int cubeId = 0; public CubeSpawner cubeSpawner; private Vector3 _originalScale; void Start() { _originalScale = transform.localScale; } void OnLookInteract() { cubeSpawner.SpawnNewCube(cubeId); StartCoroutine(PressAnimation()); } private IEnumerator PressAnimation() { float duration = 0.3f; float elapsed = 0f; Vector3 pressedScale = new Vector3(_originalScale.x, _originalScale.y * 0.3f, _originalScale.z); while (elapsed < duration) { elapsed += Time.deltaTime; transform.localScale = Vector3.Lerp(_originalScale, pressedScale, elapsed / duration); yield return null; } elapsed = 0f; while (elapsed < duration) { elapsed += Time.deltaTime; transform.localScale = Vector3.Lerp(pressedScale, _originalScale, elapsed / duration); yield return null; } transform.localScale = _originalScale; } }