public static PEDCalcValue GetPEDCValue(PwEntry pe, bool recursion) { if (!m_dPEDValues.ContainsKey(pe)) { string days_string = pe.ReadPEDCString(); PEDCValueEntry pve = new PEDCValueEntry(); pve.value = PEDCalcValue.ConvertFromString(days_string); if (pve.value.Inherit && (pe.ParentGroup != null)) { pve.valueinherit = pe.ParentGroup.GetPEDValue(true); } else { pve.valueinherit = new PEDCalcValue(PEDC.Off); } m_dPEDValues[pe] = pve; PluginDebug.AddInfo("Add PEDCValues to buffer", 0, "Entry: " + pe.Uuid.ToHexString() + " / " + pe.Strings.ReadSafe(PwDefs.TitleField), "Value: " + pve.value.ToString(), "Value inherited: " + pve.valueinherit.ToString()); } if (recursion && m_dPEDValues[pe].value.Inherit) { return(m_dPEDValues[pe].valueinherit); } return(m_dPEDValues[pe].value); }