public void DuplicateSelectedItem() { LevelPiece.Item item = data.GetItemAt(GetSelectedX(), GetSelectedY()); while (item.x++ < COLS && data.HasItemOfTypeAt(item.type, item.x, item.y)) { } if (item.x < COLS) { data.Add(item); AddItemToCell(GetCellAt(item.x, item.y), item.type, item.rotation); } }
private void OnMoved(Transform selected, int x, int y) { LevelPiece.Item item = data.RemoveItemAt(x, y); item.x = CalculatePositionX(selected.localPosition.x, COLS); item.y = CalculatePositionY(selected.localPosition.y, ROWS); data.Add(item); Transform cell = GetCellAt(item.x, item.y); selected.SetParent(cell); selected.Translate(-selected.localPosition, selected.parent); SelectCell(cell); }
private void AddItemToGrid(LevelPiece.ItemType type) { int x = GetSelectedX(); int y = GetSelectedY(); if (data.HasItemOfTypeAt(type, x, y)) { return; } LevelPiece.Item newItem = new LevelPiece.Item(); newItem.rotation = 0; newItem.type = type; newItem.x = x; newItem.y = y; data.Add(newItem); AddItemToCell(currentCell, type, newItem.rotation); }
public void DeleteSelectedItem() { LevelPiece.Item item = data.RemoveItemAt(GetSelectedX(), GetSelectedY()); selectedPanel.gameObject.SetActive(false); }