Merge pull request #5185 from reaperrr/rank-palette

Makes rank chevron palette customizable
This commit is contained in:
Matthias Mailänder
2014-04-27 18:04:20 +02:00
9 changed files with 155 additions and 5 deletions

View File

@@ -19,10 +19,12 @@ namespace OpenRA.Mods.RA.Effects
{
Actor self;
Animation anim = new Animation("rank");
readonly string paletteName;
public Rank(Actor self)
public Rank(Actor self, string paletteName)
{
this.self = self;
this.paletteName = paletteName;
var xp = self.Trait<GainsExperience>();
anim.PlayRepeating("rank");
@@ -55,9 +57,10 @@ namespace OpenRA.Mods.RA.Effects
var bounds = self.Bounds.Value;
bounds.Offset(pos.X, pos.Y);
var palette = wr.Palette(paletteName);
var offset = (int)(4 / wr.Viewport.Zoom);
var effectPos = wr.Position(new int2(bounds.Right - offset, bounds.Bottom - offset));
yield return new SpriteRenderable(anim.Image, effectPos, WVec.Zero, 0, wr.Palette("effect"), 1f / wr.Viewport.Zoom, true);
yield return new SpriteRenderable(anim.Image, effectPos, WVec.Zero, 0, palette, 1f / wr.Viewport.Zoom, true);
}
}
}

View File

@@ -23,6 +23,7 @@ namespace OpenRA.Mods.RA
public readonly float[] FirepowerModifier = { 1.1f, 1.15f, 1.2f, 1.5f };
public readonly float[] ArmorModifier = { 1.1f, 1.2f, 1.3f, 1.5f };
public readonly decimal[] SpeedModifier = { 1.1m, 1.15m, 1.2m, 1.5m };
public readonly string ChevronPalette = "effect";
public object Create(ActorInitializer init) { return new GainsExperience(init, this); }
}
@@ -75,7 +76,7 @@ namespace OpenRA.Mods.RA
self.World.AddFrameEndTask(w =>
{
if (!self.IsDead())
w.Add(new Rank(self));
w.Add(new Rank(self, info.ChevronPalette));
});
}
}