Make all range circles fully configurable.

This commit is contained in:
Matthias Mailänder
2020-10-17 18:33:16 +02:00
committed by Paul Chote
parent 214aa64ce3
commit 14fc0254c6
12 changed files with 205 additions and 44 deletions

View File

@@ -24,6 +24,21 @@ namespace OpenRA.Mods.Common.Traits
public readonly int Cooldown = 0;
public readonly int InitialDelay = 0;
[Desc("Range circle color when operational.")]
public readonly Color CircleReadyColor = Color.FromArgb(128, Color.White);
[Desc("Range circle color when inactive.")]
public readonly Color CircleBlockedColor = Color.FromArgb(128, Color.Red);
[Desc("Range circle line width.")]
public readonly float CircleWidth = 1;
[Desc("Range circle border color.")]
public readonly Color CircleBorderColor = Color.FromArgb(96, Color.Black);
[Desc("Range circle border width.")]
public readonly float CircleBorderWidth = 3;
public override object Create(ActorInitializer init) { return new BaseProvider(init.Self, this); }
}
@@ -85,8 +100,10 @@ namespace OpenRA.Mods.Common.Traits
self.CenterPosition,
Info.Range,
0,
Color.FromArgb(128, Ready() ? Color.White : Color.Red),
Color.FromArgb(96, Color.Black));
Ready() ? Info.CircleReadyColor : Info.CircleBlockedColor,
Info.CircleWidth,
Info.CircleBorderColor,
Info.CircleBorderWidth);
}
IEnumerable<IRenderable> IRenderAnnotationsWhenSelected.RenderAnnotations(Actor self, WorldRenderer wr)