Esempio n. 1
0
        public void Update(Status status, IIsaacReader reader)
        {
            if (MainWindow.IsShuttingDown)
            {
                return;
            }
            Dispatcher.Invoke(() => {
                if (!status.Ready)
                {
                    Clear();
                    return;
                }

                var abpReader = reader as AfterbirthPlusIsaacReader;
                if (abpReader == null)
                {
                    Clear();
                    return;
                }

                List <Item> trinkets;
                if (CreationMode.On)
                {
                    trinkets = Trinkets.AllTrinkets.Select(pair => pair.Value).ToList();
                    trinkets.Sort((a, b) => string.CompareOrdinal(a.I18N, b.I18N));
                }
                else
                {
                    trinkets = abpReader.GetSmeltedTrinkets();
                }

                if (_addedTrinkets.Count > trinkets.Count)
                {
                    Clear();
                }

                var toAdd = new Dictionary <int, Item>();
                for (var i = 0; i < trinkets.Count; i++)
                {
                    var trinket = trinkets[i];
                    if (!_addedTrinkets.Contains(trinket))
                    {
                        toAdd.Add(i, trinket);
                    }
                }

                toAdd.ToList().ForEach(pair => {
                    var trinket      = pair.Value;
                    var resource     = ResourcesUtil.TrinketResource(trinket);
                    var imageModel   = new GeneralImageModel(resource, trinket.I18N, 0, 0, 2, Visibility.Visible, Cursors.Hand, 64, 64);
                    var trinketImage = new GeneralImage(imageModel, BitmapScalingMode.NearestNeighbor, MouseLeftButtonDownOnTrinketImage);
                    MainPanel.Children.Insert(pair.Key, trinketImage);
                    _addedTrinkets.Add(pair.Value);
                });
            });
        }
 private static void CreationModeClick(IInputElement image, GeneralImageModel model)
 {
     if (!CreationMode.On)
     {
         return;
     }
     image.MouseLeftButtonDown += (sender, args) => {
         CreationMode.CurrentImage = model;
     };
 }
Esempio n. 3
0
 public TransformationItem(string i18N, int id, int x = 0, int y = 0, float scale = 1, float blockScale = 1) : this(i18N, UnmoddedItemResource(id), x, y, scale)
 {
     BlockImageModel = new GeneralImageModel(BlockImageResource)
     {
         Visibility = Visibility.Hidden
     };
     Id         = id;
     BlockScale = blockScale;
     Blocked    = CreationMode.BlockModeOn;
 }
Esempio n. 4
0
        public Transformation(string name, string i18N, int memoryOffset, int x = 0, int y = 0, float scale = 1.0F)
        {
            Name         = name;
            MemoryOffset = memoryOffset;
            I18N         = i18N;
            var transfotmationImageResource = $"IsaacDashboard.Images.Transformations.{name}.png";

            TransformationImageModel = new GeneralImageModel(transfotmationImageResource, i18N, x, y)
            {
                Scale      = scale,
                Visibility = Visibility.Hidden
            };
            TransformationLabel = $"{I18N}: {_count}";
        }
        public void Update(Status status, IIsaacReader reader)
        {
            if (MainWindow.IsShuttingDown)
            {
                return;
            }
            Dispatcher.Invoke(() => {
                if (!status.Ready)
                {
                    MainPanel.Children.Clear();
                    return;
                }

                var abpREader = reader as AfterbirthPlusIsaacReader;
                if (abpREader == null)
                {
                    MainPanel.Children.Clear();
                    return;
                }

                var voidedItems = abpREader.GetVoidedItems();

                if (MainPanel.Children.Count > voidedItems.Count)
                {
                    MainPanel.Children.Clear();
                }

                for (var i = MainPanel.Children.Count; i < voidedItems.Count; i++)
                {
                    var voidedItem = voidedItems[i];
                    GeneralImageModel imageModel;
                    if (voidedItem == null)
                    {
                        imageModel = new GeneralImageModel(null, "Unknown", 0, 0, 2, Visibility.Visible, Cursors.Arrow, 64, 64);
                    }
                    else
                    {
                        imageModel = new GeneralImageModel(ResourcesUtil.ItemResource(voidedItem), voidedItem.I18N, 0, 0, 2, Visibility.Visible, Cursors.Arrow, 64, 64);
                    }
                    MainPanel.Children.Add(new GeneralImage(imageModel));
                }
            });
        }
Esempio n. 6
0
 public TransformationItem(string i18N, string resource, int x = 0, int y = 0, float scale = 1) : base(resource, i18N, x, y)
 {
     ItemImageModel = new GeneralImageModel(resource);
     Touched        = CreationMode.On;
     Scale          = scale;
 }