private void SetVillagerFromIndex(int index) { if (villagerDatabase != null && selectedVillager != null && index > -1) { var count = 0; for (var i = 0; i < villagerDatabase.Length; i++) { var speciesDict = villagerDatabase[i]; if (count + speciesDict.Count > index) { var species = (byte)i; var variant = speciesDict.Keys.ElementAt(index - count); if (selectedVillager.Species != species || selectedVillager.VariantIdx != variant) { selectedVillager.Species = species; selectedVillager.VariantIdx = variant; // Update image var panel = this.FindControl <StackPanel>("VillagerPanel"); if (panel.Children[selectedVillager.Index] is Button btn && btn.Content is Image img) { img.Source?.Dispose(); img.Source = ImageLoadingUtil.LoadImageForVillager(selectedVillager); ToolTip.SetTip(img, villagerDatabase[species][variant]); } return; } } count += speciesDict.Count; } } }
private void LoadVillagers() { if (saveFile != null && saveFile.Town != null) { var villagerControl = this.FindControl <StackPanel>("VillagerPanel"); for (var i = 0; i < 10; i++) { var villager = saveFile.Town.GetVillager(i); var img = new Image { Width = 64, Height = 64, Source = ImageLoadingUtil.LoadImageForVillager(villager), Cursor = new Cursor(StandardCursorType.Hand) }; var button = new Button { Background = Brushes.Transparent, BorderThickness = new Thickness(0), Name = $"Villager{i}", Content = img }; button.Click += (o, e) => LoadVillager(villager); if (villagerDatabase != null) { ToolTip.SetTip(img, villagerDatabase[villager.Species][villager.VariantIdx]); } villagerControl.Children.Add(button); } } }
private void LoadVillagers() { var villagerControl = this.FindControl <StackPanel>("VillagerPanel"); for (var i = 0; i < 10; i++) { var villager = saveFile.Villagers[i]; var img = new Image { Width = 64, Height = 64, Source = ImageLoadingUtil.LoadImageForVillager(villager) }; villagerControl.Children.Add(img); } }