class NamedObjectTable extends Info; var private array Names; var private array Objects; // looks for the table or creates a new one, if such doesn't exist static function NamedObjectTable InitTable(LevelInfo Level, optional name TableTag) { local Actor Other; foreach Level.AllActors(default.class, Other, TableTag) return NamedObjectTable(Other); return Level.spawn(default.class, Level, TableTag); } function ClearTable() { Names.length = 0; Objects.length = 0; } function int TableLength() { return Names.Length; } // returns Names.length if not foud function protected int GetIndex(name ObjectName) { local int i; for ( i=0; i