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); } } }