void AddItem() { if (Event.current.control) { 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 (grid.rect.Contains(filteredMousePosition * gridScale + new Vector2(grid.rect.left, grid.rect.top))) { grabbedObj = new Rect(filteredMousePosition.x, filteredMousePosition.y, grabbedObj.width, grabbedObj.height); lastGrabbedObjScale = new Vector2(grabbedObj.width, grabbedObj.height); //GUI.DrawTexture (grabbedObj, Resources.Load<Texture>("Objects/" + lst5.getSelectedItemContent())); if (Event.current.button == 1 && Event.current.isMouse) { if (chunk.objects.Count > 0) { bool allowedToAdd = true; foreach (var item in chunk.objects) { if (item.position.depth == ((activeLayer + 1) * 0.5f)) { if (ChangeType(item.position).Contains(new Vector2(grid.FilterPosition(filteredMousePosition + new Vector2(hScroll + grid.rect.left, 0), gridScale).x, grid.FilterPosition(filteredMousePosition + new Vector2(0, vScroll + grid.rect.top), gridScale).y))) { allowedToAdd = false; break; } } } if (allowedToAdd) { Debug.Log(TextureList.getSelectedItemContent()); chunk.objects.Add(new LevelObj(new Rect((grid.FilterPosition(filteredMousePosition + new Vector2(hScroll + grid.rect.left, 0), gridScale).x), (grid.FilterPosition(filteredMousePosition + new Vector2(0, vScroll + grid.rect.top), gridScale).y), grabbedObj.width, grabbedObj.height) , Resources.Load <Texture>("Objects/" + TextureList.getSelectedItemContent()), chunk.idAccumulator, ((activeLayer + 1) * 0.5f))); ChunkItemList.Additem(new string[] { chunk.objects[chunk.objects.Count - 1].texture + "." + chunk.idAccumulator.ToString() }); chunk.idAccumulator++; } } else { Debug.Log(TextureList.getSelectedItemContent()); chunk.objects.Add(new LevelObj(new Rect((grid.FilterPosition(filteredMousePosition + new Vector2(hScroll + grid.rect.left, 0), gridScale).x), (grid.FilterPosition(filteredMousePosition + new Vector2(0, vScroll + grid.rect.top), gridScale).y), grabbedObj.width, grabbedObj.height) , Resources.Load <Texture>("Objects/" + TextureList.getSelectedItemContent()), chunk.idAccumulator, ((activeLayer + 1) * 0.5f))); TextureList.Additem(new string[] { chunk.objects[0].texture + "." + chunk.idAccumulator.ToString() }); chunk.idAccumulator++; } } } } }