protected override void SpellAction(List <BaseCard> targets) { var enemyHand = Player.OppositePlayer.Hand.Cards.Select(card => card.gameObject).ToList(); if (Player.IsLocalPlayer) { var tween = new FlipCardsTween { Targets = enemyHand.ToList(), Flip = FlipState.FaceUp, TimeUntilNextTween = 1f }; GameManager.TweenQueue.AddTweenToQueue(tween); } var lesson = Player.OppositePlayer.Hand.Lessons.FirstOrDefault(); if (lesson != null) { Player.OppositePlayer.Discard.Add(lesson); enemyHand.Remove(lesson.gameObject); } if (Player.IsLocalPlayer) { var tween = new FlipCardsTween { Targets = enemyHand, Flip = FlipState.FaceDown }; GameManager.TweenQueue.AddTweenToQueue(tween); } }
protected override void SpellAction(List <BaseCard> targets) { int handCount = Player.Hand.Cards.Count; var hand = Player.Hand.Cards.Select(card => card.gameObject).ToList(); if (!Player.IsLocalPlayer) { var tween = new FlipCardsTween { Targets = hand.ToList(), Flip = FlipState.FaceUp, TimeUntilNextTween = 1f }; GameManager.TweenQueue.AddTweenToQueue(tween); } for (int i = handCount - 1; i >= 0; i--) { var card = Player.Hand.Cards[i]; if (card.Type != Type.Lesson) { continue; } Player.InPlay.Add(card); hand.Remove(card.gameObject); } if (!Player.IsLocalPlayer) { var tween = new FlipCardsTween { Targets = hand, Flip = FlipState.FaceDown }; GameManager.TweenQueue.AddTweenToQueue(tween); } }