/// <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); }
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); }