Make AreaBeam and LaserZap Z sorting customizable

This commit is contained in:
reaperrr
2015-12-27 18:54:39 +01:00
committed by RoosterDragon
parent 92c7af7302
commit a7b5800d6f
4 changed files with 12 additions and 2 deletions

View File

@@ -59,6 +59,9 @@ namespace OpenRA.Mods.Common.Effects
[Desc("Should the beam be visuall rendered? False = Beam is invisible.")]
public readonly bool RenderBeam = true;
[Desc("Equivalent to sequence ZOffset. Controls Z sorting.")]
public readonly int ZOffset = 0;
[Desc("Color of the beam.")]
public readonly Color Color = Color.Red;
@@ -193,7 +196,7 @@ namespace OpenRA.Mods.Common.Effects
{
if (!IsBeamComplete && info.RenderBeam && !(wr.World.FogObscures(tailPos) && wr.World.FogObscures(headPos)))
{
var beamRender = new BeamRenderable(headPos, 0, tailPos - headPos, info.Shape, info.Width, color);
var beamRender = new BeamRenderable(headPos, info.ZOffset, tailPos - headPos, info.Shape, info.Width, color);
return new[] { (IRenderable)beamRender };
}

View File

@@ -27,6 +27,9 @@ namespace OpenRA.Mods.Common.Effects
[Desc("The shape of the beam. Accepts values Cylindrical or Flat.")]
public readonly BeamRenderableShape Shape = BeamRenderableShape.Cylindrical;
[Desc("Equivalent to sequence ZOffset. Controls Z sorting.")]
public readonly int ZOffset = 0;
public readonly int BeamDuration = 10;
public readonly bool UsePlayerColor = false;
@@ -102,7 +105,7 @@ namespace OpenRA.Mods.Common.Effects
if (ticks < info.BeamDuration)
{
var rc = Color.FromArgb((info.BeamDuration - ticks) * 255 / info.BeamDuration, color);
yield return new BeamRenderable(args.Source, 0, target - args.Source, info.Shape, info.Width, rc);
yield return new BeamRenderable(args.Source, info.ZOffset, target - args.Source, info.Shape, info.Width, rc);
}
if (hitanim != null)