コード例 #1
0
        /// <summary>From a list of file creates a maping between a jsonvalue relative path and the actual file</summary>
        /// <param name="files">list of all files accesible</param>
        /// <param name="referencedRessources">Ressources referenced</param>
        public static Dictionary <JsonValue, string> FindFromFiles(IEnumerable <ISSGenericFile> files, IEnumerable <JsonValue> referencedRessources)
        {
            Dictionary <JsonValue, string> result = new Dictionary <JsonValue, string>();

            foreach (JsonValue reference in referencedRessources)
            {
                SSRelativeUrl  url      = new SSRelativeUrl(reference.ToString());
                ISSGenericFile matching = FindFromFiles(files, url);
                SSFullUrl      full     = matching.SourceMod.ModUrl + url;
                result.Add(reference, full.ToString());
            }
            return(result);
        }
コード例 #2
0
        public ISSGroup CreateGroupFromFile(ISSGenericFile file)
        {
            switch (file)
            {
            case SSFaction f:
                SSFactionGroup newFGroup = new SSFactionGroup();
                newFGroup.Add(f);
                return(newFGroup);

            case SSVariant v:
                SSVariantGroup newVGroup = new SSVariantGroup();
                newVGroup.Add(v);
                return(newVGroup);

            case SSShipHull sh:
                SSShipHullGroup newSHGroup = new SSShipHullGroup();
                newSHGroup.Add(sh);
                return(newSHGroup);

            case SSShipHullSkin shs:
                SSShipHullSkinGroup newSHSGroup = new SSShipHullSkinGroup();
                newSHSGroup.Add(shs);
                return(newSHSGroup);

            case SSJson gf:
                SSJsonGroup newgfGroup = new SSJsonGroup();
                newgfGroup.Add(gf);
                return(newgfGroup);

            case SSCsv fc:
                return(new SSCsvGroup(fc));

            case SSBinary b:
                return(new SSBinaryGroup(b));
            }
            return(null);
        }