Add custom sequence support to WithSiloAnimation
Additionally add description to Stages property, and remove unnecessary var (information is only needed once anyway).
This commit is contained in:
@@ -18,6 +18,10 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Render trait for buildings that change the sprite according to the remaining resource storage capacity across all depots.")]
|
[Desc("Render trait for buildings that change the sprite according to the remaining resource storage capacity across all depots.")]
|
||||||
class WithSiloAnimationInfo : ITraitInfo, Requires<WithSpriteBodyInfo>, Requires<RenderSpritesInfo>
|
class WithSiloAnimationInfo : ITraitInfo, Requires<WithSpriteBodyInfo>, Requires<RenderSpritesInfo>
|
||||||
{
|
{
|
||||||
|
[Desc("Sequence to use for resources-dependent 'stages'."), SequenceReference]
|
||||||
|
public readonly string Sequence = "stages";
|
||||||
|
|
||||||
|
[Desc("Internal resource stages. Does not have to match number of sequence frames.")]
|
||||||
public readonly int Stages = 10;
|
public readonly int Stages = 10;
|
||||||
|
|
||||||
public object Create(ActorInitializer init) { return new WithSiloAnimation(init, this); }
|
public object Create(ActorInitializer init) { return new WithSiloAnimation(init, this); }
|
||||||
@@ -38,9 +42,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public void BuildingComplete(Actor self)
|
public void BuildingComplete(Actor self)
|
||||||
{
|
{
|
||||||
var animation = wsb.NormalizeSequence(self, wsb.Info.Sequence);
|
wsb.DefaultAnimation.PlayFetchIndex(wsb.NormalizeSequence(self, info.Sequence),
|
||||||
|
|
||||||
wsb.DefaultAnimation.PlayFetchIndex(animation,
|
|
||||||
() => playerResources.ResourceCapacity != 0
|
() => playerResources.ResourceCapacity != 0
|
||||||
? ((info.Stages * wsb.DefaultAnimation.CurrentSequence.Length - 1) * playerResources.Resources) / (info.Stages * playerResources.ResourceCapacity)
|
? ((info.Stages * wsb.DefaultAnimation.CurrentSequence.Length - 1) * playerResources.Resources) / (info.Stages * playerResources.ResourceCapacity)
|
||||||
: 0);
|
: 0);
|
||||||
|
|||||||
@@ -78,16 +78,21 @@ proc:
|
|||||||
|
|
||||||
silo:
|
silo:
|
||||||
idle:
|
idle:
|
||||||
Length: 5
|
|
||||||
Offset: 0,-1
|
Offset: 0,-1
|
||||||
damaged-idle:
|
damaged-idle:
|
||||||
Start: 5
|
Start: 5
|
||||||
Length: 5
|
|
||||||
Offset: 0,-1
|
Offset: 0,-1
|
||||||
dead:
|
dead:
|
||||||
Start: 10
|
Start: 10
|
||||||
Offset: 0,-1
|
Offset: 0,-1
|
||||||
Tick: 800
|
Tick: 800
|
||||||
|
stages:
|
||||||
|
Length: 5
|
||||||
|
Offset: 0,-1
|
||||||
|
damaged-stages:
|
||||||
|
Start: 5
|
||||||
|
Length: 5
|
||||||
|
Offset: 0,-1
|
||||||
make: silomake
|
make: silomake
|
||||||
Length: *
|
Length: *
|
||||||
Tick: 80
|
Tick: 80
|
||||||
|
|||||||
@@ -384,11 +384,17 @@ refinery.atreides:
|
|||||||
silo.atreides:
|
silo.atreides:
|
||||||
idle: DATA.R8
|
idle: DATA.R8
|
||||||
Start: 2566
|
Start: 2566
|
||||||
Length: 4
|
|
||||||
Offset: -16,16
|
Offset: -16,16
|
||||||
damaged-idle: DATA.R8
|
damaged-idle: DATA.R8
|
||||||
Start: 2569
|
Start: 2569
|
||||||
Offset: -16,16
|
Offset: -16,16
|
||||||
|
stages: DATA.R8
|
||||||
|
Start: 2566
|
||||||
|
Length: 4
|
||||||
|
Offset: -16,16
|
||||||
|
damaged-stages: DATA.R8
|
||||||
|
Start: 2569
|
||||||
|
Offset: -16,16
|
||||||
make: DATA.R8
|
make: DATA.R8
|
||||||
Start: 4313
|
Start: 4313
|
||||||
Length: 7
|
Length: 7
|
||||||
@@ -872,11 +878,17 @@ refinery.harkonnen:
|
|||||||
silo.harkonnen:
|
silo.harkonnen:
|
||||||
idle: DATA.R8
|
idle: DATA.R8
|
||||||
Start: 2726
|
Start: 2726
|
||||||
Length: 4
|
|
||||||
Offset: -16,16
|
Offset: -16,16
|
||||||
damaged-idle: DATA.R8
|
damaged-idle: DATA.R8
|
||||||
Start: 2730
|
Start: 2730
|
||||||
Offset: -16,16
|
Offset: -16,16
|
||||||
|
stages: DATA.R8
|
||||||
|
Start: 2726
|
||||||
|
Length: 4
|
||||||
|
Offset: -16,16
|
||||||
|
damaged-stages: DATA.R8
|
||||||
|
Start: 2730
|
||||||
|
Offset: -16,16
|
||||||
make: DATA.R8
|
make: DATA.R8
|
||||||
Start: 4313
|
Start: 4313
|
||||||
Length: 7
|
Length: 7
|
||||||
@@ -1269,11 +1281,17 @@ refinery.ordos:
|
|||||||
silo.ordos:
|
silo.ordos:
|
||||||
idle: DATA.R8
|
idle: DATA.R8
|
||||||
Start: 2886
|
Start: 2886
|
||||||
Length: 4
|
|
||||||
Offset: -16,16
|
Offset: -16,16
|
||||||
damaged-idle: DATA.R8
|
damaged-idle: DATA.R8
|
||||||
Start: 2890
|
Start: 2890
|
||||||
Offset: -16,16
|
Offset: -16,16
|
||||||
|
stages: DATA.R8
|
||||||
|
Start: 2886
|
||||||
|
Length: 4
|
||||||
|
Offset: -16,16
|
||||||
|
damaged-stages: DATA.R8
|
||||||
|
Start: 2890
|
||||||
|
Offset: -16,16
|
||||||
make: DATA.R8
|
make: DATA.R8
|
||||||
Start: 4313
|
Start: 4313
|
||||||
Length: 7
|
Length: 7
|
||||||
|
|||||||
@@ -94,9 +94,14 @@ proc:
|
|||||||
|
|
||||||
silo:
|
silo:
|
||||||
idle: silo2
|
idle: silo2
|
||||||
Length: 9
|
|
||||||
Offset: 0,-1
|
Offset: 0,-1
|
||||||
damaged-idle: silo2
|
damaged-idle: silo2
|
||||||
|
Start: 9
|
||||||
|
Offset: 0,-1
|
||||||
|
stages: silo2
|
||||||
|
Length: 9
|
||||||
|
Offset: 0,-1
|
||||||
|
damaged-stages: silo2
|
||||||
Start: 9
|
Start: 9
|
||||||
Length: 9
|
Length: 9
|
||||||
Offset: 0,-1
|
Offset: 0,-1
|
||||||
|
|||||||
@@ -973,9 +973,12 @@ gasilo.gdi:
|
|||||||
Offset: 0, -24
|
Offset: 0, -24
|
||||||
UseTilesetCode: true
|
UseTilesetCode: true
|
||||||
idle: gtsilo_a
|
idle: gtsilo_a
|
||||||
Length: 4
|
|
||||||
damaged-idle: gtsilo_a
|
damaged-idle: gtsilo_a
|
||||||
Start: 4
|
Start: 4
|
||||||
|
stages: gtsilo_a
|
||||||
|
Length: 4
|
||||||
|
damaged-stages: gtsilo_a
|
||||||
|
Start: 4
|
||||||
Length: 4
|
Length: 4
|
||||||
idle-underlay:
|
idle-underlay:
|
||||||
ShadowStart: 3
|
ShadowStart: 3
|
||||||
@@ -1008,9 +1011,12 @@ gasilo.nod:
|
|||||||
Offset: 0, -24
|
Offset: 0, -24
|
||||||
UseTilesetCode: true
|
UseTilesetCode: true
|
||||||
idle: gtsilo_a
|
idle: gtsilo_a
|
||||||
Length: 4
|
|
||||||
damaged-idle: gtsilo_a
|
damaged-idle: gtsilo_a
|
||||||
Start: 4
|
Start: 4
|
||||||
|
stages: gtsilo_a
|
||||||
|
Length: 4
|
||||||
|
damaged-stages: gtsilo_a
|
||||||
|
Start: 4
|
||||||
Length: 4
|
Length: 4
|
||||||
idle-underlay:
|
idle-underlay:
|
||||||
ShadowStart: 3
|
ShadowStart: 3
|
||||||
|
|||||||
Reference in New Issue
Block a user