public void PopulateEvents() { this.listViewItems.Items.Clear(); for (int i = 0; i < PokeManager.NumEvents; i++) { EventDistribution eventDist = PokeManager.GetEventAt(i); if (eventDist.AllowedGames.HasFlag((GameTypeFlags)(1 << ((int)gameSave.GameType - 1)))) { listViewItems.Items.Add(new EventDisplayItem(eventDist, gameSave)); /*ListViewItem listViewItem = new ListViewItem(); * * StackPanel stackPanel = new StackPanel(); * stackPanel.Orientation = Orientation.Horizontal; * * int width = 32; * * Image image = new Image(); * image.Source = eventDist.SmallSprite; * if (eventDist.SmallSprite.PixelHeight == 32) { * image.Width = width; * image.Height = 32; * image.Margin = new Thickness(-2, -7, -2, -2); * image.HorizontalAlignment = HorizontalAlignment.Left; * image.VerticalAlignment = VerticalAlignment.Top; * } * else { * image.Width = eventDist.SmallSprite.PixelWidth; * image.Height = eventDist.SmallSprite.PixelHeight; * image.Margin = new Thickness((28 - image.Width) / 2, (28 - image.Height) / 2, (28 - image.Width) / 2, (28 - image.Height) / 2); * image.HorizontalAlignment = HorizontalAlignment.Left; * image.VerticalAlignment = VerticalAlignment.Center; * } * * Label name = new Label(); * name.VerticalAlignment = VerticalAlignment.Center; * name.Content = eventDist.Title; * name.Margin = new Thickness(2, 0, 0, 0); * * Label completed = new Label(); * completed.VerticalAlignment = VerticalAlignment.Center; * completed.FontWeight = FontWeights.Bold; * completed.Content = "(Completed)"; * completed.Margin = new Thickness(0, 0, 0, 0); * completed.Padding = new Thickness(0, 0, 0, 0); * completed.Visibility = (PokeManager.IsEventCompletedBy(eventDist.ID, gameSave) ? Visibility.Visible : Visibility.Hidden); * * stackPanel.Children.Add(image); * stackPanel.Children.Add(name); * stackPanel.Children.Add(completed); * * listViewItem.Content = stackPanel; * listViewItem.Tag = eventDist; * listViewItems.Items.Add(listViewItem);*/ } } }
public EventDisplayItem(EventDistribution eventDist, IGameSave gameSave) { InitializeComponent(); this.eventDist = eventDist; this.gameSave = gameSave; this.labeTitle.Content = eventDist.GetTitle(gameSave) + (PokeManager.IsEventCompletedBy(eventDist.ID, gameSave) ? " (Completed)" : ""); BitmapSource image = eventDist.SmallSprite; this.imageSprite.Width = image.PixelWidth; this.imageSprite.Height = image.PixelHeight; this.imageSprite.Source = image; }
private void UpdateDetails() { int count = 0; int completed = 0; for (int i = 0; i < PokeManager.NumEvents; i++) { EventDistribution eventDist = PokeManager.GetEventAt(i); if (eventDist.AllowedGames.HasFlag((GameTypeFlags)(1 << ((int)gameSave.GameType - 1)))) { count++; if (PokeManager.IsEventCompletedBy(eventDist.ID, gameSave)) { completed++; } } } labelPocket.Content = "Events Completed " + completed + "/" + count; }
private void OnItemListSelectionChanged(object sender, SelectionChangedEventArgs e) { int index = listViewItems.SelectedIndex; if (index < listViewItems.Items.Count) { if (index != -1) { selectedIndex = index; } if (selectedIndex != -1 && selectedIndex < listViewItems.Items.Count) { selectedEvent = (listViewItems.Items[selectedIndex] as EventDisplayItem).Event; this.labelTitle.Content = selectedEvent.GetTitle(gameSave) + (PokeManager.IsEventCompletedBy(selectedEvent.ID, gameSave) ? " (Completed)" : ""); this.textBlockDescription.Text = selectedEvent.GetDescription(gameSave); this.textBlockRequirements.Text = selectedEvent.GetRequirements(gameSave); this.imageSprite.Width = selectedEvent.BigSprite.PixelWidth; this.imageSprite.Height = selectedEvent.BigSprite.PixelHeight; this.imageSprite.Source = selectedEvent.BigSprite; this.buttonActivate.IsEnabled = !PokeManager.IsEventCompletedBy(selectedEvent.ID, gameSave) && selectedEvent.IsRequirementsFulfilled(gameSave); } else { selectedEvent = null; this.labelTitle.Content = ""; this.textBlockDescription.Text = ""; this.textBlockRequirements.Text = ""; this.imageSprite.Source = null; this.buttonActivate.IsEnabled = false; } } else { selectedEvent = null; selectedIndex = -1; this.labelTitle.Content = ""; this.textBlockDescription.Text = ""; this.textBlockRequirements.Text = ""; this.imageSprite.Source = null; this.buttonActivate.IsEnabled = false; } }
private byte[] SaveCompletedEvents() { List <byte> data = new List <byte>(); data.AddRange(BitConverter.GetBytes(PokeManager.NumEvents)); for (int i = 0; i < PokeManager.NumEvents; i++) { EventDistribution eventDist = PokeManager.GetEventAt(i); data.AddRange(ByteHelper.GetStringBytes(eventDist.ID, 40)); List <uint> completedList = PokeManager.GetCompletedEventsList(eventDist.ID); data.AddRange(BitConverter.GetBytes(completedList.Count)); foreach (uint fullID in completedList) { data.AddRange(BitConverter.GetBytes(fullID)); } } return(data.ToArray()); }