コード例 #1
0
 private void AddSaver(IFieldSaver saver)
 {
     if (saver.AppliesTo != null)
     {
         m_savers.Add(saver.AppliesTo, saver);
     }
 }
コード例 #2
0
ファイル: FieldSaver.cs プロジェクト: spacecatprime/dump
        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;
        }
コード例 #3
0
ファイル: FieldSaver.cs プロジェクト: spacecatprime/dump
        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);
        }
コード例 #4
0
ファイル: FieldSaver.cs プロジェクト: Pertex/Quest
        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;
        }
コード例 #5
0
        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);
        }
コード例 #6
0
ファイル: FieldSaver.cs プロジェクト: Pertex/Quest
 private void AddSaver(IFieldSaver saver)
 {
     m_savers.Add(saver.AppliesTo, saver);
     saver.GameSaver = m_saver;
 }