In etwa so:
Als Variante records
Delphi-Quellcode:
THitObject = record
Coordinates: array [0 .. 0] of Integer;
Offset: Integer;
case HitObjectType: THitObjectType of
hDot: (Dot: TDot);
hSlider: (Slider: TSlider);
hSpinner: (Spinner: TSpinner);
end;
Warum verwendest Du packed records? Die sind im Zugriff eher langsamer;