public void UnselectEnemyHero(Hero hero) { if (hero == null) { return; } bool removed = false; for (int i = 0; i < PickedEnemies.Count; i++) { if (PickedEnemies[i].Hero == hero) { PickedEnemies.RemoveAt(i); removed = true; break; } } if (!removed) { return; } AvailableAllies.Add(new HeroSelectionViewModel(hero)); AvailableEnemies.Add(new HeroSelectionViewModel(hero)); Refresh(); }
private void BanHero(Hero hero) { if (hero == null) { return; } if (PickedAllies.Any(h => h.Hero == hero) || PickedEnemies.Any(h => h.Hero == hero) || Bans.Any(h => h == hero)) { return; } for (int i = 0; i < AvailableAllies.Count; i++) { if (AvailableAllies[i].Hero == hero) { AvailableAllies.RemoveAt(i); break; } } for (int i = 0; i < AvailableEnemies.Count; i++) { if (AvailableEnemies[i].Hero == hero) { AvailableEnemies.RemoveAt(i); break; } } Bans.Add(hero); }
private void ReInit() { AvailableAllies.Clear(); AvailableEnemies.Clear(); PickedAllies.Clear(); PickedEnemies.Clear(); Bans.Clear(); if (_stats == null) { AvailableMaps = Array.Empty <Map>(); SelectedMap = null; TheoWinRate = null; return; } AvailableMaps = new [] { new Map(-1, "") }.Concat(_stats.Maps.Values).ToList(); foreach (var hero in _stats.Heroes.Values) { AvailableAllies.Add(new HeroSelectionViewModel(hero)); AvailableEnemies.Add(new HeroSelectionViewModel(hero)); } Refresh(); }