Remove Map.SequenceProvider.

This commit is contained in:
Paul Chote
2016-02-18 18:41:03 +00:00
parent d7bdc840d6
commit 7993068c8f
19 changed files with 33 additions and 32 deletions

View File

@@ -43,7 +43,7 @@ namespace OpenRA.Graphics
public Animation(World world, string name, Func<int> facingFunc, Func<bool> paused) public Animation(World world, string name, Func<int> facingFunc, Func<bool> paused)
{ {
sequenceProvider = world.Map.SequenceProvider; sequenceProvider = world.Map.Rules.Sequences;
Name = name.ToLowerInvariant(); Name = name.ToLowerInvariant();
this.facingFunc = facingFunc; this.facingFunc = facingFunc;
this.paused = paused; this.paused = paused;

View File

@@ -171,7 +171,6 @@ namespace OpenRA
[FieldLoader.Ignore] Lazy<Ruleset> rules; [FieldLoader.Ignore] Lazy<Ruleset> rules;
public Ruleset Rules { get { return rules != null ? rules.Value : null; } } public Ruleset Rules { get { return rules != null ? rules.Value : null; } }
public SequenceProvider SequenceProvider { get { return Rules.Sequences; } }
[FieldLoader.Ignore] public ProjectedCellRegion ProjectedCellBounds; [FieldLoader.Ignore] public ProjectedCellRegion ProjectedCellBounds;
[FieldLoader.Ignore] public CellRegion AllCells; [FieldLoader.Ignore] public CellRegion AllCells;

View File

@@ -197,7 +197,7 @@ namespace OpenRA
using (new Support.PerfTimer("Map.PreloadRules")) using (new Support.PerfTimer("Map.PreloadRules"))
map.PreloadRules(); map.PreloadRules();
using (new Support.PerfTimer("Map.SequenceProvider.Preload")) using (new Support.PerfTimer("Map.SequenceProvider.Preload"))
map.SequenceProvider.Preload(); map.Rules.Sequences.Preload();
// Load music with map assets mounted // Load music with map assets mounted
using (new Support.PerfTimer("Map.Music")) using (new Support.PerfTimer("Map.Music"))

View File

@@ -48,7 +48,7 @@ namespace OpenRA.Traits
Variants = new Dictionary<string, Sprite[]>(); Variants = new Dictionary<string, Sprite[]>();
foreach (var v in info.Variants) foreach (var v in info.Variants)
{ {
var seq = world.Map.SequenceProvider.GetSequence(Info.Sequence, v); var seq = world.Map.Rules.Sequences.GetSequence(Info.Sequence, v);
var sprites = Exts.MakeArray(seq.Length, x => seq.GetSprite(x)); var sprites = Exts.MakeArray(seq.Length, x => seq.GetSprite(x));
Variants.Add(v, sprites); Variants.Add(v, sprites);
} }

View File

@@ -56,8 +56,8 @@ namespace OpenRA.Mods.Common.Orders
faction = buildableInfo.ForceFaction faction = buildableInfo.ForceFaction
?? (mostLikelyProducer.Trait != null ? mostLikelyProducer.Trait.Faction : queue.Actor.Owner.Faction.InternalName); ?? (mostLikelyProducer.Trait != null ? mostLikelyProducer.Trait.Faction : queue.Actor.Owner.Faction.InternalName);
buildOk = map.SequenceProvider.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0); buildOk = map.Rules.Sequences.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0);
buildBlocked = map.SequenceProvider.GetSequence("overlay", "build-invalid").GetSprite(0); buildBlocked = map.Rules.Sequences.GetSequence("overlay", "build-invalid").GetSprite(0);
buildingInfluence = world.WorldActor.Trait<BuildingInfluence>(); buildingInfluence = world.WorldActor.Trait<BuildingInfluence>();
} }

View File

@@ -91,7 +91,7 @@ namespace OpenRA.Mods.Common.Traits
throw new InvalidOperationException("Actor type '" + self.Info.Name + "' does not define a quantized body orientation."); throw new InvalidOperationException("Actor type '" + self.Info.Name + "' does not define a quantized body orientation.");
} }
return qboi.QuantizedBodyFacings(self.Info, self.World.Map.SequenceProvider, faction); return qboi.QuantizedBodyFacings(self.Info, self.World.Map.Rules.Sequences, faction);
}); });
} }

View File

