Refactored IQuantizeBodyOrientation implementation
Moved BodyOrientation and related interfaces from Game to Mods.Common. Introduced QuantizeFacingsFromSequence trait. With*Body render traits no longer implement IQuantizeBodyOrientation themselves.
This commit is contained in:
@@ -191,7 +191,6 @@
|
|||||||
<Compile Include="Graphics\VoxelRenderer.cs" />
|
<Compile Include="Graphics\VoxelRenderer.cs" />
|
||||||
<Compile Include="Graphics\VoxelLoader.cs" />
|
<Compile Include="Graphics\VoxelLoader.cs" />
|
||||||
<Compile Include="Graphics\VoxelProvider.cs" />
|
<Compile Include="Graphics\VoxelProvider.cs" />
|
||||||
<Compile Include="Traits\BodyOrientation.cs" />
|
|
||||||
<Compile Include="Graphics\VoxelAnimation.cs" />
|
<Compile Include="Graphics\VoxelAnimation.cs" />
|
||||||
<Compile Include="Traits\Player\FrozenActorLayer.cs" />
|
<Compile Include="Traits\Player\FrozenActorLayer.cs" />
|
||||||
<Compile Include="Graphics\Theater.cs" />
|
<Compile Include="Graphics\Theater.cs" />
|
||||||
|
|||||||
@@ -308,22 +308,6 @@ namespace OpenRA.Traits
|
|||||||
|
|
||||||
public interface IPostRenderSelection { IEnumerable<IRenderable> RenderAfterWorld(WorldRenderer wr); }
|
public interface IPostRenderSelection { IEnumerable<IRenderable> RenderAfterWorld(WorldRenderer wr); }
|
||||||
|
|
||||||
public interface IBodyOrientation
|
|
||||||
{
|
|
||||||
WAngle CameraPitch { get; }
|
|
||||||
int QuantizedFacings { get; }
|
|
||||||
WVec LocalToWorld(WVec vec);
|
|
||||||
WRot QuantizeOrientation(Actor self, WRot orientation);
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IBodyOrientationInfo : ITraitInfo
|
|
||||||
{
|
|
||||||
WVec LocalToWorld(WVec vec);
|
|
||||||
WRot QuantizeOrientation(WRot orientation, int facings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IQuantizeBodyOrientationInfo { int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction); }
|
|
||||||
|
|
||||||
public interface ITargetableInfo
|
public interface ITargetableInfo
|
||||||
{
|
{
|
||||||
string[] GetTargetTypes();
|
string[] GetTargetTypes();
|
||||||
|
|||||||
@@ -27,11 +27,6 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
[SequenceReference] public readonly string WakeRightSequence = "wake-right";
|
[SequenceReference] public readonly string WakeRightSequence = "wake-right";
|
||||||
|
|
||||||
public override object Create(ActorInitializer init) { return new WithGunboatBody(init, this); }
|
public override object Create(ActorInitializer init) { return new WithGunboatBody(init, this); }
|
||||||
|
|
||||||
public override int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction)
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class WithGunboatBody : WithSpriteBody, ITick
|
class WithGunboatBody : WithSpriteBody, ITick
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ using System.Collections.Generic;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using OpenRA.Graphics;
|
using OpenRA.Graphics;
|
||||||
using OpenRA.Mods.Common.Graphics;
|
using OpenRA.Mods.Common.Graphics;
|
||||||
|
using OpenRA.Mods.Common.Traits;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
|
|
||||||
namespace OpenRA.Mods.Common.Effects
|
namespace OpenRA.Mods.Common.Effects
|
||||||
|
|||||||
@@ -398,6 +398,8 @@
|
|||||||
<Compile Include="Traits\ProvidesRadar.cs" />
|
<Compile Include="Traits\ProvidesRadar.cs" />
|
||||||
<Compile Include="Traits\ProximityCaptor.cs" />
|
<Compile Include="Traits\ProximityCaptor.cs" />
|
||||||
<Compile Include="Traits\ProximityCapturable.cs" />
|
<Compile Include="Traits\ProximityCapturable.cs" />
|
||||||
|
<Compile Include="Traits\BodyOrientation.cs" />
|
||||||
|
<Compile Include="Traits\QuantizeFacingsFromSequence.cs" />
|
||||||
<Compile Include="Traits\RadarColorFromTerrain.cs" />
|
<Compile Include="Traits\RadarColorFromTerrain.cs" />
|
||||||
<Compile Include="Traits\Render\AutoSelectionSize.cs" />
|
<Compile Include="Traits\Render\AutoSelectionSize.cs" />
|
||||||
<Compile Include="Traits\Render\Hovers.cs" />
|
<Compile Include="Traits\Render\Hovers.cs" />
|
||||||
|
|||||||
@@ -9,8 +9,11 @@
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
namespace OpenRA.Traits
|
namespace OpenRA.Mods.Common.Traits
|
||||||
{
|
{
|
||||||
public class BodyOrientationInfo : ITraitInfo, IBodyOrientationInfo
|
public class BodyOrientationInfo : ITraitInfo, IBodyOrientationInfo
|
||||||
{
|
{
|
||||||
@@ -70,8 +73,12 @@ namespace OpenRA.Traits
|
|||||||
return info.QuantizedFacings;
|
return info.QuantizedFacings;
|
||||||
|
|
||||||
var qboi = self.Info.Traits.GetOrDefault<IQuantizeBodyOrientationInfo>();
|
var qboi = self.Info.Traits.GetOrDefault<IQuantizeBodyOrientationInfo>();
|
||||||
if (qboi == null)
|
var isb = self.HasTrait<ISpriteBody>();
|
||||||
throw new InvalidOperationException("Actor type '" + self.Info.Name + "' does not define a quantized body orientation.");
|
|
||||||
|
// If a sprite actor has neither custom QuantizedFacings nor a trait implementing IQuantizeBodyOrientationInfo, throw
|
||||||
|
if (qboi == null && isb)
|
||||||
|
throw new InvalidOperationException("Actor" + self.Info.Name + "has a sprite body but no facing quantization."
|
||||||
|
+ " Either add the QuantizeFacingsFromSequence trait or set custom QuantizedFacings on BodyOrientation.");
|
||||||
|
|
||||||
return qboi.QuantizedBodyFacings(self.Info, self.World.Map.SequenceProvider, faction);
|
return qboi.QuantizedBodyFacings(self.Info, self.World.Map.SequenceProvider, faction);
|
||||||
});
|
});
|
||||||
43
OpenRA.Mods.Common/Traits/QuantizeFacingsFromSequence.cs
Normal file
43
OpenRA.Mods.Common/Traits/QuantizeFacingsFromSequence.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2015 The OpenRA Developers (see AUTHORS)
|
||||||
|
* This file is part of OpenRA, which is free software. It is made
|
||||||
|
* available to you under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation. For more information,
|
||||||
|
* see COPYING.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using OpenRA.Graphics;
|
||||||
|
using OpenRA.Mods.Common.Graphics;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.Common.Traits
|
||||||
|
{
|
||||||
|
[Desc("Derive facings from sprite body sequence.")]
|
||||||
|
public class QuantizeFacingsFromSequenceInfo : UpgradableTraitInfo, IQuantizeBodyOrientationInfo, Requires<RenderSpritesInfo>
|
||||||
|
{
|
||||||
|
[Desc("Defines sequence to derive facings from."), SequenceReference]
|
||||||
|
public readonly string Sequence = "idle";
|
||||||
|
|
||||||
|
public int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string race)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(Sequence))
|
||||||
|
throw new InvalidOperationException("Actor " + ai.Name + " is missing sequence to quantize facings from.");
|
||||||
|
|
||||||
|
var rsi = ai.Traits.Get<RenderSpritesInfo>();
|
||||||
|
return sequenceProvider.GetSequence(rsi.GetImage(ai, sequenceProvider, race), Sequence).Facings;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override object Create(ActorInitializer init) { return new QuantizeFacingsFromSequence(this); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class QuantizeFacingsFromSequence : UpgradableTrait<QuantizeFacingsFromSequenceInfo>
|
||||||
|
{
|
||||||
|
public QuantizeFacingsFromSequence(QuantizeFacingsFromSequenceInfo info)
|
||||||
|
: base(info) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,7 +17,7 @@ using OpenRA.Traits;
|
|||||||
namespace OpenRA.Mods.Common.Traits
|
namespace OpenRA.Mods.Common.Traits
|
||||||
{
|
{
|
||||||
[Desc("Basic render trait for immobile actors. Deprecated, use RenderSprites + WithSpriteBody instead.")]
|
[Desc("Basic render trait for immobile actors. Deprecated, use RenderSprites + WithSpriteBody instead.")]
|
||||||
public class RenderSimpleInfo : RenderSpritesInfo, IRenderActorPreviewSpritesInfo, IQuantizeBodyOrientationInfo, Requires<IBodyOrientationInfo>
|
public class RenderSimpleInfo : RenderSpritesInfo, IRenderActorPreviewSpritesInfo, Requires<IBodyOrientationInfo>
|
||||||
{
|
{
|
||||||
[SequenceReference] public readonly string Sequence = "idle";
|
[SequenceReference] public readonly string Sequence = "idle";
|
||||||
|
|
||||||
@@ -33,11 +33,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction)
|
|
||||||
{
|
|
||||||
return sequenceProvider.GetSequence(GetImage(ai, sequenceProvider, faction), Sequence).Facings;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class RenderSimple : RenderSprites, IAutoSelectionSize
|
public class RenderSimple : RenderSprites, IAutoSelectionSize
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ using OpenRA.Traits;
|
|||||||
namespace OpenRA.Mods.Common.Traits
|
namespace OpenRA.Mods.Common.Traits
|
||||||
{
|
{
|
||||||
[Desc("Renders crates with both water and land variants.")]
|
[Desc("Renders crates with both water and land variants.")]
|
||||||
class WithCrateBodyInfo : ITraitInfo, Requires<RenderSpritesInfo>, IQuantizeBodyOrientationInfo, IRenderActorPreviewSpritesInfo
|
class WithCrateBodyInfo : ITraitInfo, Requires<RenderSpritesInfo>, IRenderActorPreviewSpritesInfo
|
||||||
{
|
{
|
||||||
[Desc("Easteregg sequences to use in december.")]
|
[Desc("Easteregg sequences to use in december.")]
|
||||||
public readonly string[] XmasImages = { };
|
public readonly string[] XmasImages = { };
|
||||||
@@ -35,8 +35,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), IdleSequence));
|
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), IdleSequence));
|
||||||
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction) { return 1; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class WithCrateBody : INotifyParachuteLanded
|
class WithCrateBody : INotifyParachuteLanded
|
||||||
|
|||||||
@@ -30,12 +30,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction)
|
|
||||||
{
|
|
||||||
var rsi = ai.Traits.Get<RenderSpritesInfo>();
|
|
||||||
return sequenceProvider.GetSequence(rsi.GetImage(ai, sequenceProvider, faction), Sequence).Facings;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithFacingSpriteBody : WithSpriteBody
|
public class WithFacingSpriteBody : WithSpriteBody
|
||||||
|
|||||||
@@ -16,8 +16,7 @@ using OpenRA.Traits;
|
|||||||
|
|
||||||
namespace OpenRA.Mods.Common.Traits
|
namespace OpenRA.Mods.Common.Traits
|
||||||
{
|
{
|
||||||
public class WithInfantryBodyInfo : UpgradableTraitInfo, IQuantizeBodyOrientationInfo, IRenderActorPreviewSpritesInfo,
|
public class WithInfantryBodyInfo : UpgradableTraitInfo, IRenderActorPreviewSpritesInfo, Requires<IMoveInfo>, Requires<RenderSpritesInfo>
|
||||||
Requires<IMoveInfo>, Requires<RenderSpritesInfo>
|
|
||||||
{
|
{
|
||||||
public readonly int MinIdleWaitTicks = 30;
|
public readonly int MinIdleWaitTicks = 30;
|
||||||
public readonly int MaxIdleWaitTicks = 110;
|
public readonly int MaxIdleWaitTicks = 110;
|
||||||
@@ -40,12 +39,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), StandSequences.First()));
|
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), StandSequences.First()));
|
||||||
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction)
|
|
||||||
{
|
|
||||||
var rsi = ai.Traits.Get<RenderSpritesInfo>();
|
|
||||||
return sequenceProvider.GetSequence(rsi.GetImage(ai, sequenceProvider, faction), StandSequences.First()).Facings;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithInfantryBody : UpgradableTrait<WithInfantryBodyInfo>, ITick, INotifyAttack, INotifyIdle, INotifyCreated
|
public class WithInfantryBody : UpgradableTrait<WithInfantryBodyInfo>, ITick, INotifyAttack, INotifyIdle, INotifyCreated
|
||||||
|
|||||||
@@ -17,8 +17,7 @@ using OpenRA.Traits;
|
|||||||
namespace OpenRA.Mods.Common.Traits
|
namespace OpenRA.Mods.Common.Traits
|
||||||
{
|
{
|
||||||
[Desc("Default trait for rendering sprite-based actors.")]
|
[Desc("Default trait for rendering sprite-based actors.")]
|
||||||
public class WithSpriteBodyInfo : UpgradableTraitInfo, IRenderActorPreviewSpritesInfo, IQuantizeBodyOrientationInfo,
|
public class WithSpriteBodyInfo : UpgradableTraitInfo, IRenderActorPreviewSpritesInfo, Requires<RenderSpritesInfo>
|
||||||
Requires<RenderSpritesInfo>
|
|
||||||
{
|
{
|
||||||
[Desc("Animation to play when the actor is created.")]
|
[Desc("Animation to play when the actor is created.")]
|
||||||
[SequenceReference] public readonly string StartSequence = null;
|
[SequenceReference] public readonly string StartSequence = null;
|
||||||
@@ -35,11 +34,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithSpriteBody : UpgradableTrait<WithSpriteBodyInfo>, ISpriteBody, INotifyDamageStateChanged
|
public class WithSpriteBody : UpgradableTrait<WithSpriteBodyInfo>, ISpriteBody, INotifyDamageStateChanged
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ using OpenRA.Traits;
|
|||||||
namespace OpenRA.Mods.Common.Traits
|
namespace OpenRA.Mods.Common.Traits
|
||||||
{
|
{
|
||||||
[Desc("Also returns a default selection size that is calculated automatically from the voxel dimensions.")]
|
[Desc("Also returns a default selection size that is calculated automatically from the voxel dimensions.")]
|
||||||
public class WithVoxelBodyInfo : ITraitInfo, IQuantizeBodyOrientationInfo, IRenderActorPreviewVoxelsInfo, Requires<RenderVoxelsInfo>
|
public class WithVoxelBodyInfo : ITraitInfo, IRenderActorPreviewVoxelsInfo, Requires<RenderVoxelsInfo>
|
||||||
{
|
{
|
||||||
public readonly string Sequence = "idle";
|
public readonly string Sequence = "idle";
|
||||||
|
|
||||||
@@ -33,8 +33,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
() => bodyOrientation,
|
() => bodyOrientation,
|
||||||
() => false, () => 0);
|
() => false, () => 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction) { return 0; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithVoxelBody : IAutoSelectionSize
|
public class WithVoxelBody : IAutoSelectionSize
|
||||||
|
|||||||
@@ -25,6 +25,25 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
void PlayCustomAnimationBackwards(Actor self, string name, Action after);
|
void PlayCustomAnimationBackwards(Actor self, string name, Action after);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public interface IBodyOrientation
|
||||||
|
{
|
||||||
|
WAngle CameraPitch { get; }
|
||||||
|
int QuantizedFacings { get; }
|
||||||
|
WVec LocalToWorld(WVec vec);
|
||||||
|
WRot QuantizeOrientation(Actor self, WRot orientation);
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IBodyOrientationInfo : ITraitInfo
|
||||||
|
{
|
||||||
|
WVec LocalToWorld(WVec vec);
|
||||||
|
WRot QuantizeOrientation(WRot orientation, int facings);
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IQuantizeBodyOrientationInfo : ITraitInfo
|
||||||
|
{
|
||||||
|
int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string race);
|
||||||
|
}
|
||||||
|
|
||||||
public interface INotifyResourceClaimLost
|
public interface INotifyResourceClaimLost
|
||||||
{
|
{
|
||||||
void OnNotifyResourceClaimLost(Actor self, ResourceClaim claim, Actor claimer);
|
void OnNotifyResourceClaimLost(Actor self, ResourceClaim claim, Actor claimer);
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ using OpenRA.Traits;
|
|||||||
|
|
||||||
namespace OpenRA.Mods.TS.Traits
|
namespace OpenRA.Mods.TS.Traits
|
||||||
{
|
{
|
||||||
public class WithVoxelUnloadBodyInfo : ITraitInfo, IQuantizeBodyOrientationInfo, IRenderActorPreviewVoxelsInfo, Requires<RenderVoxelsInfo>
|
public class WithVoxelUnloadBodyInfo : ITraitInfo, IRenderActorPreviewVoxelsInfo, Requires<RenderVoxelsInfo>
|
||||||
{
|
{
|
||||||
[Desc("Voxel sequence name to use when docked to a refinery.")]
|
[Desc("Voxel sequence name to use when docked to a refinery.")]
|
||||||
public readonly string UnloadSequence = "unload";
|
public readonly string UnloadSequence = "unload";
|
||||||
@@ -36,8 +36,6 @@ namespace OpenRA.Mods.TS.Traits
|
|||||||
() => new[] { body.QuantizeOrientation(orientation, facings) },
|
() => new[] { body.QuantizeOrientation(orientation, facings) },
|
||||||
() => false, () => 0);
|
() => false, () => 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction) { return 0; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithVoxelUnloadBody : IAutoSelectionSize
|
public class WithVoxelUnloadBody : IAutoSelectionSize
|
||||||
|
|||||||
@@ -16,12 +16,10 @@ using OpenRA.Traits;
|
|||||||
|
|
||||||
namespace OpenRA.Mods.TS.Traits
|
namespace OpenRA.Mods.TS.Traits
|
||||||
{
|
{
|
||||||
public class WithVoxelWalkerBodyInfo : ITraitInfo, IQuantizeBodyOrientationInfo, Requires<RenderVoxelsInfo>, Requires<IMoveInfo>
|
public class WithVoxelWalkerBodyInfo : ITraitInfo, Requires<RenderVoxelsInfo>, Requires<IMoveInfo>
|
||||||
{
|
{
|
||||||
public readonly int TickRate = 5;
|
public readonly int TickRate = 5;
|
||||||
public object Create(ActorInitializer init) { return new WithVoxelWalkerBody(init.Self, this); }
|
public object Create(ActorInitializer init) { return new WithVoxelWalkerBody(init.Self, this); }
|
||||||
|
|
||||||
public int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction) { return 0; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithVoxelWalkerBody : IAutoSelectionSize, ITick
|
public class WithVoxelWalkerBody : IAutoSelectionSize, ITick
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ using OpenRA.Traits;
|
|||||||
|
|
||||||
namespace OpenRA.Mods.TS.Traits
|
namespace OpenRA.Mods.TS.Traits
|
||||||
{
|
{
|
||||||
public class WithVoxelWaterBodyInfo : ITraitInfo, IQuantizeBodyOrientationInfo, IRenderActorPreviewVoxelsInfo, Requires<RenderVoxelsInfo>
|
public class WithVoxelWaterBodyInfo : ITraitInfo, IRenderActorPreviewVoxelsInfo, Requires<RenderVoxelsInfo>
|
||||||
{
|
{
|
||||||
public readonly string WaterSequence = "water";
|
public readonly string WaterSequence = "water";
|
||||||
public readonly string LandSequence = "idle";
|
public readonly string LandSequence = "idle";
|
||||||
@@ -41,8 +41,6 @@ namespace OpenRA.Mods.TS.Traits
|
|||||||
() => new[] { body.QuantizeOrientation(orientation, facings) },
|
() => new[] { body.QuantizeOrientation(orientation, facings) },
|
||||||
() => false, () => 0);
|
() => false, () => 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int QuantizedBodyFacings(ActorInfo ai, SequenceProvider sequenceProvider, string faction) { return 0; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WithVoxelWaterBody : IAutoSelectionSize
|
public class WithVoxelWaterBody : IAutoSelectionSize
|
||||||
|
|||||||
Reference in New Issue
Block a user