A game component that listens for trigger entry to collect a tofu item. On trigger it increments a global ScoreManager.TofuCount, sets ScoreManager.Tofu3collect to true, and plays a configured SoundEvent. In OnUpdate it destroys its GameObject when ScoreManager.Tofu3collect is true.
using Sandbox;
public sealed class TofuCollect3 : Component, Component.ITriggerListener
{
[Property] public SoundEvent tofu { get; set; }
void ITriggerListener.OnTriggerEnter( Collider collision )
{
ScoreManager.TofuCount += 1;
ScoreManager.Tofu3collect = true;
GameObject.PlaySound( tofu );
}
protected override void OnUpdate()
{
if ( ScoreManager.Tofu3collect )
{
GameObject.Destroy();
}
}
}