initial commit
This commit is contained in:
44
Assets/Scripts/Lesson_2/SpawnCubeButton.cs
Normal file
44
Assets/Scripts/Lesson_2/SpawnCubeButton.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user