Fix and enable SA1133, SA1134 style rules.

This commit is contained in:
Paul Chote
2019-05-23 18:43:21 +00:00
committed by abcdefg30
parent fbf9461890
commit 78a70be0d4
214 changed files with 1012 additions and 432 deletions

View File

@@ -25,7 +25,8 @@ namespace OpenRA.Mods.Common.Traits.Render
[SequenceReference("Image")]
public readonly string[] Sequences = { "idle" };
[PaletteReference] public readonly string Palette = "effect";
[PaletteReference]
public readonly string Palette = "effect";
[Desc("Only leave trail on listed terrain types. Leave empty to leave trail on all terrain types.")]
public readonly HashSet<string> TerrainTypes = new HashSet<string>();

View File

@@ -33,11 +33,13 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("A dictionary of faction-specific image overrides.")]
public readonly Dictionary<string, string> FactionImages = null;
[PaletteReference]
[Desc("Custom palette name")]
[PaletteReference] public readonly string Palette = null;
public readonly string Palette = null;
[PaletteReference(true)]
[Desc("Custom PlayerColorPalette: BaseName")]
[PaletteReference(true)] public readonly string PlayerPalette = "player";
public readonly string PlayerPalette = "player";
[Desc("Change the sprite image size.")]
public readonly float Scale = 1f;

View File

@@ -31,12 +31,18 @@ namespace OpenRA.Mods.Common.Traits.Render
public readonly string Image = null;
[Desc("Custom palette name")]
[PaletteReference] public readonly string Palette = null;
[PaletteReference]
public readonly string Palette = null;
[PaletteReference]
[Desc("Custom PlayerColorPalette: BaseName")]
[PaletteReference] public readonly string PlayerPalette = "player";
[PaletteReference] public readonly string NormalsPalette = "normals";
[PaletteReference] public readonly string ShadowPalette = "shadow";
public readonly string PlayerPalette = "player";
[PaletteReference]
public readonly string NormalsPalette = "normals";
[PaletteReference]
public readonly string ShadowPalette = "shadow";
[Desc("Change the image size.")]
public readonly float Scale = 12;

View File

