cards/CardStockMarket.cs
using Sandbox;
using System.Threading.Tasks;
public class CardStockMarket : Card
{
//public override bool ShouldHandleEvent( EventType eventType )
//{
// switch ( eventType )
// {
// case EventType.Match:
// return Manager.Instance.ChosenCards[1] == this;
// case EventType.TurnStart:
// return CardTypeID == 0 && Manager.Instance.Stats[StatType.TurnNum] > 0 && Game.Random.Float(0f, 1f) < 0.75f;
// }
// return false;
//}
//public override async Task HandleEventAsync( EventType eventType )
//{
// if(eventType == EventType.TurnStart)
// {
// if ( CardType == CardType.StockMarket )
// {
// foreach(var card in Manager.Instance.Cards.Where(x => x.CardType == CardType.StockMarket))
// card.SetCardType( CardType.StockMarketDown );
// }
// else
// {
// foreach ( var card in Manager.Instance.Cards.Where( x => x.CardType == CardType.StockMarketDown ) )
// card.SetCardType( CardType.StockMarket );
// }
// }
// else if(eventType == EventType.Match)
// {
// Manager.Instance.PushEventMessage( this, eventType );
// await Task.DelayRealtime( 150 );
// if (CardType == CardType.StockMarket)
// {
// Manager.Instance.PlayCardSfxBetween( "dice_6", Manager.Instance.ChosenCards[0], Manager.Instance.ChosenCards[1], volume: 1.6f, pitch: Game.Random.Float( 0.8f, 0.85f ) );
// await Task.DelayRealtime( 50 );
// int moneyAmount = MathX.CeilToInt( (float)Manager.Instance.Money / 2f ) + (int)Manager.Instance.Stats[StatType.EarnExtraMoney];
// Manager.Instance.SpawnGainMoneyFloater( moneyAmount, WorldPosition );
// await Manager.Instance.GainMoney( moneyAmount );
// }
// else
// {
// Manager.Instance.PlayCardSfxBetween( "dice_1", Manager.Instance.ChosenCards[0], Manager.Instance.ChosenCards[1], volume: 1.6f, pitch: Game.Random.Float( 0.7f, 0.75f ) );
// await Task.DelayRealtime( 50 );
// int moneyAmount = Math.Max(MathX.CeilToInt((float)Manager.Instance.Money / 2f), 0);
// Manager.Instance.SpawnLoseMoneyFloater( moneyAmount, WorldPosition );
// await Manager.Instance.LoseMoney( moneyAmount );
// }
// await Task.DelayRealtime( 1000 );
// Manager.Instance.PopEventMessage();
// }
//}
//public override string GetEventText( EventType eventType )
//{
// if ( eventType == EventType.Match )
// {
// if ( CardType == CardType.StockMarket )
// return "✅Match: gain half your money if the market is up";
// else
// return "✅Match: lose half your money if the market is down";
// }
// return "";
//}
}