public static GameObjectDefinition getDefinition(int objectId) { for (int c = 0; c < 20; c++) { if (cache[c].id == objectId) { return(cache[c]); } } cacheIndex = (cacheIndex + 1) % 20; GameObjectDefinition definition = cache[cacheIndex]; stream.position = streamOffsets[objectId]; definition.id = objectId; definition.setDefaults(); definition.loadDefinition(stream); return(definition); }