diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/ActorOrientationDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/ActorOrientationDecoration.cs index 1fe34e0746..66f213480a 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/ActorOrientationDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/ActorOrientationDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class ActorOrientationDecoration : AttachedDecoration { - internal class ActorOrientationDecorationMetadata : AttachedDecorationMetadata + public class ActorOrientationDecorationMetadata : AttachedDecorationMetadata { public override string GetSignature() @@ -16,7 +16,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new ActorOrientationDecorationMetadataDescription(this); } } - internal class ActorOrientationDecorationRenderingData : AttachedDecorationRenderingData + public class ActorOrientationDecorationRenderingData : AttachedDecorationRenderingData { public ActorOrientationDecorationRenderingData((long, long) lifespan, AgentItem agent) : base(lifespan, new AgentConnector(agent)) { @@ -36,10 +36,6 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti } } - internal ActorOrientationDecoration(ActorOrientationDecorationMetadata metadata, ActorOrientationDecorationRenderingData renderingData) : base (metadata, renderingData) - { - } - public ActorOrientationDecoration((long start, long end) lifespan, AgentItem agent) : base(new ActorOrientationDecorationMetadata(), new ActorOrientationDecorationRenderingData(lifespan, agent)) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/AttachedDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/AttachedDecoration.cs index ee9213e13a..db3d547dc0 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/AttachedDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/AttachedDecoration.cs @@ -2,10 +2,10 @@ internal abstract class AttachedDecoration : Decoration { - internal abstract class AttachedDecorationMetadata : _DecorationMetadata + public abstract class AttachedDecorationMetadata : _DecorationMetadata { } - internal abstract class AttachedDecorationRenderingData : _DecorationRenderingData + public abstract class AttachedDecorationRenderingData : _DecorationRenderingData { public readonly GeographicalConnector ConnectedTo; public RotationConnector? RotationConnectedTo { get; protected set; } @@ -37,7 +37,7 @@ public virtual void UsingSkillMode(SkillModeDescriptor? skill) public RotationConnector? RotationConnectedTo => DecorationRenderingData.RotationConnectedTo; public SkillModeDescriptor? SkillMode => DecorationRenderingData.SkillMode; - internal AttachedDecoration(AttachedDecorationMetadata metadata, AttachedDecorationRenderingData renderingData) : base(metadata, renderingData) + protected AttachedDecoration(AttachedDecorationMetadata metadata, AttachedDecorationRenderingData renderingData) : base(metadata, renderingData) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Decoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Decoration.cs index 160b375190..d84073ab12 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Decoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Decoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; public abstract class Decoration { - internal abstract class _DecorationMetadata + public abstract class _DecorationMetadata { public abstract string GetSignature(); @@ -13,7 +13,7 @@ internal abstract class _DecorationMetadata } - internal abstract class _DecorationRenderingData + public abstract class _DecorationRenderingData { public readonly (long start, long end) Lifespan; @@ -28,7 +28,7 @@ protected _DecorationRenderingData((long start, long end) lifespan) internal readonly _DecorationRenderingData DecorationRenderingData; public (long start, long end) Lifespan => DecorationRenderingData.Lifespan; - internal Decoration(_DecorationMetadata metaData, _DecorationRenderingData renderingData) + protected Decoration(_DecorationMetadata metaData, _DecorationRenderingData renderingData) { DecorationMetadata = metaData; DecorationRenderingData = renderingData; diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/CircleDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/CircleDecoration.cs index 4c141047ef..5763882ab0 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/CircleDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/CircleDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class CircleDecoration : FormDecoration { - internal class CircleDecorationMetadata : FormDecorationMetadata + public class CircleDecorationMetadata : FormDecorationMetadata { public readonly uint Radius; public readonly uint MinRadius; @@ -28,7 +28,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new CircleDecorationMetadataDescription(this); } } - internal class CircleDecorationRenderingData : FormDecorationRenderingData + public class CircleDecorationRenderingData : FormDecorationRenderingData { public CircleDecorationRenderingData((long, long) lifespan, GeographicalConnector connector) : base(lifespan, connector) { @@ -44,7 +44,7 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti public uint MinRadius => DecorationMetadata.MinRadius; - internal CircleDecoration(CircleDecorationMetadata metadata, CircleDecorationRenderingData renderingData) : base(metadata, renderingData) + protected CircleDecoration(CircleDecorationMetadata metadata, CircleDecorationRenderingData renderingData) : base(metadata, renderingData) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/DoughnutDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/DoughnutDecoration.cs index 732d2f0791..b3ca40bcfe 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/DoughnutDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/DoughnutDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class DoughnutDecoration : FormDecoration { - internal class DoughnutDecorationMetadata : FormDecorationMetadata + public class DoughnutDecorationMetadata : FormDecorationMetadata { public readonly uint OuterRadius; public readonly uint InnerRadius; @@ -28,7 +28,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new DoughnutDecorationMetadataDescription(this); } } - internal class DoughnutDecorationRenderingData : FormDecorationRenderingData + public class DoughnutDecorationRenderingData : FormDecorationRenderingData { public DoughnutDecorationRenderingData((long, long) lifespan, GeographicalConnector connector) : base(lifespan, connector) { @@ -43,10 +43,6 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti public uint OuterRadius => DecorationMetadata.OuterRadius; public uint InnerRadius => DecorationMetadata.InnerRadius; - internal DoughnutDecoration(DoughnutDecorationMetadata metadata, DoughnutDecorationRenderingData renderingData) : base(metadata, renderingData) - { - } - public DoughnutDecoration(uint innerRadius, uint outerRadius, (long start, long end) lifespan, string color, GeographicalConnector connector) : base(new DoughnutDecorationMetadata(color, innerRadius, outerRadius), new DoughnutDecorationRenderingData(lifespan, connector)) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/FormDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/FormDecoration.cs index c88dce46a0..6ff0c3e7ec 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/FormDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/FormDecoration.cs @@ -2,7 +2,7 @@ internal abstract class FormDecoration : AttachedDecoration { - internal abstract class FormDecorationMetadata : AttachedDecorationMetadata + public abstract class FormDecorationMetadata : AttachedDecorationMetadata { public readonly string Color; @@ -11,7 +11,7 @@ protected FormDecorationMetadata(string color) Color = color; } } - internal abstract class FormDecorationRenderingData : AttachedDecorationRenderingData + public abstract class FormDecorationRenderingData : AttachedDecorationRenderingData { public bool Filled { get; private set; } = true; public long GrowingEnd { get; private set; } @@ -39,7 +39,7 @@ public virtual void UsingGrowingEnd(long growingEnd, bool reverse = false) public long GrowingEnd => DecorationRenderingData.GrowingEnd; public bool GrowingReverse => DecorationRenderingData.GrowingReverse; - internal FormDecoration(FormDecorationMetadata metadata, FormDecorationRenderingData renderingData) : base(metadata, renderingData) + protected FormDecoration(FormDecorationMetadata metadata, FormDecorationRenderingData renderingData) : base(metadata, renderingData) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/LineDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/LineDecoration.cs index 9e5b510697..4cd5a6dd07 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/LineDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/LineDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class LineDecoration : FormDecoration { - internal class LineDecorationMetadata : FormDecorationMetadata + public class LineDecorationMetadata : FormDecorationMetadata { public bool WorldSizeThickness; public uint Thickness; @@ -29,7 +29,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new LineDecorationMetadataDescription(this); } } - internal class LineDecorationRenderingData : FormDecorationRenderingData + public class LineDecorationRenderingData : FormDecorationRenderingData { public readonly GeographicalConnector ConnectedFrom; public LineDecorationRenderingData((long, long) lifespan, GeographicalConnector connector, GeographicalConnector targetConnector) : base(lifespan, connector) @@ -54,10 +54,6 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti public bool WorldSizeThickness => DecorationMetadata.WorldSizeThickness; public uint Thickness => DecorationMetadata.Thickness; - internal LineDecoration(LineDecorationMetadata metadata, LineDecorationRenderingData renderingData) : base(metadata, renderingData) - { - } - public LineDecoration((long start, long end) lifespan, string color, GeographicalConnector connector, GeographicalConnector targetConnector) : base(new LineDecorationMetadata(color), new LineDecorationRenderingData(lifespan, connector, targetConnector)) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/PieDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/PieDecoration.cs index d347440b6c..3d7f6f24ce 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/PieDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/PieDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class PieDecoration : CircleDecoration { - internal class PieDecorationMetadata : CircleDecorationMetadata + public class PieDecorationMetadata : CircleDecorationMetadata { public readonly float OpeningAngle; //in degrees @@ -30,7 +30,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new PieDecorationMetadataDescription(this); } } - internal class PieDecorationRenderingData : CircleDecorationRenderingData + public class PieDecorationRenderingData : CircleDecorationRenderingData { public PieDecorationRenderingData((long, long) lifespan, GeographicalConnector connector) : base(lifespan, connector) { @@ -44,10 +44,6 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti private new PieDecorationMetadata DecorationMetadata => (PieDecorationMetadata)base.DecorationMetadata; public float OpeningAngle => DecorationMetadata.OpeningAngle; - internal PieDecoration(PieDecorationMetadata metadata, PieDecorationRenderingData renderingData) : base(metadata, renderingData) - { - } - //using arcs rotation argument as Input (cone in facing direction). Y direction is reversed due to different axis definitions for arc and javascript public PieDecoration(uint radius, float openingAngle, (long start, long end) lifespan, string color, GeographicalConnector connector) : base(new PieDecorationMetadata(color, radius, 0, openingAngle), new PieDecorationRenderingData(lifespan, connector)) diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/RectangleDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/RectangleDecoration.cs index 27723ba0e1..edb1470058 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/RectangleDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Forms/RectangleDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class RectangleDecoration : FormDecoration { - internal class RectangleDecorationMetadata : FormDecorationMetadata + public class RectangleDecorationMetadata : FormDecorationMetadata { public readonly uint Height; public readonly uint Width; @@ -24,7 +24,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new RectangleDecorationMetadataDescription(this); } } - internal class RectangleDecorationRenderingData : FormDecorationRenderingData + public class RectangleDecorationRenderingData : FormDecorationRenderingData { public RectangleDecorationRenderingData((long, long) lifespan, GeographicalConnector connector) : base(lifespan, connector) { @@ -39,10 +39,6 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti public uint Height => DecorationMetadata.Height; public uint Width => DecorationMetadata.Width; - internal RectangleDecoration(RectangleDecorationMetadata metadata, RectangleDecorationRenderingData renderingData) : base(metadata, renderingData) - { - } - public RectangleDecoration(uint width, uint height, (long start, long end) lifespan, string color, GeographicalConnector connector) : base(new RectangleDecorationMetadata(color, width, height), new RectangleDecorationRenderingData(lifespan, connector)) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/BackgroundIconDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/BackgroundIconDecoration.cs index ddeb6de50e..76b69a5771 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/BackgroundIconDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/BackgroundIconDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class BackgroundIconDecoration : ImageDecoration { - internal class BackgroundIconDecorationMetadata : ImageDecorationMetadata + public class BackgroundIconDecorationMetadata : ImageDecorationMetadata { public BackgroundIconDecorationMetadata(string icon, uint pixelSize, uint worldSize) : base(icon, pixelSize, worldSize) @@ -20,7 +20,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new BackgroundIconDecorationMetadataDescription(this); } } - internal class BackgroundIconDecorationRenderingData : ImageDecorationRenderingData + public class BackgroundIconDecorationRenderingData : ImageDecorationRenderingData { public readonly IReadOnlyList Opacities; public readonly IReadOnlyList Heights; @@ -43,9 +43,6 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti public IReadOnlyList Opacities => DecorationRenderingData.Opacities; public IReadOnlyList Heights => DecorationRenderingData.Heights; - internal BackgroundIconDecoration(BackgroundIconDecorationMetadata metadata, BackgroundIconDecorationRenderingData renderingData) : base(metadata, renderingData) - { - } public BackgroundIconDecoration(string icon, uint pixelSize, uint worldSize, IEnumerable opacities, IEnumerable heights, (long start, long end) lifespan, GeographicalConnector connector) : base(new BackgroundIconDecorationMetadata(icon, pixelSize, worldSize), new BackgroundIconDecorationRenderingData(lifespan, opacities, heights, connector)) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconDecoration.cs index b3e32c98c6..7902bebe22 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class IconDecoration : ImageDecoration { - internal class IconDecorationMetadata : ImageDecorationMetadata + public class IconDecorationMetadata : ImageDecorationMetadata { public readonly float Opacity; @@ -23,7 +23,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new IconDecorationMetadataDescription(this); } } - internal class IconDecorationRenderingData : ImageDecorationRenderingData + public class IconDecorationRenderingData : ImageDecorationRenderingData { public bool IsSquadMarker { get; private set; } public IconDecorationRenderingData((long, long) lifespan, GeographicalConnector connector) : base(lifespan, connector) @@ -44,7 +44,7 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti public float Opacity => DecorationMetadata.Opacity; public bool IsSquadMarker => DecorationRenderingData.IsSquadMarker; - internal IconDecoration(IconDecorationMetadata metadata, IconDecorationRenderingData renderingData) : base(metadata, renderingData) + protected IconDecoration(IconDecorationMetadata metadata, IconDecorationRenderingData renderingData) : base(metadata, renderingData) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconOverheadDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconOverheadDecoration.cs index 9556d43b86..9b470137e0 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconOverheadDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/IconOverheadDecoration.cs @@ -4,7 +4,7 @@ namespace GW2EIEvtcParser.EIData; internal class IconOverheadDecoration : IconDecoration { - internal class IconOverheadDecorationMetadata : IconDecorationMetadata + public class IconOverheadDecorationMetadata : IconDecorationMetadata { @@ -21,7 +21,7 @@ public override DecorationMetadataDescription GetCombatReplayMetadataDescription return new IconOverheadDecorationMetadataDescription(this); } } - internal class IconOverheadDecorationRenderingData : IconDecorationRenderingData + public class IconOverheadDecorationRenderingData : IconDecorationRenderingData { public IconOverheadDecorationRenderingData((long, long) lifespan, GeographicalConnector connector) : base(lifespan, connector) { @@ -35,9 +35,6 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti return new IconOverheadDecorationRenderingDescription(log, this, map, usedSkills, usedBuffs, metadataSignature); } } - internal IconOverheadDecoration(IconOverheadDecorationMetadata metadata, IconOverheadDecorationRenderingData renderingData) : base(metadata, renderingData) - { - } public IconOverheadDecoration(string icon, uint pixelSize, float opacity, (long start, long end) lifespan, AgentConnector connector) : base(new IconOverheadDecorationMetadata(icon, pixelSize, Math.Min(connector.Agent.HitboxWidth / 2, 250), opacity), new IconOverheadDecorationRenderingData(lifespan, connector)) { } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/ImageDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/ImageDecoration.cs index 2b63330acd..f34c408058 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/ImageDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Images/ImageDecoration.cs @@ -2,7 +2,7 @@ internal abstract class ImageDecoration : AttachedDecoration { - internal abstract class ImageDecorationMetadata : AttachedDecorationMetadata + public abstract class ImageDecorationMetadata : AttachedDecorationMetadata { public readonly string Image; public readonly uint PixelSize; @@ -18,7 +18,7 @@ protected ImageDecorationMetadata(string icon, uint pixelSize, uint worldSize) : } } } - internal abstract class ImageDecorationRenderingData : AttachedDecorationRenderingData + public abstract class ImageDecorationRenderingData : AttachedDecorationRenderingData { protected ImageDecorationRenderingData((long, long) lifespan, GeographicalConnector connector) : base(lifespan, connector) { @@ -29,7 +29,7 @@ protected ImageDecorationRenderingData((long, long) lifespan, GeographicalConnec public uint PixelSize => DecorationMetadata.PixelSize; public uint WorldSize => DecorationMetadata.WorldSize; - internal ImageDecoration(ImageDecorationMetadata metadata, ImageDecorationRenderingData renderingData) : base(metadata, renderingData) + protected ImageDecoration(ImageDecorationMetadata metadata, ImageDecorationRenderingData renderingData) : base(metadata, renderingData) { } } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/BackgroundDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/BackgroundDecoration.cs index 750fd5b0de..f84db67d90 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/BackgroundDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/BackgroundDecoration.cs @@ -3,16 +3,16 @@ namespace GW2EIEvtcParser.EIData; internal abstract class BackgroundDecoration : Decoration { - internal abstract class BackgroundDecorationMetadata : _DecorationMetadata + public abstract class BackgroundDecorationMetadata : _DecorationMetadata { } - internal abstract class BackgroundDecorationRenderingData : _DecorationRenderingData + public abstract class BackgroundDecorationRenderingData : _DecorationRenderingData { protected BackgroundDecorationRenderingData((long, long) lifespan) : base(lifespan) { } } - internal BackgroundDecoration(BackgroundDecorationMetadata metadata, BackgroundDecorationRenderingData renderingData) : base(metadata, renderingData) + protected BackgroundDecoration(BackgroundDecorationMetadata metadata, BackgroundDecorationRenderingData renderingData) : base(metadata, renderingData) { } } diff --git a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/MovingPlatformDecoration.cs b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/MovingPlatformDecoration.cs index d72be64895..84ce1061d4 100644 --- a/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/MovingPlatformDecoration.cs +++ b/GW2EIEvtcParser/EIData/CombatReplay/Decorations/Specialized/MovingPlatformDecoration.cs @@ -43,9 +43,7 @@ public override DecorationRenderingDescription GetCombatReplayRenderingDescripti public int Height => DecorationMetadata.Height; public IReadOnlyList<(float x, float y, float z, float angle, float opacity, long time)> Positions => DecorationRenderingData.Positions; - internal MovingPlatformDecoration(MovingPlatformDecorationMetadata metadata, MovingPlatformDecorationRenderingData renderingData) : base(metadata, renderingData) - { - } + public MovingPlatformDecoration(string image, int width, int height, (long start, long end) lifespan) : base(new MovingPlatformDecorationMetadata(image, width, height), new MovingPlatformDecorationRenderingData(lifespan)) { }