public void ClearElements() { Karts.Clear(); Array.Clear(SelectedKarts, 0, SelectedKarts.Length); TurnKartPaletteBlocks.Clear(); SpinKartPaletteBlocks.Clear(); //Tracks.Clear(); //Array.Clear(SelectedTracks, 0, SelectedTracks.Length); KartGraphicsBlock = null; TextureHub.ClearTextureData(); }
public static bool NewKart(string newKartName) { if (Karts.Exists(k => k.Kart.KartName == newKartName)) { return(false); } Karts.Add(new KartWrapper(new KartInfo(newKartName, null, false))); ChompShopAlerts.UpdateKartsLoaded(); return(true); }
public static void CopyKart(KartWrapper kart) { int nameCount = 1; string newName = kart.Kart.KartName; while (Karts.Exists(k => k.Kart.KartName == newName + nameCount.ToString())) { nameCount++; } newName += nameCount.ToString(); KartWrapper kartWrapper = new KartWrapper(kart, newName); Karts.Add(kartWrapper); ChompShopAlerts.UpdateKartsLoaded(); }
private static void FinishedLoadingKarts(object sender, RunWorkerCompletedEventArgs args) { if (!args.Cancelled && args.Error == null) { //Load in the karts List <KartWrapper> wrappers = new List <KartWrapper>(); List <KartInfo> karts = (List <KartInfo>)args.Result; foreach (KartInfo kart in karts) { //Check to see if it exists if (Karts.Exists(k => k.Kart.KartName == kart.KartName)) { DialogResult result = MessageBox.Show("Kart \"" + kart.KartName + "\" already exists. Replace previous Kart with this Kart? Unsaved changes will be lost!", "Name Conflict", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); if (result == DialogResult.Cancel) { //quit out of loading wrappers.Clear(); break; } else if (result == DialogResult.No) { continue; } else //Yes { //Remove the kart from the list here Karts.Remove(Karts.Single(k => k.Kart.KartName == kart.KartName)); } } wrappers.Add(new KartWrapper(kart)); } if (wrappers.Count > 0) { Karts.AddRange(wrappers); ChompShopAlerts.UpdateKartsLoaded(); } } Pitstop64.Services.ProgressService.StopDialog(); }
bool Check(Karts button, Karts CheckB) { int koldg = 0; if (hod == false && hp == 1) { foreach (Karts ph1 in masb) { if ((ph1.B.FlatAppearance.BorderColor == Color.Red || ph1.B.FlatAppearance.BorderColor == Color.DarkGray || ph1.B.FlatAppearance.BorderColor == Color.Gray) && ph1.Zn == button.Zn && ph1 != button || masb.Count(ob => ob.B.FlatAppearance.BorderColor != SystemColors.ButtonFace && ob.B.FlatAppearance.BorderColor != Color.Black) == 1) { return(true); } } foreach (Karts mh in HandK) { if (mh.B.FlatAppearance.BorderColor == Color.Green && mh.Zn == button.Zn) { return(true); } } return(false); }//Проверка правильно ли противник подкинул нам карту if (hod == true && hp == 0) { foreach (Karts ph in masb) { if (ph.B.FlatAppearance.BorderColor == Color.Red) { if (CheckB.Mast != KozMast && ph.Zn > CheckB.Zn && ph.Mast == CheckB.Mast || CheckB.Mast != KozMast && ph.Mast == KozMast || ph.Mast == KozMast && CheckB.Mast == KozMast && CheckB.Zn < ph.Zn) { return(true); } else { return(false); } } } }//Проверка правильно ли он побил return(true); }
public static void RemoveKart(KartWrapper kart) { if (!Karts.Contains(kart)) { return; } if (kart.IsModified) { //Double check that they don't mind losing their changes if (MessageBox.Show("Kart has unexported changes. Do you really want to remove it from Chomp Shop?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { return; } } Karts.Remove(kart); ChompShopAlerts.RemoveKart(kart); }
}//Ход противника private void B_Click31(object sender, EventArgs e) { hp--; var button = (Button)sender; button.FlatAppearance.BorderColor = Color.Green; button.FlatAppearance.BorderSize = 3; if (MainLabel.Text != "Какие карты вы еще подкинете?") { if (hod == true) { CheckB = HandK.Find(bu => bu.B == button); } Boi(); } else { TakeB_Func(); } }//Мой ход
}//Первый ход противника private void B_Click32(object sender, EventArgs e) { var button = (Button)sender; hp++; button.FlatAppearance.BorderColor = Color.Red; button.FlatAppearance.BorderSize = 3; Karts ob = null; foreach (Karts ph in masb) { if (ph.B == button) { ob = ph; break; } } if (MainLabel.Text == "Какие карты еще подкинул противник?") { hp = 1; } if (Check(ob, CheckB)) { if (MainLabel.Text != "Какие карты еще подкинул противник?") { Boi(); } else { button.FlatAppearance.BorderColor = Color.DarkRed; } } else { if (MainLabel.Text == "Какие карты еще подкинул противник?") { MainLabel.Text = "Противник смухлевал(Вы можете сказать ему об этом, или продолжить игру)"; } else { MainLabel.Text = "Противник смухлевал(Вы можете сказать ему об этом, или продолжить игру)"; } NoB.Visible = false; foreach (Karts ph in masb) { ph.B.Enabled = false; } SayB.Anchor = (((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right); SayB.Cursor = Cursors.Hand; SayB.FlatStyle = FlatStyle.Flat; SayB.Visible = true; SayB.UseVisualStyleBackColor = false; SayB.Text = "Сказать ему"; Hand.Controls.Add(SayB, Hand.ColumnCount - (int)(HandK.Count * 0.7), 0); Hand.Controls.Add(ContB, Hand.ColumnCount - (int)(HandK.Count * 0.4), 0); ContB.Dock = DockStyle.Bottom; ContB.Cursor = Cursors.Hand; ContB.UseVisualStyleBackColor = false; ContB.Visible = true; ContB.FlatStyle = FlatStyle.Flat; ContB.Anchor = (((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right); ContB.Text = "Продолжить игру"; SayB.Click += SayB_Click; ContB.Click += ContB_Click; } }//Ход противника
public void ZaverB_Click(object sender, EventArgs e) { int kolphv = 0; EndF(); if (hp == 0) { foreach (Karts ph in masb) { if (ph.B.FlatAppearance.BorderColor == Color.Red || ph.B.FlatAppearance.BorderColor == Color.Gray || ph.B.FlatAppearance.BorderColor == Color.DarkGray) { ph.B.FlatAppearance.BorderColor = SystemColors.ButtonFace; ph.B.Visible = false; kolkp--; } if (ph.B.Visible == true) { kolphv++;//подсчет карт на столе } } for (int i = 0; i < HandK.Count; i++) { Karts mh = HandK[i]; if (mh.B.FlatAppearance.BorderColor == Color.Green) { Hand.ColumnStyles[Hand.GetColumn(mh.B)].Width = 0; Hand.Controls.Remove(mh.B); HandK.Remove(mh); i--; } if (mh.B.FlatAppearance.BorderColor == Color.Blue) { mh.B.FlatAppearance.BorderColor = SystemColors.ButtonFace; } }//Удаление карт из руки if (HandK.Count < 6) { foreach (Karts ph in masb) { ph.B.Enabled = true; ph.B.Click += B_Click2; ph.B.Click -= B_Click32; if (ph.B.FlatAppearance.BorderColor == Color.Black) { ph.B.Enabled = false; } } foreach (Karts mh in HandK) { mh.B.Enabled = false; } } //смена хода else { if (hod == true) { foreach (Karts mh in HandK) { mh.B.Enabled = false; } foreach (Karts ph in masb) { ph.B.Enabled = true; } } else { foreach (Karts mh in HandK) { mh.B.Enabled = true; } foreach (Karts ph in masb) { ph.B.Enabled = false; } } } //Смена хода if (hod == false) { hod = true; } else { hod = false; } ChangeLabel(); } }//Кнопка завершения хода
private void NoB_Click(object sender, EventArgs e) { int kolphv = 0; ZaverB.Visible = true; TakeB.Visible = true; EndF(); if (hod == false) { foreach (Karts ph in masb) { if (ph.B.FlatAppearance.BorderColor == Color.DarkRed || ph.B.FlatAppearance.BorderColor == Color.Red || ph.B.FlatAppearance.BorderColor == Color.Gray || ph.B.FlatAppearance.BorderColor == Color.DarkGray) { ph.B.FlatAppearance.BorderColor = SystemColors.ButtonFace; ph.B.Visible = false; HandK.Add(new Karts()); Hand.ColumnCount += 1; Hand.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F)); Hand.Controls.Add(HandK[HandK.Count - 1].B, HandK.Count, 1); HandK[HandK.Count - 1].B.Anchor = (((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right); HandK[HandK.Count - 1].B.BackColor = Color.Transparent; HandK[HandK.Count - 1].B.BackgroundImage = ph.B.BackgroundImage; HandK[HandK.Count - 1].B.BackgroundImageLayout = ImageLayout.Zoom; HandK[HandK.Count - 1].B.Cursor = Cursors.Hand; HandK[HandK.Count - 1].B.FlatAppearance.BorderColor = SystemColors.ButtonFace; HandK[HandK.Count - 1].B.FlatAppearance.BorderSize = 7; HandK[HandK.Count - 1].B.FlatAppearance.MouseOverBackColor = Color.Transparent; HandK[HandK.Count - 1].B.FlatStyle = FlatStyle.Flat; HandK[HandK.Count - 1].B.Visible = true; HandK[HandK.Count - 1].B.UseVisualStyleBackColor = false; HandK[HandK.Count - 1].Zn = ph.Zn; HandK[HandK.Count - 1].Mast = ph.Mast; HandK[HandK.Count - 1].B.Click += B_Click31; } }//Добавление карт в руку foreach (Karts mh in HandK) { if (mh.B.FlatAppearance.BorderColor == Color.Blue || mh.B.FlatAppearance.BorderColor == Color.Green) { mh.B.FlatAppearance.BorderColor = SystemColors.ButtonFace; } }//Убираем лишние рамки foreach (Karts mh in HandK) { mh.B.Enabled = false; }// Выключаем руку foreach (Karts ph in masb) { ph.B.Enabled = true; }//Включаем стол } else { foreach (Karts mh in HandK) { if (mh.B.FlatAppearance.BorderColor == Color.Green) { foreach (Karts ph in masb) { if (ph.Zn == mh.Zn && ph.Mast == mh.Mast) { ph.B.Visible = true; ph.B.FlatAppearance.BorderColor = Color.Black; kolkp++; } if (ph.B.Visible == true) { kolphv++; } } } }//Добавление карт из руки на стол for (int i = 0; i < HandK.Count; i++) { Karts mh = HandK[i]; if (mh.B.FlatAppearance.BorderColor == Color.Green) { Hand.ColumnStyles[Hand.GetColumn(mh.B)].Width = 0; Hand.Controls.Remove(mh.B); HandK.Remove(mh); i--; } if (mh.B.FlatAppearance.BorderColor == Color.Blue) { mh.B.FlatAppearance.BorderColor = SystemColors.ButtonFace; } }//Удаление карт из руки foreach (Karts ph in masb) { if (ph.B.FlatAppearance.BorderColor == Color.DarkGray || ph.B.FlatAppearance.BorderColor == Color.Red) { ph.B.FlatAppearance.BorderColor = Color.Black; } }//Окраска 100-процентных карт со стола if (HandK.Count < 6) { foreach (Karts ph in masb) { ph.B.Click -= B_Click32; ph.B.Click += B_Click2; if (ph.B.FlatAppearance.BorderColor == Color.Black) { ph.B.Enabled = false; } else { ph.B.Enabled = true; } } foreach (Karts mh in HandK) { mh.B.Enabled = false; } if (kolphv < 12 - HandK.Count) { ForPB.Anchor = (((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right); ForPB.Cursor = Cursors.Hand; ForPB.FlatStyle = FlatStyle.Flat; ForPB.Visible = true; ForPB.UseVisualStyleBackColor = false; ForPB.Text = "Остальные карты противнику"; Hand.Controls.Add(SayB, Hand.ColumnCount - (int)(HandK.Count * 0.5), 0); Kozir.Click += B_Click2; }//Конец игры } } NoB.Visible = false; hp = 0; ChangeLabel(); }
public FormDurK() { InitializeComponent(); { masb[0] = new Karts() { B = P6B, Mast = 'P' }; masb[1] = new Karts() { B = P7B, Mast = 'P' }; masb[2] = new Karts() { B = P8B, Mast = 'P' }; masb[3] = new Karts() { B = P9B, Mast = 'P' }; masb[4] = new Karts() { B = P10B, Mast = 'P' }; masb[5] = new Karts() { B = PVB, Mast = 'P' }; masb[6] = new Karts() { B = PDB, Mast = 'P' }; masb[7] = new Karts() { B = PKB, Mast = 'P' }; masb[8] = new Karts() { B = PTB, Mast = 'P' }; //Piq masb[9] = new Karts() { B = B6B, Mast = 'B' }; masb[10] = new Karts() { B = B7B, Mast = 'B' }; masb[11] = new Karts() { B = B8B, Mast = 'B' }; masb[12] = new Karts() { B = B9B, Mast = 'B' }; masb[13] = new Karts() { B = B10B, Mast = 'B' }; masb[14] = new Karts() { B = BVB, Mast = 'B' }; masb[15] = new Karts() { B = BDB, Mast = 'B' }; masb[16] = new Karts() { B = BKB, Mast = 'B' }; masb[17] = new Karts() { B = BTB, Mast = 'B' }; //Bub masb[18] = new Karts() { B = K6B, Mast = 'K' }; masb[19] = new Karts() { B = K7B, Mast = 'K' }; masb[20] = new Karts() { B = K8B, Mast = 'K' }; masb[21] = new Karts() { B = K9B, Mast = 'K' }; masb[22] = new Karts() { B = K10B, Mast = 'K' }; masb[23] = new Karts() { B = KVB, Mast = 'K' }; masb[24] = new Karts() { B = KDB, Mast = 'K' }; masb[25] = new Karts() { B = KKB, Mast = 'K' }; masb[26] = new Karts() { B = KTB, Mast = 'K' }; //Krest masb[27] = new Karts() { B = H6B, Mast = 'H' }; masb[28] = new Karts() { B = H7B, Mast = 'H' }; masb[29] = new Karts() { B = H8B, Mast = 'H' }; masb[30] = new Karts() { B = H9B, Mast = 'H' }; masb[31] = new Karts() { B = H10B, Mast = 'H' }; masb[32] = new Karts() { B = HVB, Mast = 'H' }; masb[33] = new Karts() { B = HDB, Mast = 'H' }; masb[34] = new Karts() { B = HKB, Mast = 'H' }; masb[35] = new Karts() { B = HTB, Mast = 'H' }; //Heart }//Все карты в массив for (int i = 0; i < n; i++) { switch (masb[i].B.Name[1]) { case 'V': masb[i].Zn = 11; break; case 'D': masb[i].Zn = 12; break; case 'K': masb[i].Zn = 13; break; case 'T': masb[i].Zn = 14; break; case '1': masb[i].Zn = 10; break; default: masb[i].Zn = Convert.ToInt32(masb[i].B.Name[1]) - 48; break; } }//Добавление свойств for (int i = 0; i < n; i++) { masb[i].B.Click += B_Click1; }//Выбор козыря FormClosing += Programm_Closing; MainLabel.Text = "Выберите козыря"; MainLabel.ForeColor = Color.Fuchsia; ZaverB.Visible = false; TakeB.Visible = false; BackB.Visible = false; TakeB.Click += TakeB_Click; ZaverB.Click += ZaverB_Click; NoB.Click += NoB_Click; { PrB.Click += PrB_Click; MeB.Click += MeB_Click; }// Нажатие "Я" или "Противник" }
}//Добавление свойств для карт (масть и номер) private void B_Click2(object sender, EventArgs e) { Karts button = new Karts() { B = (Button)sender }; button.Mast = button.B.Name[0]; switch (button.B.Name[1]) { case 'V': button.Zn = 11; break; case 'D': button.Zn = 12; break; case 'K': button.Zn = 13; break; case 'T': button.Zn = 14; break; case '1': button.Zn = 10; break; default: button.Zn = Convert.ToInt32(button.B.Name[1]) - 48; break; }//Добавление свойств int kolphv = 0; var but = (Button)sender; but.Visible = false; foreach (Karts ph in masb) { if (ph.B.Visible == true) { kolphv++; } } EndF(); if (HandK.Count < 6) { if (HandK.Count == 0) { Hand.ColumnStyles[Hand.ColumnCount - 1].Width = 0; } HandK.Add(new Karts()); Hand.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F)); Hand.ColumnCount += 1; Hand.Controls.Add(HandK[HandK.Count - 1].B, Hand.ColumnCount - 1, 1); HandK[HandK.Count - 1].B.Anchor = (((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right); HandK[HandK.Count - 1].B.BackColor = Color.Transparent; HandK[HandK.Count - 1].B.BackgroundImage = button.B.BackgroundImage; HandK[HandK.Count - 1].B.BackgroundImageLayout = ImageLayout.Zoom; HandK[HandK.Count - 1].B.Cursor = Cursors.Hand; HandK[HandK.Count - 1].B.FlatAppearance.BorderColor = SystemColors.ButtonFace; HandK[HandK.Count - 1].B.FlatAppearance.BorderSize = 7; HandK[HandK.Count - 1].B.FlatAppearance.MouseOverBackColor = Color.Transparent; HandK[HandK.Count - 1].B.FlatStyle = FlatStyle.Flat; HandK[HandK.Count - 1].B.Visible = true; HandK[HandK.Count - 1].B.UseVisualStyleBackColor = false; HandK[HandK.Count - 1].Zn = button.Zn; HandK[HandK.Count - 1].Mast = button.Mast; HandK[HandK.Count - 1].B.Click += B_Click31; if (kolphv - kolkp == 0) { Kozir.Enabled = true; } }//Добавление карт в руку HandK[HandK.Count - 1].B.Enabled = false;// Отключаем руку if (HandK.Count == 6) { foreach (Karts ph in masb) { ph.B.Click -= B_Click2; ph.B.Enabled = false; }// Отключаем стол и убираем 2 событие int t = 0; foreach (Karts ph in masb) { if (ph.B.Visible == true) { t++; } }//Считаем сколько карт на столе if (l) { kolkp = 6; l = false; ChangeLabel(); MeB.Anchor = (((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right); MeB.Cursor = Cursors.Hand; MeB.FlatStyle = FlatStyle.Flat; MeB.Visible = true; MeB.UseVisualStyleBackColor = false; MeB.Text = "Вы"; Hand.Controls.Add(MeB, 3, 0); Hand.Controls.Add(PrB, 6, 0); PrB.Dock = DockStyle.Bottom; PrB.Cursor = Cursors.Hand; PrB.UseVisualStyleBackColor = false; PrB.Visible = true; PrB.FlatStyle = FlatStyle.Flat; PrB.Anchor = (((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right); PrB.Text = "Противник"; return; }//Если я только набрал старотовую руку else { if (hod == false) { foreach (Karts ph in masb) { ph.B.Enabled = true; ph.B.Click += B_Click32; } } else { foreach (Karts mh in HandK) { mh.B.Enabled = true; } foreach (Karts ph in masb) { ph.B.Enabled = false; ph.B.Click += B_Click32; } } } if (kolkp < 6) { if (kolphv < 6 - kolkp) { foreach (Karts ph in masb) { ph.B.FlatAppearance.BorderColor = Color.Black; } if (Kozir.Visible == true) { kolkp = 1 + kolphv; foreach (Karts ph in masb) { if (ph.Mast == KozMast && ph.Zn == KozZn) { ph.B.Visible = true; ph.B.FlatAppearance.BorderColor = Color.Black; Kozir.Visible = false; } } } else { kolkp = kolphv; } } else { kolkp = 6; } } ChangeLabel(); } //Первый ход } //Добавление карт в стартовую руку(после этого все карты отключены)
public void LoadFromXML() { //TextBank/TextReferences - Only use the offset currently being used //KartReference - Only use the names of the karts selected //MIOBlocks/TKMK00Bocks - Offsets for each one //Karts - Full listing of information //Elements should already have been cleared //ClearElements(); NewElementOffset = int.Parse(_loadedXml.Attribute(NEW_ELEMENT_OFFSET).Value); //Before we start, load up all saved karts and tracks ProgressService.SetMessage("Loading Kart Resources"); foreach (RomItem item in RomProject.Instance.Items) { //If the same name kart hasn't been loaded yet if (item is KartInfo && Karts.FirstOrDefault(k => k.KartName == ((KartInfo)item).KartName) == null) { this.Karts.Add((KartInfo)item); } //else if is trackinfo } //Also the text bank is all elements, so we don't need an xml in here for it ProgressService.SetMessage("Loading Text Blocks"); N64DataElement textRefEl, textBlockEl; if (RomProject.Instance.Files[0].HasElementExactlyAt(TextReferenceBlock.TEXT_REFERENCE_SECTION_1, out textRefEl) && RomProject.Instance.Files[0].HasElementExactlyAt(TextBankBlock.TEXT_BLOCK_START, out textBlockEl)) { TextReferenceBlock refBlock = (TextReferenceBlock)textRefEl; TextBankBlock bankBlock = (TextBankBlock)textBlockEl; TextBank = new TextBank(bankBlock, refBlock, true); } int offset; int count = 0; int fullCount = _loadedXml.Elements().Count(); N64DataElement n64Element; foreach (XElement element in _loadedXml.Elements()) { ProgressService.SetMessage(string.Format("Storing Special Elements {0:0.0}%", (double)count / fullCount)); switch (element.Name.ToString()) { case TURN_PALETTE_BLOCK: foreach (XElement el in element.Elements()) { offset = int.Parse(el.Value); if (RomProject.Instance.Files[0].HasElementExactlyAt(offset, out n64Element)) { int paletteOffset = offset; List <Palette> palettes = new List <Palette>(); palettes.Add((Palette)n64Element); paletteOffset += 0x40 * 2; for (int i = 1; i < 84; i++) //Make not hardcoded later { if (!RomProject.Instance.Files[0].HasElementAt(paletteOffset, out n64Element)) { throw new Exception(); } palettes.Add((Palette)n64Element); paletteOffset += 0x40 * 2; } KartPaletteBlock block = new KartPaletteBlock(offset, palettes); TurnKartPaletteBlocks.Add(block); } } break; case SPIN_PALETTE_BLOCK: foreach (XElement el in element.Elements()) { offset = int.Parse(el.Value); if (RomProject.Instance.Files[0].HasElementExactlyAt(offset, out n64Element)) { int paletteOffset = offset; List <Palette> palettes = new List <Palette>(); palettes.Add((Palette)n64Element); paletteOffset += 0x40 * 2; for (int i = 1; i < 80; i++) //Make not hardcoded later { if (!RomProject.Instance.Files[0].HasElementAt(paletteOffset, out n64Element)) { throw new Exception(); } palettes.Add((Palette)n64Element); paletteOffset += 0x40 * 2; } KartPaletteBlock block = new KartPaletteBlock(offset, palettes); SpinKartPaletteBlocks.Add(block); } } break; case KARTS_GRAPHICS_REFERENCE_BLOCK: offset = int.Parse(element.Value); if (RomProject.Instance.Files[0].HasElementExactlyAt(offset, out n64Element)) { if (n64Element is KartGraphicsReferenceBlock) { KartGraphicsBlock = (KartGraphicsReferenceBlock)n64Element; //KartReader.LoadKartGraphicDmaReferences(KartGraphicsBlock); } } break; case KARTS_PORTRAITS_REFERENCE_TABLE: offset = int.Parse(element.Value); if (RomProject.Instance.Files[0].HasElementExactlyAt(offset, out n64Element)) { if (n64Element is KartPortraitTable) { KartPortraitsTable = (KartPortraitTable)n64Element; //KartReader.LoadKartPortraitDmaReferences(KartPortraitsTable); } } break; case SELECTED_KARTS: int kartIndex = 0; foreach (XElement selKart in element.Elements()) { KartInfo selectedKart = Karts.SingleOrDefault(k => k.KartName == selKart.Name); if (selectedKart != null) { SelectedKarts[kartIndex] = selectedKart; } kartIndex++; } break; case TextureHub.TEXTURE_HUB: TextureHub.LoadReferencesFromXML(element); break; } count++; } }