public void Defend(int cardIndex) { defenderCard = currentTarget.Cards[cardIndex]; bool canDefend=false; if (_gctx.TurnCtx.IsFor硅藻土 && _gctx.TurnCtx.needCardType == null) { if (defenderCard is Acid || defenderCard is Base) { canDefend = true; _gctx.TurnCtx.needCardType = defenderCard.GetType(); } } else if (_gctx.TurnCtx.needCardType != null) { canDefend = defenderCard.GetType() == _gctx.TurnCtx.needCardType; } else { canDefend = CanDefend(offenderCard, defenderCard); } if (canDefend) { currentTarget.Cards.Remove(defenderCard); _gctx.droppedCards.Add(defenderCard); _gctx.autoEvent.Set(); } else { OnWrongCard(this, new EventArgs()); } }