CornCollision.cs

A sandbox game component that listens for trigger collisions on a BoxCollider. It enables the collider after a delay, checks entering objects for "friendly" and "player" tags, and calls a linked CollisionHandler.StartDeathSequence when a player collides.

Rough CodeFile Access
using Sandbox;
using System.Reflection.Metadata.Ecma335;

public sealed class CornCollision : Component, Component.ITriggerListener
{
	[Property] public SkinnedModelRenderer model { get; set; }
	[Property] public Rigidbody rb { get; set; }
	[Property] int levelLoadDelay = 2000;

	[Property] public SoundEvent death { get; set; }
	[Property] public GameObject visibleVar;
	[Property] static Scene ActiveScene { get; set; }
	[Property] public string[] Tags { get; set; } = { "friendly", "player" };
	[Property] public ParticleSphereEmitter Feathers { get; set; }
	[Property] public CollisionHandler chicken { get; set; }
	[Property] public BoxCollider CornCollider;

	async protected override void OnStart()
	{
		await Task.Delay( levelLoadDelay );
		CornCollider.Enabled = true;
	} 

	async void ITriggerListener.OnTriggerEnter( Collider collision )
	{
		
		


		if ( collision.GameObject.Tags.Has( "friendly" ) )
		{
			
		}
		if ( collision.GameObject.Tags.Has( "player" ) )
		{
			chicken.StartDeathSequence();

		}

	}
	void ITriggerListener.OnTriggerExit( Collider other )
	{


	}
	
	
	
}