public void SetModifiable(bool modifiable) { this.objectsModifiable = modifiable; foreach (Transform child in cellsParent) { ModifiableBoardCell modCell = child.GetComponent <ModifiableBoardCell>(); if (modCell != null) { modCell.SetModifiable(modifiable); } } foreach (Transform child in elementsParent) { DraggableObject drag = child.GetComponent <DraggableObject>(); if (drag != null) { drag.SetModifiable(modifiable); } } }
public BoardCell AddBoardCell(int id, int x, int y, string[] args = null) { if (id >= cellPrefabs.Length || !IsInBoardBounds(x, y)) { return(null); } BoardCell cell = Instantiate(cellPrefabs[id], cellsParent); cell.SetPosition(x, y); cell.SetBoardManager(this); board[x, y] = cell; if (boardModifiable) { ModifiableBoardCell modCell = cell.gameObject.AddComponent <ModifiableBoardCell>(); modCell.SetBoardManager(this); modCell.SetModifiable(objectsModifiable); } cells[id].Add(cell); return(cell); }