mirror of
https://github.com/Ellpeck/Contentless.git
synced 2024-12-22 11:49:23 +01:00
made override structure a bit better
This commit is contained in:
parent
69d50cbb1a
commit
94ed85bab7
5 changed files with 16 additions and 15 deletions
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Contentless {
|
||||
|
@ -10,7 +11,7 @@ namespace Contentless {
|
|||
public bool LogSkipped = true;
|
||||
|
||||
[JsonProperty(PropertyName = "overrides")]
|
||||
public string[][] Overrides = { };
|
||||
public Dictionary<string, string> Overrides = new Dictionary<string, string>();
|
||||
|
||||
}
|
||||
}
|
|
@ -41,7 +41,7 @@ namespace Contentless {
|
|||
Console.WriteLine("Using default config");
|
||||
}
|
||||
var excluded = config.ExcludedFiles.Select(MakeFileRegex).ToArray();
|
||||
var overrides = config.Overrides.Select(e => (MakeFileRegex(e[0]), e[1])).ToArray();
|
||||
var overrides = config.Overrides.Select((e, i) => (MakeFileRegex(e.Key), e.Value)).ToArray();
|
||||
|
||||
// load any references to be able to include custom content types as well
|
||||
foreach (var line in content) {
|
||||
|
@ -136,7 +136,7 @@ namespace Contentless {
|
|||
}
|
||||
}
|
||||
|
||||
private static string GetOverrideImporterFor(string file, (Regex, string)[] overrides) {
|
||||
private static string GetOverrideImporterFor(string file, IEnumerable<(Regex, string)> overrides) {
|
||||
foreach (var (regex, value) in overrides) {
|
||||
if (regex.IsMatch(file))
|
||||
return value;
|
||||
|
@ -144,7 +144,7 @@ namespace Contentless {
|
|||
return null;
|
||||
}
|
||||
|
||||
private static ImporterInfo GetImporterFor(string file, ImporterInfo[] importers) {
|
||||
private static ImporterInfo GetImporterFor(string file, IEnumerable<ImporterInfo> importers) {
|
||||
var extension = Path.GetExtension(file);
|
||||
foreach (var importer in importers) {
|
||||
if (importer.Importer.FileExtensions.Contains(extension))
|
||||
|
|
|
@ -24,12 +24,13 @@ To add a configuration file to Contentless, simply create a file named `Contentl
|
|||
// If any files that were skipped without errors should be logged (Files that already have entries or files that were ignored)
|
||||
"logSkipped": true,
|
||||
// The list of files that should use a different importer than the one that Contentless automatically determined. Can use regex
|
||||
"overrides": [
|
||||
// Entries are arrays containing the file regex and importer, for example [".json", "JsonImporter"]
|
||||
// If you specify "Copy" as the importer, the file's Build Mode will be set to Copy rather than Build
|
||||
]
|
||||
"overrides": {
|
||||
// Entries are file regexes mapped to importer names, for example: ".json": "JsonImporter"
|
||||
// If you specify "Copy" as the importer, the file's Build Mode will be set to Copy rather than Build, for example: ".txt": "Copy"
|
||||
}
|
||||
}
|
||||
```
|
||||
For an example of a config in use, see the [test config](https://github.com/Ellpeck/Contentless/blob/master/Test/Content/Contentless.json).
|
||||
|
||||
# What it does
|
||||
When running Contentless and supplying the location of a MonoGame Content Pipeline project (`Content.mgcb`), it scans all of the files in the project's directory as well as its subdirectories. For each file, it checks if the `Content.mgcb` file already contains any references to that file. If no references are found, then a new reference to the file is added.
|
||||
|
|
|
@ -64,12 +64,11 @@
|
|||
/importer:TiledMapTilesetImporter
|
||||
/processor:TiledMapTilesetProcessor
|
||||
/build:Tiled/Tileset.tsx
|
||||
#begin Json/Copy.json
|
||||
/copy:Json/Copy.json
|
||||
|
||||
#begin Json/Test.json
|
||||
/importer:JsonContentImporter
|
||||
/processor:JsonContentProcessor
|
||||
/build:Json/Test.json
|
||||
|
||||
#begin Json/Copy.json
|
||||
/copy:Json/Copy.json
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"Ex*.png"
|
||||
],
|
||||
"logSkipped": false,
|
||||
"overrides": [
|
||||
["Copy.*", "Copy"],
|
||||
[".json", "JsonContentImporter"]
|
||||
]
|
||||
"overrides": {
|
||||
"Copy.*": "Copy",
|
||||
".json": "JsonContentImporter"
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue