Items/SoccerBall.cs
using Clover.Player;
namespace Clover.Items;
[Category( "Clover/Items" )]
public class SoccerBall : Component, Component.ICollisionListener
{
[Property] public SoundEvent KickSound { get; set; }
public void OnCollisionStart( Collision collision )
{
if ( collision.Other.GameObject == null ||
collision.Other.GameObject.Components.Get<PlayerCharacter>() == null )
{
return;
}
// Log.Info( $"SoccerBall collided with {collision.Other.GameObject}" );
Components.Get<Rigidbody>().ApplyImpulseAt( collision.Contact.Point, collision.Contact.Normal * 5000.0f );
GameObject.PlaySound( KickSound );
}
/*public void OnCollisionUpdate( Collision collision )
{
Log.Info( "SoccerBall is colliding with something" );
}*/
}