protected void AddSerializer(FormatSerializer serializer)
 {
     if (!this._formats.ContainsKey(serializer.FormatExtension))
     {
         this._formats.Add(serializer.FormatExtension, serializer);
     }
 }
        private void openStream(Stream stream, string ext)
        {
            FormatSerializer serializer = this.GetSerializer(ext);

            if (serializer == null)
            {
                PlatformFactory.Platform.ShowWarning("Open " + ext + " file format not implemented!", "Warning");
                return;
            }
            serializer.Deserialize(stream);
        }
        protected FormatSerializer GetSerializer(string ext)
        {
            FormatSerializer result = null;

            if ((ext.Length >= 2 && ext.Substring(0, 2) == ".!") || ext.Substring(0, 2) == ".$")
            {
                result = this._formats["$"];
            }
            else
            {
                if (ext.StartsWith("."))
                {
                    ext = ext.Substring(1, ext.Length - 1);
                }
                if (this._formats.ContainsKey(ext))
                {
                    result = this._formats[ext];
                }
            }
            return(result);
        }