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.")]
|
||||
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 object Create(ActorInitializer init) { return new WithSiloAnimation(init, this); }
|
||||
@@ -38,9 +42,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
public void BuildingComplete(Actor self)
|
||||
{
|
||||
var animation = wsb.NormalizeSequence(self, wsb.Info.Sequence);
|
||||
|
||||
wsb.DefaultAnimation.PlayFetchIndex(animation,
|
||||
wsb.DefaultAnimation.PlayFetchIndex(wsb.NormalizeSequence(self, info.Sequence),
|
||||
() => playerResources.ResourceCapacity != 0
|
||||
? ((info.Stages * wsb.DefaultAnimation.CurrentSequence.Length - 1) * playerResources.Resources) / (info.Stages * playerResources.ResourceCapacity)
|
||||
: 0);
|
||||
|
||||
@@ -78,16 +78,21 @@ proc:
|
||||
|
||||
silo:
|
||||
idle:
|
||||
Length: 5
|
||||
Offset: 0,-1
|
||||
damaged-idle:
|
||||
Start: 5
|
||||
Length: 5
|
||||
Offset: 0,-1
|
||||
dead:
|
||||
Start: 10
|
||||
Offset: 0,-1
|
||||
Tick: 800
|
||||
stages:
|
||||
Length: 5
|
||||
Offset: 0,-1
|
||||
damaged-stages:
|
||||
Start: 5
|
||||
Length: 5
|
||||
Offset: 0,-1
|
||||
make: silomake
|
||||
Length: *
|
||||
Tick: 80
|
||||
|
||||
@@ -384,11 +384,17 @@ refinery.atreides:
|
||||
silo.atreides:
|
||||
idle: DATA.R8
|
||||
Start: 2566
|
||||
Length: 4
|
||||
Offset: -16,16
|
||||
damaged-idle: DATA.R8
|
||||
Start: 2569
|
||||
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
|
||||
Start: 4313
|
||||
Length: 7
|
||||
@@ -872,11 +878,17 @@ refinery.harkonnen:
|
||||
silo.harkonnen:
|
||||
idle: DATA.R8
|
||||
Start: 2726
|
||||
Length: 4
|
||||
Offset: -16,16
|
||||
damaged-idle: DATA.R8
|
||||
Start: 2730
|
||||
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
|
||||
Start: 4313
|
||||
Length: 7
|
||||
@@ -1269,11 +1281,17 @@ refinery.ordos:
|
||||
silo.ordos:
|
||||
idle: DATA.R8
|
||||
Start: 2886
|
||||
Length: 4
|
||||
Offset: -16,16
|
||||
damaged-idle: DATA.R8
|
||||
Start: 2890
|
||||
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
|
||||
Start: 4313
|
||||
Length: 7
|
||||
|
||||
@@ -94,9 +94,14 @@ proc:
|
||||
|
||||
silo:
|
||||
idle: silo2
|
||||
Length: 9
|
||||
Offset: 0,-1
|
||||
damaged-idle: silo2
|
||||
Start: 9
|
||||
Offset: 0,-1
|
||||
stages: silo2
|
||||
Length: 9
|
||||
Offset: 0,-1
|
||||
damaged-stages: silo2
|
||||
Start: 9
|
||||
Length: 9
|
||||
Offset: 0,-1
|
||||
|
||||
@@ -973,9 +973,12 @@ gasilo.gdi:
|
||||
Offset: 0, -24
|
||||
UseTilesetCode: true
|
||||
idle: gtsilo_a
|
||||
Length: 4
|
||||
damaged-idle: gtsilo_a
|
||||
Start: 4
|
||||
stages: gtsilo_a
|
||||
Length: 4
|
||||
damaged-stages: gtsilo_a
|
||||
Start: 4
|
||||
Length: 4
|
||||
idle-underlay:
|
||||
ShadowStart: 3
|
||||
@@ -1008,9 +1011,12 @@ gasilo.nod:
|
||||
Offset: 0, -24
|
||||
UseTilesetCode: true
|
||||
idle: gtsilo_a
|
||||
Length: 4
|
||||
damaged-idle: gtsilo_a
|
||||
Start: 4
|
||||
stages: gtsilo_a
|
||||
Length: 4
|
||||
damaged-stages: gtsilo_a
|
||||
Start: 4
|
||||
Length: 4
|
||||
idle-underlay:
|
||||
ShadowStart: 3
|
||||
|
||||
Reference in New Issue
Block a user