private void AddSaver(IFieldSaver saver) { if (saver.AppliesTo != null) { m_savers.Add(saver.AppliesTo, saver); } }
private void AddSaver(IFieldSaver saver) { bool ignore = (saver.MinVersion.HasValue && saver.MinVersion.Value > m_saver.Version) || (saver.MaxVersion.HasValue && saver.MaxVersion.Value < m_saver.Version); if (ignore) { return; } m_savers.Add(saver.AppliesTo, saver); saver.GameSaver = m_saver; saver.FieldSaver = this; }
private bool TryGetSaver(Type type, out IFieldSaver saver) { if (m_savers.TryGetValue(type, out saver)) { return(true); } foreach (var s in m_savers.Where(s => s.Key.IsAssignableFrom(type))) { saver = s.Value; return(true); } return(false); }
private bool TryGetSaver(Type type, out IFieldSaver saver) { if (m_savers.TryGetValue(type, out saver)) return true; foreach (KeyValuePair<Type, IFieldSaver> s in m_savers) { if (s.Key.IsAssignableFrom(type)) { saver = s.Value; return true; } } return false; }
private bool TryGetSaver(Element element, string attribute, Type type, out IFieldSaver saver) { if (element.Type == ObjectType.Command && attribute == "pattern" && type == typeof(string)) { saver = m_commandPatternSaver; return(true); } if (m_savers.TryGetValue(type, out saver)) { return(true); } foreach (KeyValuePair <Type, IFieldSaver> s in m_savers) { if (s.Key.IsAssignableFrom(type)) { saver = s.Value; return(true); } } return(false); }
private void AddSaver(IFieldSaver saver) { m_savers.Add(saver.AppliesTo, saver); saver.GameSaver = m_saver; }