コード例 #1
0
    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();
        }
    }