Nanook.QueenBee.EditorForm.loadDbgQBFile C# (CSharp) Method

loadDbgQBFile() private method

private loadDbgQBFile ( string qbFilename ) : string
qbFilename string
return string
        private string loadDbgQBFile(string qbFilename)
        {
            string dbgFilename = qbFilename.Replace(string.Format(".qb.{0}", _pakFormat.FileExtension), string.Format(".{0}", _pakFormat.QbDebugExtension));

            string key = null;

            try
            {
                if (_dbgFile != null)
                {
                    if (_dbgFile.Headers.ContainsKey(dbgFilename.ToLower()))
                        key = dbgFilename.ToLower();
                    else
                    {
                        dbgFilename = qbFilename.Replace(string.Format(".qb.{0}", _pakFormat.FileExtension), string.Format(".{0}.{1}", _pakFormat.QbDebugExtension, _pakFormat.FileExtension));

                        if (_dbgFile.Headers.ContainsKey(dbgFilename.ToLower()))
                            key = dbgFilename.ToLower();
                        else
                        {
                            //use the qb pak headers to lookup the debugQbKeys.
                            //the debug pak has QBKeys as the keys instead of filenames
                            foreach (PakHeaderItem phi in _pakFile.Headers.Values)
                            {
                                if (phi.Filename.ToLower() == qbFilename)
                                {
                                    key = phi.DebugQbKey.ToString("X").PadLeft(8, '0').ToLower();
                                    break;
                                }
                            }
                        }
                    }

                    if (key != null && _dbgFile != null && _dbgFile.Headers.ContainsKey(key))
                        return _dbgFile.ExtractFileToString(key);
                }
            }
            catch
            {
            }
            return string.Empty;
        }
EditorForm