示例#1
0
    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);
            }
        }
    }
示例#2
0
    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);
    }