62 lines
1.6 KiB
C#
62 lines
1.6 KiB
C#
![]() |
// Crest Ocean System
|
|||
|
|
|||
|
// Copyright 2020 Wave Harmonic Ltd
|
|||
|
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
namespace Crest.Examples
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Simple utility script to destroy the gameobject after a set time.
|
|||
|
/// </summary>
|
|||
|
public class TimedDestroy : MonoBehaviour
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// The version of this asset. Can be used to migrate across versions. This value should
|
|||
|
/// only be changed when the editor upgrades the version.
|
|||
|
/// </summary>
|
|||
|
[SerializeField, HideInInspector]
|
|||
|
#pragma warning disable 414
|
|||
|
int _version = 0;
|
|||
|
#pragma warning restore 414
|
|||
|
|
|||
|
public float m_lifeTime = 2.0f;
|
|||
|
|
|||
|
// this seems to make motion stutter?
|
|||
|
//public float m_scaleToOneDuration = 0.1f;
|
|||
|
|
|||
|
public float m_scaleToZeroDuration = 0.0f;
|
|||
|
|
|||
|
Vector3 m_scale;
|
|||
|
float m_birthTime;
|
|||
|
|
|||
|
void Start()
|
|||
|
{
|
|||
|
m_birthTime = Time.time;
|
|||
|
m_scale = transform.localScale;
|
|||
|
}
|
|||
|
|
|||
|
void Update()
|
|||
|
{
|
|||
|
float age = Time.time - m_birthTime;
|
|||
|
|
|||
|
if (age >= m_lifeTime)
|
|||
|
{
|
|||
|
Helpers.Destroy(gameObject);
|
|||
|
}
|
|||
|
else if (age > m_lifeTime - m_scaleToZeroDuration)
|
|||
|
{
|
|||
|
transform.localScale = m_scale * (1.0f - (age - (m_lifeTime - m_scaleToZeroDuration)) / m_scaleToZeroDuration);
|
|||
|
}
|
|||
|
/*else if ( age < m_scaleToOneDuration && m_scaleToOneDuration > 0.0f )
|
|||
|
{
|
|||
|
transform.localScale = m_scale * age / m_scaleToOneDuration;
|
|||
|
}*/
|
|||
|
else
|
|||
|
{
|
|||
|
transform.localScale = m_scale;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|