Allow each caller on MergeOrDefault to discard nodes.
Use filtering ActorInfo's to drop template actors.
This commit is contained in:
@@ -23,9 +23,6 @@ namespace OpenRA.Mods.Common.Lint
|
||||
{
|
||||
foreach (var actorInfo in rules.Actors)
|
||||
{
|
||||
if (actorInfo.Key.StartsWith("^", StringComparison.Ordinal))
|
||||
continue;
|
||||
|
||||
var granted = new HashSet<string>();
|
||||
var consumed = new HashSet<string>();
|
||||
|
||||
|
||||
@@ -22,9 +22,6 @@ namespace OpenRA.Mods.Common.Lint
|
||||
{
|
||||
foreach (var actorInfo in rules.Actors)
|
||||
{
|
||||
if (actorInfo.Key.StartsWith("^"))
|
||||
continue;
|
||||
|
||||
var count = actorInfo.Value.TraitInfos<IDefaultVisibilityInfo>().Count();
|
||||
|
||||
if (count == 0)
|
||||
|
||||
@@ -22,9 +22,6 @@ namespace OpenRA.Mods.Common.Lint
|
||||
{
|
||||
foreach (var actorInfo in rules.Actors)
|
||||
{
|
||||
if (actorInfo.Key.StartsWith("^", StringComparison.Ordinal))
|
||||
continue;
|
||||
|
||||
var health = actorInfo.Value.TraitInfoOrDefault<HealthInfo>();
|
||||
if (health == null)
|
||||
continue;
|
||||
|
||||
@@ -22,9 +22,6 @@ namespace OpenRA.Mods.Common.Lint
|
||||
{
|
||||
foreach (var actorInfo in rules.Actors)
|
||||
{
|
||||
if (actorInfo.Key.StartsWith("^", StringComparison.Ordinal))
|
||||
continue;
|
||||
|
||||
var ios = actorInfo.Value.TraitInfoOrDefault<IOccupySpaceInfo>();
|
||||
foreach (var rsi in actorInfo.Value.TraitInfos<RevealsShroudInfo>())
|
||||
{
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.Lint
|
||||
foreach (var sequenceProvider in sequenceProviders)
|
||||
{
|
||||
var image = renderInfo.GetImage(actorInfo.Value, sequenceProvider, faction);
|
||||
if (sequenceDefinitions.All(s => s.Key != image.ToLowerInvariant()) && !actorInfo.Value.Name.Contains("^"))
|
||||
if (sequenceDefinitions.All(s => s.Key != image.ToLowerInvariant()))
|
||||
emitError("Sprite image {0} from actor {1} using faction {2} has no sequence definition."
|
||||
.F(image, actorInfo.Value.Name, faction));
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Common.Lint
|
||||
{
|
||||
public void Run(Action<string> emitError, Action<string> emitWarning, Ruleset rules)
|
||||
{
|
||||
foreach (var actorInfo in rules.Actors.Where(a => !a.Key.StartsWith("^")))
|
||||
foreach (var actorInfo in rules.Actors)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
Console.WriteLine("Tileset: " + ts.Name);
|
||||
var sc = new SpriteCache(modData.DefaultFileSystem, modData.SpriteLoaders, new SheetBuilder(SheetType.Indexed));
|
||||
var nodes = MiniYaml.Merge(modData.Manifest.Sequences.Select(s => MiniYaml.FromStream(modData.DefaultFileSystem.Open(s), s)));
|
||||
foreach (var n in nodes.Where(node => !node.Key.StartsWith("^")))
|
||||
foreach (var n in nodes.Where(node => !node.Key.StartsWith(ActorInfo.AbstractActorPrefix, StringComparison.Ordinal)))
|
||||
modData.SpriteSequenceLoader.ParseSequences(modData, ts, sc, n);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user