From 5b4f8d1446fa84ed47ab2f0c1ccec246030238ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 23 Aug 2014 20:24:54 +0200 Subject: [PATCH] unhardcode and self-document more resource/smudge parameters --- OpenRA.Game/Traits/World/ResourceType.cs | 4 +++- OpenRA.Mods.RA/World/SmudgeLayer.cs | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/OpenRA.Game/Traits/World/ResourceType.cs b/OpenRA.Game/Traits/World/ResourceType.cs index c6927a97a4..9b983a39a5 100644 --- a/OpenRA.Game/Traits/World/ResourceType.cs +++ b/OpenRA.Game/Traits/World/ResourceType.cs @@ -17,8 +17,10 @@ namespace OpenRA.Traits { // HACK: The editor is getting really unmaintanable... public readonly string EditorSprite; + public readonly string[] Variants = { }; public readonly string Palette = "terrain"; + public readonly string Sequence = "resources"; public readonly int ResourceType = 1; public readonly int ValuePerUnit = 0; @@ -47,7 +49,7 @@ namespace OpenRA.Traits Variants = new Dictionary(); foreach (var v in info.Variants) { - var seq = world.Map.SequenceProvider.GetSequence("resources", v); + var seq = world.Map.SequenceProvider.GetSequence(Info.Sequence, v); var sprites = Exts.MakeArray(seq.Length, x => seq.GetSprite(x)); Variants.Add(v, sprites); } diff --git a/OpenRA.Mods.RA/World/SmudgeLayer.cs b/OpenRA.Mods.RA/World/SmudgeLayer.cs index 85ef43ccd0..6bb76cee7c 100644 --- a/OpenRA.Mods.RA/World/SmudgeLayer.cs +++ b/OpenRA.Mods.RA/World/SmudgeLayer.cs @@ -19,11 +19,17 @@ namespace OpenRA.Mods.RA public class SmudgeLayerInfo : ITraitInfo { public readonly string Type = "Scorch"; + + [Desc("Sprite sequence name")] public readonly string Sequence = "scorch"; public readonly int SmokePercentage = 25; + + [Desc("Sprite sequence name")] public readonly string SmokeType = "smoke_m"; + public readonly string Palette = "terrain"; + public object Create(ActorInitializer init) { return new SmudgeLayer(this); } } @@ -120,7 +126,7 @@ namespace OpenRA.Mods.RA public void Render(WorldRenderer wr) { - var pal = wr.Palette("terrain"); + var pal = wr.Palette(Info.Palette); foreach (var kv in tiles) {