public DicedTexture(SourceTexture source, IEnumerable <DicedUnit> units) { Source = source; Units = units?.ToArray() ?? throw new ArgumentNullException(nameof(units)); UniqueUnits = Units.Distinct().ToArray(); }