CardBreakPiece.cs
using Sandbox;
public sealed class CardBreakPiece : Component
{
[Property] public ModelRenderer Renderer { get; set; }
private TimeSince _timeSinceSpawn;
private float _lifetime;
//private TimeSince _timeSinceToggleRender;
//private float _nextToggleTime;
//private bool _isVisible;
protected override void OnStart()
{
base.OnStart();
_timeSinceSpawn = 0f;
_lifetime = Game.Random.Float( 3f, 8.5f );
//_timeSinceToggleRender = 0;
//_isVisible = true;
}
protected override void OnUpdate()
{
//if ( _timeSinceSpawn > _lifetime * 0.5f && _timeSinceToggleRender > (_isVisible ? Utils.Map( _timeSinceSpawn, 0f, _lifetime * 0.5f, 1f, 0.05f, EasingType.ExpoIn) : 0.05f) )
//{
// _timeSinceToggleRender = 0f;
// _isVisible = !_isVisible;
// Renderer.Enabled = _isVisible;
//}
if(_timeSinceSpawn > _lifetime * 0.5f)
Renderer.Tint = Color.White.WithAlpha( Utils.Map( _timeSinceSpawn, _lifetime * 0.5f, _lifetime, 1f, 0f, EasingType.ExpoIn ) );
if ( _timeSinceSpawn > _lifetime )
GameObject.Destroy();
}
}