Change traits to use RenderSprites directly.
This commit is contained in:
@@ -15,7 +15,7 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
class RenderGunboatInfo : RenderUnitInfo
|
||||
class RenderGunboatInfo : RenderSimpleInfo
|
||||
{
|
||||
public override object Create(ActorInitializer init) { return new RenderGunboat(init.self); }
|
||||
}
|
||||
@@ -26,8 +26,13 @@ namespace OpenRA.Mods.RA.Render
|
||||
string lastDir = "left";
|
||||
string lastDamage = "";
|
||||
|
||||
static Func<int> TurretFacingFunc(Actor self)
|
||||
{
|
||||
return () => self.HasTrait<Turreted>() ? self.TraitsImplementing<Turreted>().First().turretFacing : 0;
|
||||
}
|
||||
|
||||
public RenderGunboat(Actor self)
|
||||
: base(self, () => self.HasTrait<Turreted>() ? self.TraitsImplementing<Turreted>().First().turretFacing : 0)
|
||||
: base(self, TurretFacingFunc(self))
|
||||
{
|
||||
facing = self.Trait<IFacing>();
|
||||
anim.Play("left");
|
||||
|
||||
@@ -13,7 +13,7 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Cnc
|
||||
{
|
||||
class WithFireInfo : ITraitInfo, Requires<RenderSimpleInfo>
|
||||
class WithFireInfo : ITraitInfo, Requires<RenderSpritesInfo>
|
||||
{
|
||||
public readonly WVec Offset = new WVec(299,-640,0);
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace OpenRA.Mods.Cnc
|
||||
{
|
||||
public WithFire(Actor self, WithFireInfo info)
|
||||
{
|
||||
var rs = self.Trait<RenderSimple>();
|
||||
var rs = self.Trait<RenderSprites>();
|
||||
var roof = new Animation(rs.GetImage(self));
|
||||
roof.PlayThen("fire-start", () => roof.PlayRepeating("fire-loop"));
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Cnc
|
||||
{
|
||||
public class WithRoofInfo : ITraitInfo, Requires<RenderSimpleInfo>
|
||||
public class WithRoofInfo : ITraitInfo, Requires<RenderSpritesInfo>
|
||||
{
|
||||
public object Create(ActorInitializer init) { return new WithRoof(init.self); }
|
||||
}
|
||||
@@ -22,7 +22,7 @@ namespace OpenRA.Mods.Cnc
|
||||
{
|
||||
public WithRoof(Actor self)
|
||||
{
|
||||
var rs = self.Trait<RenderSimple>();
|
||||
var rs = self.Trait<RenderSprites>();
|
||||
var roof = new Animation(rs.GetImage(self), () => self.Trait<IFacing>().Facing);
|
||||
roof.Play("roof");
|
||||
rs.anims.Add("roof", new AnimationWithOffset(roof, null, null, 1024));
|
||||
|
||||
Reference in New Issue
Block a user