void setTextureData( uint[] data, int width )
{
if( data == null )
throw new ArgumentNullException( nameof( data ), "'data' can't be null." );
if( data.Length < 4 )
throw new ArgumentOutOfRangeException( nameof( data ), "'data' length can't be less then 4. Your texture must be at least 2 x 2 pixels in size." );
if( width < 2 )
throw new ArgumentOutOfRangeException( nameof( width ), "'width' can't be less then 2. Your texture must be at least 2 x 2 pixels in size." );
if( data.Length % width != 0 )
throw new ArgumentException( "'width' has an invalid value." );
_data = data;
_dataLength = _data.Length;
_width = width;
_height = _dataLength / width;
}