private void ChangePatternPosition()
    {
        if (!isCollidedList.Any())
        {
            color        = Color.green;
            color.a      = 0.5f;
            sprite.color = color;
        }
        else
        {
            color        = Color.red;
            color.a      = 0.5f;
            sprite.color = color;
        }

        if (!buildingRequirements.IsRequirementsFulFilled(inventory.inventoryObject))
        {
            text.color = Color.red;
        }
        else
        {
            text.color = Color.green;
        }

        transform.position = GridCellCalculator.GetMousePosToCell();
    }
 public void DropItem()
 {
     pointerEventData          = new PointerEventData(eventSystem);
     pointerEventData.position = Input.mousePosition;
     raycaster.Raycast(pointerEventData, results);
     if (item != null && !results.Any())
     {
         var itemController = Instantiate(item.gameObject, GridCellCalculator.GetMousePosToCell(), Quaternion.identity).GetComponent <ItemController>();
         itemController.amount = amount;
         ResetTransfer();
     }
     results.Clear();
 }
        public void GridCellCalculatorTestSimplePasses()
        {
            Vector2 position = GridCellCalculator.ComputeChunkPosition(new Vector2(-30, 0));

            Debug.Log(position);
            Assert.AreEqual(position, Vector2.zero);

            position = GridCellCalculator.ComputeChunkPosition(new Vector2(-61, 0));
            Assert.AreEqual(position, new Vector2(-64, 0));

            position = GridCellCalculator.ComputeChunkPosition(new Vector2(-93, 0));
            Assert.AreEqual(position, new Vector2(-64, 0));

            position = GridCellCalculator.ComputeChunkPosition(new Vector2(-122, 0));
            Assert.AreEqual(position, new Vector2(-128, 0));

            position = GridCellCalculator.ComputeChunkPosition(new Vector2(-228, 0));
            Assert.AreEqual(position, new Vector2(-191, 0));
        }
    public void SpawnOnChunk(Chunk chunk)
    {
        int        countEnemies  = Random.Range(minEnemiesOnChunk, maxEnemiesOnChunk);
        Vector2Int localPosition = Vector2Int.zero;

        for (int i = 0; i < countEnemies; i++)
        {
            localPosition.x = Random.Range(4, Chunk.chunkSize - 4);
            localPosition.y = Random.Range(4, Chunk.chunkSize - 4);
            for (int j = 0; j < countEnemies; j++)                          // dodatkowe losowanie zwiększające szanse
            {
                if (chunk.GridMovementArray[localPosition.x][localPosition.y] == true)
                {
                    CreateEnemy(chunk.Fields[localPosition.x][localPosition.y], GridCellCalculator.GetGlobalPositionOnGrid(localPosition, chunk));
                    break;
                }
                localPosition.x = Random.Range(4, Chunk.chunkSize - 4);
                localPosition.y = Random.Range(4, Chunk.chunkSize - 4);
            }
        }
    }