@@ -46,7 +46,7 @@ namespace OpenRA.Mods.Common.Traits
public IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init) public IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init)
{ {
var sequenceProvider = init.World.Map.SequenceProvider; var sequenceProvider = init.World.Map.Rules.Sequences;
var faction = init.Get<FactionInit, string>(); var faction = init.Get<FactionInit, string>();
var ownerName = init.Get<OwnerInit>().PlayerName; var ownerName = init.Get<OwnerInit>().PlayerName;
var image = GetImage(init.Actor, sequenceProvider, faction); var image = GetImage(init.Actor, sequenceProvider, faction);
@@ -143,7 +143,7 @@ namespace OpenRA.Mods.Common.Traits
if (cachedImage != null) if (cachedImage != null)
return cachedImage; return cachedImage;
return cachedImage = info.GetImage(self.Info, self.World.Map.SequenceProvider, faction); return cachedImage = info.GetImage(self.Info, self.World.Map.Rules.Sequences, faction);
} }
public void UpdatePalette() public void UpdatePalette()

View File

@@ -51,7 +51,7 @@ namespace OpenRA.Mods.Common.Traits
var body = init.Actor.TraitInfo<BodyOrientationInfo>(); var body = init.Actor.TraitInfo<BodyOrientationInfo>();
var faction = init.Get<FactionInit, string>(); var faction = init.Get<FactionInit, string>();
var ownerName = init.Get<OwnerInit>().PlayerName; var ownerName = init.Get<OwnerInit>().PlayerName;
var sequenceProvider = init.World.Map.SequenceProvider; var sequenceProvider = init.World.Map.Rules.Sequences;
var image = Image ?? init.Actor.Name; var image = Image ?? init.Actor.Name;
var facings = body.QuantizedFacings == -1 ? var facings = body.QuantizedFacings == -1 ?
init.Actor.TraitInfo<IQuantizeBodyOrientationInfo>().QuantizedBodyFacings(init.Actor, sequenceProvider, faction) : init.Actor.TraitInfo<IQuantizeBodyOrientationInfo>().QuantizedBodyFacings(init.Actor, sequenceProvider, faction) :

View File

@@ -123,7 +123,7 @@ namespace OpenRA.Mods.Common.Traits
this.order = order; this.order = order;
this.power = power; this.power = power;
range = power.info.Range; range = power.info.Range;
tile = world.Map.SequenceProvider.GetSequence("overlay", "target-select").GetSprite(0); tile = world.Map.Rules.Sequences.GetSequence("overlay", "target-select").GetSprite(0);
} }
public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi) public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi)

View File

@@ -53,8 +53,8 @@ namespace OpenRA.Mods.Common.Traits
this.info = info; this.info = info;
map = self.World.Map; map = self.World.Map;
copySprite = map.SequenceProvider.GetSequence(info.Image, info.CopySequence).GetSprite(0); copySprite = map.Rules.Sequences.GetSequence(info.Image, info.CopySequence).GetSprite(0);
pasteSprite = map.SequenceProvider.GetSequence(info.Image, info.PasteSequence).GetSprite(0); pasteSprite = map.Rules.Sequences.GetSequence(info.Image, info.PasteSequence).GetSprite(0);
} }
public void WorldLoaded(World w, WorldRenderer wr) public void WorldLoaded(World w, WorldRenderer wr)

View File

