Made projectile effects accept empty values to disable/negate image or sequence.

In addition to accepting null.
This commit is contained in:
reaperrr
2015-05-24 10:02:00 +02:00
parent d0b3e5fb8b
commit 6ab73fa982
4 changed files with 8 additions and 8 deletions

View File

@@ -96,7 +96,7 @@ namespace OpenRA.Mods.Common.Effects
facing = OpenRA.Traits.Util.GetFacing(target - pos, 0);
length = Math.Max((target - pos).Length / speed.Range, 1);
if (info.Image != null)
if (!string.IsNullOrEmpty(info.Image))
{
anim = new Animation(world, info.Image, GetEffectiveFacing);
anim.PlayRepeating("idle");
@@ -135,7 +135,7 @@ namespace OpenRA.Mods.Common.Effects
pos = WPos.LerpQuadratic(args.Source, target, angle, ticks, length);
if (info.Trail != null && --smokeTicks < 0)
if (!string.IsNullOrEmpty(info.Trail) && --smokeTicks < 0)
{
var delayedPos = WPos.LerpQuadratic(args.Source, target, angle, ticks - info.TrailDelay, length);
world.AddFrameEndTask(w => w.Add(new Smoke(w, delayedPos, info.Trail, trailPalette)));

View File

@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.Effects
public readonly string Image = null;
[Desc("Sequence to loop while falling.")]
public readonly string Sequence = "idle";
[Desc("Sequence to play when launched. Skipped if null.")]
[Desc("Sequence to play when launched. Skipped if null or empty.")]
public readonly string OpenSequence = null;
public readonly string Palette = "effect";
public readonly bool Shadow = false;
@@ -51,9 +51,9 @@ namespace OpenRA.Mods.Common.Effects
anim = new Animation(args.SourceActor.World, info.Image);
if (info.Image != null)
if (!string.IsNullOrEmpty(info.Image))
{
if (info.OpenSequence != null)
if (!string.IsNullOrEmpty(info.OpenSequence))
anim.PlayThen(info.OpenSequence, () => anim.PlayRepeating(info.Sequence));
else
anim.PlayRepeating(info.Sequence);

View File

@@ -57,7 +57,7 @@ namespace OpenRA.Mods.Common.Effects
this.color = color;
this.target = args.PassiveTarget;
if (info.HitAnim != null)
if (!string.IsNullOrEmpty(info.HitAnim))
this.hitanim = new Animation(args.SourceActor.World, info.HitAnim);
}

View File

@@ -106,7 +106,7 @@ namespace OpenRA.Mods.Common.Effects
offset = WVec.FromPDF(world.SharedRandom, 2) * inaccuracy / 1024;
}
if (info.Image != null)
if (!string.IsNullOrEmpty(info.Image))
{
anim = new Animation(world, info.Image, () => facing);
anim.PlayRepeating("idle");
@@ -169,7 +169,7 @@ namespace OpenRA.Mods.Common.Effects
pos += move;
if (info.Trail != null && --ticksToNextSmoke < 0)
if (!string.IsNullOrEmpty(info.Trail) && --ticksToNextSmoke < 0)
{
world.AddFrameEndTask(w => w.Add(new Smoke(w, pos - 3 * move / 2, info.Trail, trailPalette)));
ticksToNextSmoke = info.TrailInterval;