Пример #1
0
        public XmlNode GetNode(string strLanguage)
        {
            if (_objCachedMyXmlNode != null && strLanguage == _strCachedXmlNodeLanguage && !GlobalOptions.LiveCustomData)
            {
                return(_objCachedMyXmlNode);
            }
            _objCachedMyXmlNode = _objCharacter.LoadData(_eSource == Improvement.ImprovementSource.Bioware
                    ? "bioware.xml"
                    : _eSource == Improvement.ImprovementSource.Drug
                        ? "drugcomponents.xml"
                        : "cyberware.xml", strLanguage)
                                  .SelectSingleNode(SourceId == Guid.Empty
                    ? "/chummer/grades/grade[name = " + Name.CleanXPath() + "]"
                    : "/chummer/grades/grade[id = " + SourceIDString.CleanXPath() + "]");

            _strCachedXmlNodeLanguage = strLanguage;
            return(_objCachedMyXmlNode);
        }
Пример #2
0
        public async Task <XmlNode> GetNodeCoreAsync(bool blnSync, string strLanguage)
        {
            if (_objCachedMyXmlNode != null && strLanguage == _strCachedXmlNodeLanguage && !GlobalSettings.LiveCustomData)
            {
                return(_objCachedMyXmlNode);
            }
            _objCachedMyXmlNode = (blnSync
                                   // ReSharper disable once MethodHasAsyncOverload
                    ? _objCharacter.LoadData(GetDataFileNameFromImprovementSource(_eSource), strLanguage)
                    : await _objCharacter.LoadDataAsync(GetDataFileNameFromImprovementSource(_eSource), strLanguage))
                                  .SelectSingleNode(SourceId == Guid.Empty
                                      ? "/chummer/grades/grade[name = "
                                                    + Name.CleanXPath() + ']'
                                      : "/chummer/grades/grade[id = "
                                                    + SourceIDString.CleanXPath() + ']');

            _strCachedXmlNodeLanguage = strLanguage;
            return(_objCachedMyXmlNode);
        }