@@ -20,7 +20,8 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public class SelectionDecorationsInfo : ITraitInfo, Requires<IDecorationBoundsInfo>
{
[PaletteReference] public readonly string Palette = "chrome";
[PaletteReference]
public readonly string Palette = "chrome";
[Desc("Health bar, production progress bar etc.")]
public readonly bool RenderSelectionBars = true;

View File

@@ -24,11 +24,13 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Image used for the overlay.")]
public readonly string Image = null;
[SequenceReference("Image")]
[Desc("Sequence used for the overlay (cannot be animated).")]
[SequenceReference("Image")] public readonly string Sequence = null;
public readonly string Sequence = null;
[PaletteReference]
[Desc("Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.")]
[PaletteReference] public readonly string Palette = "chrome";
public readonly string Palette = "chrome";
[Desc("Point on the production icon's used as reference for offsetting the overlay. ",
"Possible values are combinations of Center, Top, Bottom, Left, Right.")]

View File

@@ -17,8 +17,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Replaces the building animation when it accepts a cash delivery unit.")]
public class WithAcceptDeliveredCashAnimationInfo : ConditionalTraitInfo, Requires<WithSpriteBodyInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "active";
public readonly string Sequence = "active";
[Desc("Which sprite body to play the animation on.")]
public readonly string Body = "body";

View File

@@ -19,9 +19,10 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Armament name")]
public readonly string Armament = "primary";
[Desc("Displayed while targeting.")]
[SequenceReference]
[FieldLoader.Require]
[SequenceReference] public readonly string Sequence = null;
[Desc("Displayed while targeting.")]
public readonly string Sequence = null;
[Desc("Which sprite body to modify.")]
public readonly string Body = "body";

View File

@@ -19,8 +19,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Armament name")]
public readonly string Armament = "primary";
[SequenceReference]
[Desc("Displayed while attacking.")]
[SequenceReference] public readonly string Sequence = null;
public readonly string Sequence = null;
[Desc("Delay in ticks before animation starts, either relative to attack preparation or attack.")]
public readonly int Delay = 0;

View File

@@ -17,12 +17,14 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Rendered together with an attack.")]
public class WithAttackOverlayInfo : ITraitInfo, Requires<RenderSpritesInfo>
{
[SequenceReference]
[FieldLoader.Require]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = null;
public readonly string Sequence = null;
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -17,7 +17,8 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Changes the animation when the actor constructed a building.")]
public class WithBuildingPlacedAnimationInfo : ConditionalTraitInfo, Requires<WithSpriteBodyInfo>
{
[Desc("Sequence name to use"), SequenceReference]
[SequenceReference]
[Desc("Sequence name to use")]
public readonly string Sequence = "build";
[Desc("Which sprite body to play the animation on.")]

View File

@@ -17,14 +17,16 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Rendered when the actor constructed a building.")]
public class WithBuildingPlacedOverlayInfo : ConditionalTraitInfo, Requires<RenderSpritesInfo>, Requires<BodyOrientationInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "crane-overlay";
public readonly string Sequence = "crane-overlay";
[Desc("Position relative to body")]
public readonly WVec Offset = WVec.Zero;
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -21,8 +21,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Sequence to use for the charge levels.")]
public readonly string Sequence = "active";
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -27,9 +27,14 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Terrain types on which to display WaterSequence.")]
public readonly HashSet<string> WaterTerrainTypes = new HashSet<string> { "Water" };
[SequenceReference] public readonly string IdleSequence = "idle";
[SequenceReference] public readonly string WaterSequence = null;
[SequenceReference] public readonly string LandSequence = null;
[SequenceReference]
public readonly string IdleSequence = "idle";
[SequenceReference]
public readonly string WaterSequence = null;
[SequenceReference]
public readonly string LandSequence = null;
public object Create(ActorInitializer init) { return new WithCrateBody(init.Self, this); }

View File

@@ -20,9 +20,14 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public readonly string Image = "smoke_m";
[SequenceReference("Image")] public readonly string IdleSequence = "idle";
[SequenceReference("Image")] public readonly string LoopSequence = "loop";
[SequenceReference("Image")] public readonly string EndSequence = "end";
[SequenceReference("Image")]
public readonly string IdleSequence = "idle";
[SequenceReference("Image")]
public readonly string LoopSequence = "loop";
[SequenceReference("Image")]
public readonly string EndSequence = "end";
[Desc("Damage types that this should be used for (defined on the warheads).",
"Leave empty to disable all filtering.")]

View File

@@ -20,11 +20,13 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("This actor has a death animation.")]
public class WithDeathAnimationInfo : ConditionalTraitInfo, Requires<RenderSpritesInfo>
{
[SequenceReference(null, true)]
[Desc("Sequence prefix to play when this actor is killed by a warhead.")]
[SequenceReference(null, true)] public readonly string DeathSequence = "die";
public readonly string DeathSequence = "die";
[PaletteReference("DeathPaletteIsPlayerPalette")]
[Desc("The palette used for `DeathSequence`.")]
[PaletteReference("DeathPaletteIsPlayerPalette")] public readonly string DeathSequencePalette = "player";
public readonly string DeathSequencePalette = "player";
[Desc("Custom death animation palette is a player palette BaseName")]
public readonly bool DeathPaletteIsPlayerPalette = true;
@@ -32,11 +34,13 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Should DeathType-specific sequences be used (sequence name = DeathSequence + DeathType).")]
public readonly bool UseDeathTypeSuffix = true; // TODO: check the complete sequence with lint rules
[SequenceReference]
[Desc("Sequence to play when this actor is crushed.")]
[SequenceReference] public readonly string CrushedSequence = null;
public readonly string CrushedSequence = null;
[PaletteReference("CrushedPaletteIsPlayerPalette")]
[Desc("The palette used for `CrushedSequence`.")]
[PaletteReference("CrushedPaletteIsPlayerPalette")] public readonly string CrushedSequencePalette = "effect";
public readonly string CrushedSequencePalette = "effect";
[Desc("Custom crushed animation palette is a player palette BaseName")]
public readonly bool CrushedPaletteIsPlayerPalette = false;
@@ -45,8 +49,9 @@ namespace OpenRA.Mods.Common.Traits.Render
"Is only used if UseDeathTypeSuffix is `True`.")]
public readonly Dictionary<string, string[]> DeathTypes = new Dictionary<string, string[]>();
[SequenceReference]
[Desc("Sequence to use when the actor is killed by some non-standard means (e.g. suicide).")]
[SequenceReference] public readonly string FallbackSequence = null;
public readonly string FallbackSequence = null;
public override object Create(ActorInitializer init) { return new WithDeathAnimation(init.Self, this); }
}

