Add a Reverses sequence key for TS/RA2 animations.
This commit is contained in:
@@ -129,6 +129,14 @@ namespace OpenRA.Mods.Common.Graphics
|
|||||||
else
|
else
|
||||||
Length = LoadField<int>(d, "Length", 1);
|
Length = LoadField<int>(d, "Length", 1);
|
||||||
|
|
||||||
|
// Plays the animation forwards, and then in reverse
|
||||||
|
if (LoadField<bool>(d, "Reverses", false))
|
||||||
|
{
|
||||||
|
var frames = Frames ?? Exts.MakeArray(Length, i => Start + i);
|
||||||
|
Frames = frames.Concat(frames.Skip(1).Take(frames.Length - 2).Reverse()).ToArray();
|
||||||
|
Length = 2 * Length - 2;
|
||||||
|
}
|
||||||
|
|
||||||
Stride = LoadField<int>(d, "Stride", Length);
|
Stride = LoadField<int>(d, "Stride", Length);
|
||||||
|
|
||||||
if (Length > Stride)
|
if (Length > Stride)
|
||||||
|
|||||||
@@ -358,12 +358,13 @@ garadr:
|
|||||||
ShadowStart: 5
|
ShadowStart: 5
|
||||||
Tick: 400
|
Tick: 400
|
||||||
idle-dish: gtradr_a
|
idle-dish: gtradr_a
|
||||||
Frames: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
|
Length: 15
|
||||||
Length: 28
|
Reverses: True
|
||||||
Tick: 200
|
Tick: 200
|
||||||
damaged-idle-dish: gtradr_a
|
damaged-idle-dish: gtradr_a
|
||||||
Frames: 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16
|
Start: 15
|
||||||
Length: 28
|
Length: 15
|
||||||
|
Reverses: True
|
||||||
Tick: 240
|
Tick: 240
|
||||||
make: gtradrmk
|
make: gtradrmk
|
||||||
Length: 20
|
Length: 20
|
||||||
|
|||||||
Reference in New Issue
Block a user