cards/CardRaccoon.cs
using Sandbox;
using System.Threading.Tasks;
public class CardRaccoon : Card
{
public override bool IsAlive => true;
public override bool ShouldHandleEvent( EventType eventType )
{
return eventType == EventType.TurnStart && Manager.Instance.GetNumNearbyCards( GridPos, adjacentOnly: true ) > 0;
}
public override async Task HandleEventAsync( EventType eventType )
{
var nearbyCards = Manager.Instance.GetNearbyCards( GridPos, adjacentOnly: true );
if(nearbyCards.Count > 0)
{
await Task.DelayRealtime( 200 );
var card = nearbyCards[Game.Random.Int( 0, nearbyCards.Count - 1 )];
await Manager.Instance.ShakeCard(card);
await Task.DelayRealtime( 500 );
}
}
}