@@ -121,10 +121,11 @@ namespace OpenRA.Mods.Common.Traits
shroudSprites = new Sprite[variantCount * variantStride]; shroudSprites = new Sprite[variantCount * variantStride];
fogSprites = new Sprite[variantCount * variantStride]; fogSprites = new Sprite[variantCount * variantStride];
var sequenceProvider = map.Rules.Sequences;
for (var j = 0; j < variantCount; j++) for (var j = 0; j < variantCount; j++)
{ {
var shroud = map.SequenceProvider.GetSequence(info.Sequence, info.ShroudVariants[j]); var shroud = sequenceProvider.GetSequence(info.Sequence, info.ShroudVariants[j]);
var fog = map.SequenceProvider.GetSequence(info.Sequence, info.FogVariants[j]); var fog = sequenceProvider.GetSequence(info.Sequence, info.FogVariants[j]);
for (var i = 0; i < info.Index.Length; i++) for (var i = 0; i < info.Index.Length; i++)
{ {
shroudSprites[j * variantStride + i] = shroud.GetSprite(i); shroudSprites[j * variantStride + i] = shroud.GetSprite(i);
@@ -134,8 +135,8 @@ namespace OpenRA.Mods.Common.Traits
if (info.OverrideFullShroud != null) if (info.OverrideFullShroud != null)
{ {
var i = (j + 1) * variantStride - 1; var i = (j + 1) * variantStride - 1;
shroudSprites[i] = map.SequenceProvider.GetSequence(info.Sequence, info.OverrideFullShroud).GetSprite(0); shroudSprites[i] = sequenceProvider.GetSequence(info.Sequence, info.OverrideFullShroud).GetSprite(0);
fogSprites[i] = map.SequenceProvider.GetSequence(info.Sequence, info.OverrideFullFog).GetSprite(0); fogSprites[i] = sequenceProvider.GetSequence(info.Sequence, info.OverrideFullFog).GetSprite(0);
} }
} }

View File

@@ -94,10 +94,11 @@ namespace OpenRA.Mods.Common.Traits
Info = info; Info = info;
world = self.World; world = self.World;
var types = world.Map.SequenceProvider.Sequences(Info.Sequence); var sequenceProvider = world.Map.Rules.Sequences;
var types = sequenceProvider.Sequences(Info.Sequence);
foreach (var t in types) foreach (var t in types)
{ {
var seq = world.Map.SequenceProvider.GetSequence(Info.Sequence, t); var seq = sequenceProvider.GetSequence(Info.Sequence, t);
var sprites = Exts.MakeArray(seq.Length, x => seq.GetSprite(x)); var sprites = Exts.MakeArray(seq.Length, x => seq.GetSprite(x));
smudges.Add(t, sprites); smudges.Add(t, sprites);
} }

View File

@@ -328,7 +328,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
else else
{ {
currentFilename = filename; currentFilename = filename;
currentSprites = world.Map.SequenceProvider.SpriteCache[filename]; currentSprites = world.Map.Rules.Sequences.SpriteCache[filename];
currentFrame = 0; currentFrame = 0;
frameSlider.MaximumValue = (float)currentSprites.Length - 1; frameSlider.MaximumValue = (float)currentSprites.Length - 1;
frameSlider.Ticks = currentSprites.Length; frameSlider.Ticks = currentSprites.Length;

View File

@@ -86,7 +86,7 @@ namespace OpenRA.Mods.Common.Widgets
continue; continue;
var rsi = actor.TraitInfo<RenderSpritesInfo>(); var rsi = actor.TraitInfo<RenderSpritesInfo>();
var icon = new Animation(world, rsi.GetImage(actor, world.Map.SequenceProvider, faction)); var icon = new Animation(world, rsi.GetImage(actor, world.Map.Rules.Sequences, faction));
icon.Play(actor.TraitInfo<TooltipInfo>().Icon); icon.Play(actor.TraitInfo<TooltipInfo>().Icon);
var bi = actor.TraitInfo<BuildableInfo>(); var bi = actor.TraitInfo<BuildableInfo>();
var location = new float2(RenderBounds.Location) + new float2(queue.i * (IconWidth + IconSpacing), 0); var location = new float2(RenderBounds.Location) + new float2(queue.i * (IconWidth + IconSpacing), 0);

View File

@@ -331,7 +331,7 @@ namespace OpenRA.Mods.Common.Widgets
var rect = new Rectangle(rb.X + x * (IconSize.X + IconMargin.X), rb.Y + y * (IconSize.Y + IconMargin.Y), IconSize.X, IconSize.Y); var rect = new Rectangle(rb.X + x * (IconSize.X + IconMargin.X), rb.Y + y * (IconSize.Y + IconMargin.Y), IconSize.X, IconSize.Y);
var rsi = item.TraitInfo<RenderSpritesInfo>(); var rsi = item.TraitInfo<RenderSpritesInfo>();
var icon = new Animation(World, rsi.GetImage(item, World.Map.SequenceProvider, faction)); var icon = new Animation(World, rsi.GetImage(item, World.Map.Rules.Sequences, faction));
icon.Play(item.TraitInfo<TooltipInfo>().Icon); icon.Play(item.TraitInfo<TooltipInfo>().Icon);
var bi = item.TraitInfo<BuildableInfo>(); var bi = item.TraitInfo<BuildableInfo>();

View File

@@ -92,8 +92,8 @@ namespace OpenRA.Mods.RA.Graphics
public IEnumerable<IFinalizedRenderable> GenerateRenderables(WorldRenderer wr) public IEnumerable<IFinalizedRenderable> GenerateRenderables(WorldRenderer wr)
{ {
var bright = wr.World.Map.SequenceProvider.GetSequence(image, brightSequence); var bright = wr.World.Map.Rules.Sequences.GetSequence(image, brightSequence);
var dim = wr.World.Map.SequenceProvider.GetSequence(image, dimSequence); var dim = wr.World.Map.Rules.Sequences.GetSequence(image, dimSequence);
var source = wr.ScreenPosition(pos); var source = wr.ScreenPosition(pos);
var target = wr.ScreenPosition(pos + length); var target = wr.ScreenPosition(pos + length);

View File

@@ -169,7 +169,7 @@ namespace OpenRA.Mods.RA.Traits
var oldEffectiveOwner = AsPlayer; var oldEffectiveOwner = AsPlayer;
var renderSprites = actorInfo.TraitInfoOrDefault<RenderSpritesInfo>(); var renderSprites = actorInfo.TraitInfoOrDefault<RenderSpritesInfo>();
AsSprite = renderSprites == null ? null : renderSprites.GetImage(actorInfo, self.World.Map.SequenceProvider, newOwner.Faction.InternalName); AsSprite = renderSprites == null ? null : renderSprites.GetImage(actorInfo, self.World.Map.Rules.Sequences, newOwner.Faction.InternalName);
AsPlayer = newOwner; AsPlayer = newOwner;
AsTooltipInfo = actorInfo.TraitInfos<TooltipInfo>().FirstOrDefault(); AsTooltipInfo = actorInfo.TraitInfos<TooltipInfo>().FirstOrDefault();

View File

@@ -44,7 +44,7 @@ namespace OpenRA.Mods.RA.Traits
this.self = self; this.self = self;
var tileset = self.World.TileSet.Id.ToLowerInvariant(); var tileset = self.World.TileSet.Id.ToLowerInvariant();
tile = self.World.Map.SequenceProvider.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0); tile = self.World.Map.Rules.Sequences.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0);
} }
public IEnumerable<IOrderTargeter> Orders public IEnumerable<IOrderTargeter> Orders
@@ -141,8 +141,8 @@ namespace OpenRA.Mods.RA.Traits
minefieldStart = xy; minefieldStart = xy;
var tileset = self.World.TileSet.Id.ToLowerInvariant(); var tileset = self.World.TileSet.Id.ToLowerInvariant();
tileOk = self.World.Map.SequenceProvider.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0); tileOk = self.World.Map.Rules.Sequences.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0);
tileBlocked = self.World.Map.SequenceProvider.GetSequence("overlay", "build-invalid").GetSprite(0); tileBlocked = self.World.Map.Rules.Sequences.GetSequence("overlay", "build-invalid").GetSprite(0);
} }
public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi) public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi)

