static void Prefix(CardManager __instance)
 {
     for (int i = 0; i < __instance.GetDrawPile().Count; i++)
     {
         CardState     cardState          = __instance.GetDrawPile()[i];
         CharacterData spawnCharacterData = cardState.GetSpawnCharacterData();
         if (!(spawnCharacterData != null))
         {
             continue;
         }
         foreach (SubtypeData subtype in spawnCharacterData.GetSubtypes())
         {
             if (subtype.Key == "SubtypesData_Chosen")
             {
                 return;
             }
         }
     }
 }
 public CardState DivinePriorityUnit(List <CardState> drawPile)
 {
     for (int i = 0; i < drawPile.Count; i++)
     {
         CardState     cardState          = drawPile[i];
         CharacterData spawnCharacterData = cardState.GetSpawnCharacterData();
         if (!(spawnCharacterData != null))
         {
             continue;
         }
         foreach (SubtypeData subtype in spawnCharacterData.GetSubtypes())
         {
             if (subtype.Key == "SubtypesData_Chosen")
             {
                 return(cardState);
             }
         }
     }
     return(null);
 }