ISpriteSequence facing -> WAngle.

This commit is contained in:
Paul Chote
2020-05-08 18:15:31 +01:00
committed by atlimit8
parent 259c8d2c98
commit 361e2d463c
4 changed files with 14 additions and 14 deletions

View File

@@ -50,7 +50,7 @@ namespace OpenRA.Graphics
}
public int CurrentFrame { get { return backwards ? CurrentSequence.Length - frame - 1 : frame; } }
public Sprite Image { get { return CurrentSequence.GetSprite(CurrentFrame, facingFunc()); } }
public Sprite Image { get { return CurrentSequence.GetSprite(CurrentFrame, WAngle.FromFacing(facingFunc())); } }
public IRenderable[] Render(WPos pos, WVec offset, int zOffset, PaletteReference palette, float scale)
{
@@ -58,7 +58,7 @@ namespace OpenRA.Graphics
if (CurrentSequence.ShadowStart >= 0)
{
var shadow = CurrentSequence.GetShadow(CurrentFrame, facingFunc());
var shadow = CurrentSequence.GetShadow(CurrentFrame, WAngle.FromFacing(facingFunc()));
var shadowRenderable = new SpriteRenderable(shadow, pos, offset, CurrentSequence.ShadowZOffset + zOffset, palette, scale, true);
return new IRenderable[] { shadowRenderable, imageRenderable };
}
@@ -74,7 +74,7 @@ namespace OpenRA.Graphics
if (CurrentSequence.ShadowStart >= 0)
{
var shadow = CurrentSequence.GetShadow(CurrentFrame, facingFunc());
var shadow = CurrentSequence.GetShadow(CurrentFrame, WAngle.FromFacing(facingFunc()));
var shadowPos = pos - new int2((int)(scale * shadow.Size.X / 2), (int)(scale * shadow.Size.Y / 2));
var shadowRenderable = new UISpriteRenderable(shadow, WPos.Zero + offset, shadowPos, CurrentSequence.ShadowZOffset + zOffset, palette, scale);
return new IRenderable[] { shadowRenderable, imageRenderable };

View File

@@ -34,8 +34,8 @@ namespace OpenRA.Graphics
Rectangle Bounds { get; }
Sprite GetSprite(int frame);
Sprite GetSprite(int frame, int facing);
Sprite GetShadow(int frame, int facing);
Sprite GetSprite(int frame, WAngle facing);
Sprite GetShadow(int frame, WAngle facing);
}
public interface ISpriteSequenceLoader

View File

@@ -42,9 +42,9 @@ namespace OpenRA.Mods.Cnc.Graphics
.F(info.Nodes[0].Location, sequence, animation));
}
protected override int QuantizeFacing(int facing)
protected override int GetFacingFrameOffset(WAngle facing)
{
return OpenRA.Mods.Cnc.Util.ClassicQuantizeFacing(facing, Facings, useClassicFacings);
return Util.ClassicQuantizeFacing(facing.Facing, Facings, useClassicFacings);
}
}
}

View File

@@ -363,22 +363,22 @@ namespace OpenRA.Mods.Common.Graphics
public Sprite GetSprite(int frame)
{
return GetSprite(Start, frame, 0);
return GetSprite(Start, frame, WAngle.Zero);
}
public Sprite GetSprite(int frame, int facing)
public Sprite GetSprite(int frame, WAngle facing)
{
return GetSprite(Start, frame, facing);
}
public Sprite GetShadow(int frame, int facing)
public Sprite GetShadow(int frame, WAngle facing)
{
return ShadowStart >= 0 ? GetSprite(ShadowStart, frame, facing) : null;
}
protected virtual Sprite GetSprite(int start, int frame, int facing)
protected virtual Sprite GetSprite(int start, int frame, WAngle facing)
{
var f = QuantizeFacing(facing);
var f = GetFacingFrameOffset(facing);
if (reverseFacings)
f = (Facings - f) % Facings;
@@ -393,9 +393,9 @@ namespace OpenRA.Mods.Common.Graphics
return sprites[j];
}
protected virtual int QuantizeFacing(int facing)
protected virtual int GetFacingFrameOffset(WAngle facing)
{
return Util.QuantizeFacing(facing, Facings);
return Util.QuantizeFacing(facing.Facing, Facings);
}
}
}