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; }; }
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; }
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)); } }); }
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; }