Files
ScienceLab.Density/Assets/Scripts/Lesson_2/SpawnCubeButton.cs
2026-06-04 00:55:54 +03:00

45 lines
1.1 KiB
C#

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;
}
}