Dann würde ich, ganz grob, so vorgehen:
Delphi-Quellcode:
if kiObjectList.Items[i] is TKIClass then
(kiObjectList.Items[i] as TKiClass).DoSomething;
if kiObjectList.Items[i] is TPlayerClass then
(kiObjectList.Items[i] as TPlayerClass).DoSomethingDifferent;
Wobei ich hier einfach mal den "SoftCast"
as
anstelle des HardCasts verwendet habe
Was aber in genau dem Konstrukt überflüssig ist: Das "is" prüft den Typ ja schon, da musst du nicht mit "as" nochmal prüfen.