View File

@@ -39,8 +39,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Sequence used for this decoration (can be animated).")]
public readonly string Sequence = null;
[PaletteReference("IsPlayerPalette")]
[Desc("Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = "chrome";
public readonly string Palette = "chrome";
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -17,14 +17,16 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Rendered when a harvester is docked.")]
public class WithDockedOverlayInfo : PausableConditionalTraitInfo, Requires<RenderSpritesInfo>, Requires<BodyOrientationInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "docking-overlay";
public readonly string Sequence = "docking-overlay";
[Desc("Position relative to body")]
public readonly WVec Offset = WVec.Zero;
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -15,11 +15,13 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public class WithDockingAnimationInfo : TraitInfo<WithDockingAnimation>, Requires<WithSpriteBodyInfo>, Requires<HarvesterInfo>
{
[SequenceReference]
[Desc("Displayed when docking to refinery.")]
[SequenceReference] public readonly string DockSequence = "dock";
public readonly string DockSequence = "dock";
[SequenceReference]
[Desc("Looped while unloading at refinery.")]
[SequenceReference] public readonly string DockLoopSequence = "dock-loop";
public readonly string DockLoopSequence = "dock-loop";
}
public class WithDockingAnimation { }

View File

@@ -17,8 +17,9 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public class WithHarvestAnimationInfo : ITraitInfo, Requires<WithSpriteBodyInfo>, Requires<HarvesterInfo>
{
[SequenceReference]
[Desc("Displayed while harvesting.")]
[SequenceReference] public readonly string HarvestSequence = "harvest";
public readonly string HarvestSequence = "harvest";
[Desc("Which sprite body to play the animation on.")]
public readonly string Body = "body";

View File

@@ -18,13 +18,15 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Displays an overlay whenever resources are harvested by the actor.")]
class WithHarvestOverlayInfo : ITraitInfo, Requires<RenderSpritesInfo>, Requires<BodyOrientationInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "harvest";
public readonly string Sequence = "harvest";
[Desc("Position relative to body")]
public readonly WVec LocalOffset = WVec.Zero;
[PaletteReference] public readonly string Palette = "effect";
[PaletteReference]
public readonly string Palette = "effect";
public object Create(ActorInitializer init) { return new WithHarvestOverlay(init.Self, this); }
}

View File

@@ -17,7 +17,8 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Periodically plays an idle animation, replacing the default body animation.")]
public class WithIdleAnimationInfo : ConditionalTraitInfo, Requires<WithSpriteBodyInfo>
{
[SequenceReference, Desc("Sequence names to use.")]
[SequenceReference]
[Desc("Sequence names to use.")]
public readonly string[] Sequences = { "active" };
public readonly int Interval = 750;

View File

@@ -20,17 +20,20 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Renders a decorative animation on units and buildings.")]
public class WithIdleOverlayInfo : PausableConditionalTraitInfo, IRenderActorPreviewSpritesInfo, Requires<RenderSpritesInfo>, Requires<BodyOrientationInfo>
{
[SequenceReference]
[Desc("Animation to play when the actor is created.")]
[SequenceReference] public readonly string StartSequence = null;
public readonly string StartSequence = null;
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "idle-overlay";
public readonly string Sequence = "idle-overlay";
[Desc("Position relative to body")]
public readonly WVec Offset = WVec.Zero;
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -22,14 +22,21 @@ namespace OpenRA.Mods.Common.Traits.Render
public readonly int MinIdleDelay = 30;
public readonly int MaxIdleDelay = 110;
[SequenceReference] public readonly string MoveSequence = "run";
[SequenceReference] public readonly string DefaultAttackSequence = null;
[SequenceReference]
public readonly string MoveSequence = "run";
[SequenceReference]
public readonly string DefaultAttackSequence = null;
// TODO: [SequenceReference] isn't smart enough to use Dictionaries.
[Desc("Attack sequence to use for each armament.")]
public readonly Dictionary<string, string> AttackSequences = new Dictionary<string, string>();
[SequenceReference] public readonly string[] IdleSequences = { };
[SequenceReference] public readonly string[] StandSequences = { "stand" };
[SequenceReference]
public readonly string[] IdleSequences = { };
[SequenceReference]
public readonly string[] StandSequences = { "stand" };
public override object Create(ActorInitializer init) { return new WithInfantryBody(init, this); }

View File

@@ -19,8 +19,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Replaces the sprite during construction/deploy/undeploy.")]
public class WithMakeAnimationInfo : ITraitInfo, Requires<WithSpriteBodyInfo>
{
[SequenceReference]
[Desc("Sequence name to use.")]
[SequenceReference] public readonly string Sequence = "make";
public readonly string Sequence = "make";
[GrantedConditionReference]
[Desc("The condition to grant to self while the make animation is playing.")]

View File

@@ -16,8 +16,9 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public class WithMoveAnimationInfo : ConditionalTraitInfo, Requires<WithSpriteBodyInfo>, Requires<IMoveInfo>
{
[SequenceReference]
[Desc("Displayed while moving.")]
[SequenceReference] public readonly string MoveSequence = "move";
public readonly string MoveSequence = "move";
[Desc("Which sprite body to modify.")]
public readonly string Body = "body";

View File

@@ -17,8 +17,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Replaces the building animation when `NukePower` is triggered.")]
public class WithNukeLaunchAnimationInfo : ConditionalTraitInfo, Requires<WithSpriteBodyInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "active";
public readonly string Sequence = "active";
[Desc("Which sprite body to play the animation on.")]
public readonly string Body = "body";

View File

@@ -17,14 +17,16 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Displays an overlay when `NukePower` is triggered.")]
public class WithNukeLaunchOverlayInfo : ConditionalTraitInfo, Requires<RenderSpritesInfo>, Requires<BodyOrientationInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "active";
public readonly string Sequence = "active";
[Desc("Position relative to body")]
public readonly WVec Offset = WVec.Zero;
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -25,17 +25,22 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("The image that contains the parachute sequences.")]
public readonly string Image = null;
[SequenceReference("Image")]
[Desc("Parachute opening sequence.")]
[SequenceReference("Image")] public readonly string OpeningSequence = null;
public readonly string OpeningSequence = null;
[SequenceReference("Image")]
[Desc("Parachute idle sequence.")]
[SequenceReference("Image")] public readonly string Sequence = null;
public readonly string Sequence = null;
[SequenceReference("Image")]
[Desc("Parachute closing sequence. Defaults to opening sequence played backwards.")]
[SequenceReference("Image")] public readonly string ClosingSequence = null;
public readonly string ClosingSequence = null;
[PaletteReference("IsPlayerPalette")]
[Desc("Palette used to render the parachute.")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = "player";
public readonly string Palette = "player";
public readonly bool IsPlayerPalette = true;
[Desc("Parachute position relative to the paradropped unit.")]
@@ -44,11 +49,13 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("The image that contains the shadow sequence for the paradropped unit.")]
public readonly string ShadowImage = null;
[SequenceReference("ShadowImage")]
[Desc("Paradropped unit's shadow sequence.")]
[SequenceReference("ShadowImage")] public readonly string ShadowSequence = null;
public readonly string ShadowSequence = null;
[PaletteReference(false)]
[Desc("Palette used to render the paradropped unit's shadow.")]
[PaletteReference(false)] public readonly string ShadowPalette = "shadow";
public readonly string ShadowPalette = "shadow";
[Desc("Shadow position relative to the paradropped unit's intended landing position.")]
public readonly WVec ShadowOffset = new WVec(0, 128, 0);

View File

@@ -23,14 +23,16 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Queues that should be producing for this overlay to render.")]
public readonly HashSet<string> Queues = new HashSet<string>();
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "production-overlay";
public readonly string Sequence = "production-overlay";
[Desc("Position relative to body")]
public readonly WVec Offset = WVec.Zero;
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -18,20 +18,24 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Displays an overlay when the building is being repaired by the player.")]
public class WithRepairOverlayInfo : PausableConditionalTraitInfo, Requires<RenderSpritesInfo>, Requires<BodyOrientationInfo>
{
[SequenceReference("Image")]
[Desc("Sequence to use upon repair beginning.")]
[SequenceReference("Image")] public readonly string StartSequence = null;
public readonly string StartSequence = null;
[SequenceReference]
[Desc("Sequence name to play once during repair intervals or repeatedly if a start sequence is set.")]
[SequenceReference] public readonly string Sequence = "active";
public readonly string Sequence = "active";
[SequenceReference("Image")]
[Desc("Sequence to use after repairing has finished.")]
[SequenceReference("Image")] public readonly string EndSequence = null;
public readonly string EndSequence = null;
[Desc("Position relative to body")]
public readonly WVec Offset = WVec.Zero;
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -17,8 +17,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Displays the fill status of PlayerResources with an extra sprite overlay on the actor.")]
class WithResourceLevelOverlayInfo : ConditionalTraitInfo, Requires<WithSpriteBodyInfo>, Requires<RenderSpritesInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "resources";
public readonly string Sequence = "resources";
public override object Create(ActorInitializer init) { return new WithResourceLevelOverlay(init.Self, this); }
}

View File

@@ -18,8 +18,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Replaces the default animation when actor resupplies a unit.")]
public class WithResupplyAnimationInfo : ConditionalTraitInfo, Requires<WithSpriteBodyInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "active";
public readonly string Sequence = "active";
[Desc("Which sprite body to play the animation on.")]
public readonly string Body = "body";

View File

@@ -20,7 +20,8 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Clones the actor sprite with another palette below it.")]
public class WithShadowInfo : ConditionalTraitInfo
{
[PaletteReference] public readonly string Palette = "shadow";
[PaletteReference]
public readonly string Palette = "shadow";
[Desc("Shadow position offset relative to actor position (ground level).")]
public readonly WVec Offset = WVec.Zero;

View File

@@ -22,8 +22,9 @@ namespace OpenRA.Mods.Common.Traits.Render
public class WithSpriteBarrelInfo : ConditionalTraitInfo, IRenderActorPreviewSpritesInfo, Requires<TurretedInfo>,
Requires<ArmamentInfo>, Requires<RenderSpritesInfo>, Requires<BodyOrientationInfo>
{
[SequenceReference]
[Desc("Sequence name to use.")]
[SequenceReference] public readonly string Sequence = "barrel";
public readonly string Sequence = "barrel";
[Desc("Armament to use for recoil.")]
public readonly string Armament = "primary";

View File

@@ -21,10 +21,12 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Default trait for rendering sprite-based actors.")]
public class WithSpriteBodyInfo : PausableConditionalTraitInfo, IRenderActorPreviewSpritesInfo, Requires<RenderSpritesInfo>
{
[Desc("Animation to play when the actor is created."), SequenceReference]
[SequenceReference]
[Desc("Animation to play when the actor is created.")]
public readonly string StartSequence = null;
[Desc("Animation to play when the actor is idle."), SequenceReference]
[SequenceReference]
[Desc("Animation to play when the actor is idle.")]
public readonly string Sequence = "idle";
[Desc("Identifier used to assign modifying traits to this sprite body.")]

View File

@@ -19,12 +19,14 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Renders Ctrl groups using pixel art.")]
public class WithSpriteControlGroupDecorationInfo : ITraitInfo, Requires<IDecorationBoundsInfo>
{
[PaletteReference] public readonly string Palette = "chrome";
[PaletteReference]
public readonly string Palette = "chrome";
public readonly string Image = "pips";
[SequenceReference("Image")]
[Desc("Sprite sequence used to render the control group 0-9 numbers.")]
[SequenceReference("Image")] public readonly string GroupSequence = "groups";
public readonly string GroupSequence = "groups";
[Desc("Point in the actor's selection box used as reference for offsetting the decoration image. " +
"Possible values are combinations of Center, Top, Bottom, Left, Right.")]

View File

@@ -22,11 +22,13 @@ namespace OpenRA.Mods.Common.Traits.Render
public class WithSpriteTurretInfo : ConditionalTraitInfo, IRenderActorPreviewSpritesInfo,
Requires<RenderSpritesInfo>, Requires<TurretedInfo>, Requires<BodyOrientationInfo>, Requires<ArmamentInfo>
{
[SequenceReference]
[Desc("Sequence name to use")]
[SequenceReference] public readonly string Sequence = "turret";
public readonly string Sequence = "turret";
[PaletteReference("IsPlayerPalette")]
[Desc("Custom palette name")]
[PaletteReference("IsPlayerPalette")] public readonly string Palette = null;
public readonly string Palette = null;
[Desc("Palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -21,7 +21,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Displays a text overlay relative to the selection box.")]
public class WithTextDecorationInfo : ConditionalTraitInfo, Requires<IDecorationBoundsInfo>
{
[FieldLoader.Require] [Translate] public readonly string Text = null;
[Translate]
[FieldLoader.Require]
public readonly string Text = null;
public readonly string Font = "TinyBold";

View File

@@ -22,9 +22,10 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Turret name")]
public readonly string Turret = "primary";
[Desc("Displayed while targeting.")]
[SequenceReference]
[FieldLoader.Require]
[SequenceReference] public readonly string Sequence = null;
[Desc("Displayed while targeting.")]
public readonly string Sequence = null;
public override object Create(ActorInitializer init) { return new WithTurretAimAnimation(init, this); }

View File

@@ -22,8 +22,9 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Turret name")]
public readonly string Turret = "primary";
[SequenceReference]
[Desc("Displayed while attacking.")]
[SequenceReference] public readonly string Sequence = null;
public readonly string Sequence = null;
[Desc("Delay in ticks before animation starts, either relative to attack preparation or attack.")]
public readonly int Delay = 0;

View File

@@ -169,7 +169,9 @@ namespace OpenRA.Mods.Common.Traits.Render
public class RuntimeNeighbourInit : IActorInit<Dictionary<CPos, string[]>>, ISuppressInitExport
{
[FieldFromYamlKey] readonly Dictionary<CPos, string[]> value = null;
[FieldFromYamlKey]
readonly Dictionary<CPos, string[]> value = null;
public RuntimeNeighbourInit() { }
public RuntimeNeighbourInit(Dictionary<CPos, string[]> init) { value = init; }
public Dictionary<CPos, string[]> Value(World world) { return value; }