示例#1
0
        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;
        }
示例#3
0
        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;
        }
示例#4
0
        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;
            }
        }
示例#5
0
        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());
        }