View File

@@ -132,7 +132,7 @@ namespace OpenRA.Mods.RA.Traits
var info = (ChronoshiftPowerInfo)power.Info; var info = (ChronoshiftPowerInfo)power.Info;
range = info.Range; range = info.Range;
tile = world.Map.SequenceProvider.GetSequence(info.OverlaySpriteGroup, info.SourceTileSequence).GetSprite(0); tile = world.Map.Rules.Sequences.GetSequence(info.OverlaySpriteGroup, info.SourceTileSequence).GetSprite(0);
} }
public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi) public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi)
@@ -196,9 +196,9 @@ namespace OpenRA.Mods.RA.Traits
range = info.Range; range = info.Range;
var tileset = manager.Self.World.TileSet.Id.ToLowerInvariant(); var tileset = manager.Self.World.TileSet.Id.ToLowerInvariant();
validTile = world.Map.SequenceProvider.GetSequence(info.OverlaySpriteGroup, info.ValidTileSequencePrefix + tileset).GetSprite(0); validTile = world.Map.Rules.Sequences.GetSequence(info.OverlaySpriteGroup, info.ValidTileSequencePrefix + tileset).GetSprite(0);
invalidTile = world.Map.SequenceProvider.GetSequence(info.OverlaySpriteGroup, info.InvalidTileSequence).GetSprite(0); invalidTile = world.Map.Rules.Sequences.GetSequence(info.OverlaySpriteGroup, info.InvalidTileSequence).GetSprite(0);
sourceTile = world.Map.SequenceProvider.GetSequence(info.OverlaySpriteGroup, info.SourceTileSequence).GetSprite(0); sourceTile = world.Map.Rules.Sequences.GetSequence(info.OverlaySpriteGroup, info.SourceTileSequence).GetSprite(0);
} }
public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi) public IEnumerable<Order> Order(World world, CPos cell, int2 worldPixel, MouseInput mi)