public override void Initialize(GameFile file, params object[] parameters) { base.Initialize(file, parameters); if (parameters.Length >= 1) { // Get a list with all files... GameFolder root = parameters[0] as GameFolder; List <GameFile> fileList = new List <GameFile>(); foreach (FileContainer f in root.GetFilesRecursive(false)) { fileList.Add(f as GameFile); } // ... and sort them by Id fileList.OrderBy(f => (ushort)f.Tags["Id"]); this.files = fileList.ToArray(); } if (parameters.Length == 2) { this.firstOffset = (uint)parameters[1]; } }