45 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|