void DeleteItem() { if (Event.current.alt) { Vector2 filteredMousePosition = new Vector2(HandleUtility.WorldToGUIPoint(Event.current.mousePosition).x - grid.rect.left, HandleUtility.WorldToGUIPoint(Event.current.mousePosition).y - grid.rect.top); filteredMousePosition /= gridScale; if (Event.current.button == 1 && Event.current.isMouse) { foreach (var item in chunk.objects) { if (item.position.depth == ((activeLayer + 1) * 0.5f)) { if (ChangeType(item.position).Contains(filteredMousePosition + new Vector2(hScroll + grid.rect.left, vScroll + grid.rect.top)) && (item.position.depth == (activeLayer + 1) * 0.5f)) { ChunkItemList.DeleteItem(new string[] { item.texture + item.id.ToString() }); chunk.objects.Remove(item); deletedItems.Add(item.texture + "." + item.id.ToString()); window.Repaint(); return; } } } } } if (Event.current.keyCode == KeyCode.Backspace && Event.current.type == EventType.keyUp) { if (dynamicSelection.objects.Count == 0) { return; } foreach (var item in dynamicSelection.objects) { TextureList.DeleteItem(new string[] { item.texture + item.id.ToString() }); chunk.objects.Remove(item); deletedItems.Add(item.texture + "." + item.id.ToString()); } clearSelection(); window.Repaint(); } }