/// <summary> /// Checks if P1 is able to use trap cards based off hooks. /// </summary> /// <param name="gameTime">for timing</param> /// <param name="p1">player 1</param> /// <param name="p2">player 2</param> /// <param name="p1Field">player 1's field</param> /// <param name="p2Field">player 2's field</param> /// <returns>Trap card that was hooked and the card that hooked it.</returns> private KeyValuePair <TrapCard, int> CheckHooksP1(GameTime gameTime, Player p1, Player p2, Field p1Field, Field p2Field) { foreach (Card card in p1Field.magicAndTrapZone) { if (card is TrapCard) { TrapCard trap = (TrapCard)card; int hookedCardIndex = trap.HookTriggered(p1); if (hookedCardIndex > -1) // Card was hooked { return(new KeyValuePair <TrapCard, int>(trap, hookedCardIndex)); } } } return(new KeyValuePair <TrapCard, int>(null, -1)); }