private void Game_MapListMapAppended(FrostbiteClient sender, Core.Maps.MaplistEntry mapEntry) { this.InvokeIfRequired(() => this.InsertMapInMapList(-1, mapEntry)); }
private void InsertMapInMapList(int insertIndex, Core.Maps.MaplistEntry mapEntry) { this.lsvMaplist.BeginUpdate(); ListViewItem lviMap = new ListViewItem(); lviMap.Tag = mapEntry; lviMap.Name = mapEntry.MapFileName; lviMap.Text = Convert.ToString(this.lsvMaplist.Items.Count + 1); if (mapEntry.Gamemode != null && mapEntry.Gamemode.Length > 0) { //lviMap.SubItems.Add(this.m_client.GetFriendlyGamemode(mapEntry.Gamemode)); CMap tmpMap = this.m_client.GetFriendlyMapByFilenamePlayList(mapEntry.MapFileName, mapEntry.Gamemode); lviMap.SubItems.Add(tmpMap != null ? tmpMap.GameMode : String.Empty); lviMap.SubItems.Add(tmpMap != null ? tmpMap.PublicLevelName : String.Empty); } else { lviMap.SubItems.Add(this.m_client.GetFriendlyGamemodeByMap(mapEntry.MapFileName)); lviMap.SubItems.Add(this.m_client.GetFriendlyMapname(mapEntry.MapFileName)); } //lviMap.SubItems.Add(this.m_client.GetFriendlyMapname(mapEntry.MapFileName)); lviMap.SubItems.Add(mapEntry.MapFileName); ListViewItem.ListViewSubItem lviRounds = new ListViewItem.ListViewSubItem(); lviRounds.Name = "rounds"; if (mapEntry.Rounds == 0) { lviRounds.Text = "2"; lviRounds.Tag = 0; } else { lviRounds.Text = mapEntry.Rounds.ToString(); lviRounds.Tag = mapEntry.Rounds; } lviMap.SubItems.Add(lviRounds); if (insertIndex >= 0) { this.lsvMaplist.Items.Insert(insertIndex, lviMap); } else { this.lsvMaplist.Items.Add(lviMap); } this.UpdateMaplistIndexes(); for (int i = 0; i < this.lsvMaplist.Columns.Count; i++) { this.lsvMaplist.Columns[i].Width = -2; } if (this.m_blSettingAppendingSingleMap == true) { this.OnSettingResponse("local.maplist.append", true); } this.lsvMaplist.EndUpdate(); }