public ItemSlot findItem(RectangleSlot slot, Item item) { foreach(ItemSlot itemSlot in slot.Items) if(itemSlot.item==item) return itemSlot; return null; }
public void DrawCellsItem(RectangleSlot slot, float offsetX, float offsetY, ItemSlot item, Texture2D image) { Rect cellRect = new Rect(); cellRect.x = offsetX + (item.getPosition().X-1) * CellSettings.cellWidth + CellSettings.cellPaddingX + slot.position.OffsetX; cellRect.y = offsetY + (item.getPosition().Y-1) * CellSettings.cellHeight + CellSettings.cellPaddingY + slot.position.OffsetY; cellRect.width = CellSettings.cellWidth * item.item.getSize().getWidth(); cellRect.height = CellSettings.cellHeight * item.item.getSize().getHeight(); GUI.color = Color.white; GUI.DrawTextureWithTexCoords(cellRect, image, textCoords); }
/// <summary> /// ���������� ������� � ������� ���������� item /// </summary> /// <param name="slot">����� � ������� ����������� ��������</param> /// <param name="posX">��������� ���������� �������� �� x</param> /// <param name="posY">��������� ���������� �������� �� y</param> /// <returns>���� ������������ ���, ���������� null</returns> public ItemSlot getCollisionItem(RectangleSlot slot, ItemSlot target, int posX, int posY) { foreach (ItemSlot item in slot.Items) { if (item!=target && (item.position.X<=posX && item.position.Y<=posY && item.position.X+item.item.getSize().getWidth()>=posX+target.item.getSize().getWidth() && item.position.Y+item.item.getSize().getHeight()>=posY+target.item.getSize().getHeight() || item.position.X>=posX && item.position.Y>=posY && item.position.X+item.item.getSize().getWidth()<=posX+target.item.getSize().getWidth() && item.position.Y+item.item.getSize().getHeight()<=posY+target.item.getSize().getHeight() )) // ��������� �������� return item; } return null; // �������� �� ���������� }
/// <summary> /// �������� �� ���� slot ������� item /// </summary> /// <param name="slot">����, ������� �����������</param> /// <param name="item">������� ������� ������ � ���� �����</param> /// <returns>���������� ���������� �������� ����������</returns> public bool slotContain(RectangleSlot slot, ItemSlot item) { return slot.Items.Contains(item); }
/// <summary> /// ���������� �������, ������� �������� ������ {cellX,cellY} /// </summary> /// <param name="cellX"></param> /// <param name="cellY"></param> /// <returns>���� ������� �� ������ ����� null</returns> public ItemSlot getItem(List<RectangleSlot> slots, RectangleSlot slot, int cellX, int cellY) { if (slots==null) return null; foreach (ItemSlot item in slot.Items) { if ((item.getPosition().X == cellX && item.getPosition().Y == cellY)) // ������� ����� � ���� ������ return item; if (cellX>=item.getPosition().X && cellX<item.getPosition().X+item.item.getSize().getWidth() && cellY>=item.getPosition().Y && cellY<item.getPosition().Y+item.item.getSize().getHeight()) // ������� �������� ��� ������ return item; } return null; // �������� � ������ ��� }
public void Clear() { slot = null; item = null; }
public DropItemData(RectangleSlot slot, ItemSlot item, int changeValue) { this.slot=slot; this.item=item; this.changeValue=changeValue; }