/// <summary> /// Copy constructor /// </summary> /// <param name="field">Field</param> internal Field(IField field) { if (field == null) { cells = new ECell[width * height]; } else { SelectedBlock = field.SelectedBlock; SelectedBlockPositionX = field.SelectedBlockPositionX; SelectedBlockPositionY = field.SelectedBlockPositionY; SelectedBlockRotation = field.SelectedBlockRotation; cells = new ECell[field.Width * field.Height]; field.CopyCellsTo(cells, false); } }