Terraria.DataStructures.TileObjectPreviewData.CopyFrom C# (CSharp) Method

CopyFrom() public method

public CopyFrom ( TileObjectPreviewData copy ) : void
copy TileObjectPreviewData
return void
        public void CopyFrom(TileObjectPreviewData copy)
        {
            _type = copy._type;
            _style = copy._style;
            _alternate = copy._alternate;
            _random = copy._random;
            _active = copy._active;
            _size = copy._size;
            _coordinates = copy._coordinates;
            _objectStart = copy._objectStart;
            _percentValid = copy._percentValid;

            if (_data == null)
            {
                _data = new int[(int)copy._dataSize.X, (int)copy._dataSize.Y];
                _dataSize = copy._dataSize;
            }
            else
                Array.Clear(_data, 0, _data.Length);

            if ((int)_dataSize.X < (int)copy._dataSize.X || (int)_dataSize.Y < (int)copy._dataSize.Y)
            {
                int X = (int)copy._dataSize.X > (int)_dataSize.X ? (int)copy._dataSize.X : (int)_dataSize.X;
                int Y = (int)copy._dataSize.Y > (int)_dataSize.Y ? (int)copy._dataSize.Y : (int)_dataSize.Y;
                _data = new int[X, Y];
                _dataSize = new Point16(X, Y);
            }

            for (int index1 = 0; index1 < (int)copy._dataSize.X; ++index1)
            {
                for (int index2 = 0; index2 < (int)copy._dataSize.Y; ++index2)
                    _data[index1, index2] = copy._data[index1, index2];
            }
        }