Et voici ce que je code pour executer ce que je viens de décrire:
Code : Tout sélectionner
void OnMouseUp()
{
if (selectedFigure == null)
return;
int casesValides = 0;
List<Vector2Int> positionsValides = new List<Vector2Int>();
Vector3 origin = grilleRouge.objArray[index].transform.position;
foreach (Transform box in selectedFigure)
{
int x = Mathf.FloorToInt((box.position.x - (origin.x - 0.8f)) / 1.6f);
int z = Mathf.FloorToInt((box.position.z - (origin.z - 0.8f)) / 1.6f);
if (z >= 0 && z < grid.GetLength(0) &&
x >= 0 && x < grid.GetLength(1) &&
grid[z, x] == 0)
{
casesValides++;
positionsValides.Add(new Vector2Int(x, z));
}
}
if (casesValides == 5)
{
foreach (var pos in positionsValides)
grid[pos.y, pos.x] = 1;
Debug.Log("✅ Pentamino bien placé, cube désactivé.");
align.cubes[0].SetActive(false); // ✅ on désactive le cube
}
else
{
Debug.Log("❌ Pentamino mal placé, cube réactivé.");
align.cubes[0].SetActive(true); // ❌ on réaffiche le cube
}
}
Avez vous des idées.
Merci à vous,
A+