Wenn du von TSpriteEngine ableitest, dann sind doch Objekte dieser Klasse auch ansprechbar als Objekte vom Typ TSpriteEngine (das ist ja ein Prinzip der
OOP). Du musst nur die Stelle, an der das Feld
Engine erzeugt wird, ändern und die abgeleitete Klasse selbst, sonst nichts.