/// <summary>Creates new Cards as well as the corresponding CardIdentities. The cards may be in different groups.</summary>
/// <param name="id">An array with the new CardIdentity ids.</param>
/// <param name="type">An array containing the corresponding CardModel guids (encrypted)</param>
/// <param name="groups">An array indicating the group the cards must be loaded into.</param>
/// <seealso cref="CreateCard(int[], ulong[], Group)"> for a more efficient way to insert cards inside one group.</seealso>
private static void CreateCard(IList <int> id, IList <Guid> type, IList <Group> groups, IList <string> sizes, string sleeveUrl = "")
{
// Ignore cards created by oneself
if (Player.Find((byte)(id[0] >> 16)) == Player.LocalPlayer)
{
return;
}
for (var i = 0; i < id.Count; i++)
{
var group = groups[i];
var owner = group.Owner;
if (owner == null)
{
Program.GameMess.Warning("[CreateCard] Player not found.");
continue;
}
var c = new Card(owner, id[i], Program.GameEngine.Definition.GetCardById(type[i]), false, sizes[i]); c.SetSleeve(sleeveUrl); group.AddAt(c, group.Count);
}
}