Ejemplo n.º 1
0
        public static ResourceFilter GetFilter(NomadFileInfo info)
        {
            foreach (var filter in _filters)
            {
                if ((filter.Version == info.Version) &&
                    (filter.Name == info.RootId))
                {
                    return(filter);
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        public static bool GetBinaryInfo(string filename, out NomadFileInfo info)
        {
            info = new NomadFileInfo();

            using (var bs = new BinaryStream(filename, FileMode.Open, FileAccess.Read))
            {
                try
                {
                    info.Deserialize(bs);

                    return(info.IsValid);
                }
                catch (Exception e)
                {
                    Debug.WriteLine($"Failed to get binary info for file '{filename}' -- {e.Message}");
                }
            }

            return(false);
        }
Ejemplo n.º 3
0
        public static INomadSerializer GetSerializer(NomadFileInfo info)
        {
            var filter = ResourceFactory.GetFilter(info);

            INomadSerializer serializer = new NomadResourceSerializer();

            if (filter != null)
            {
                Debug.WriteLine($"Found filter for binary resource '{info.RootId}'.");

                serializer = ResourceFactory.GetSerializer(filter);
            }
            else
            {
                Debug.WriteLine($"Could not find filter for binary resource '{info.RootId}'.");

                // use a generic serializer
                return(new NomadGenericResourceSerializer(info));
            }

            serializer.Format = ResourceFactory.GetFormat(info.Version);

            return(serializer);
        }
 public NomadGenericResourceSerializer(NomadFileInfo info)
 {
     Info   = info;
     Format = ResourceFactory.GetFormat(info.Version);
 }