public Beacon(Player owner, WPos position, bool isPlayerPalette, string palette, string posterCollection, string posterType, string posterPalette,
string arrowSequence, string circleSequence, string clockSequence, Func<float> clockFraction)
: this(owner, position, -1, palette, isPlayerPalette, posterCollection, arrowSequence, circleSequence)
{
this.posterPalette = posterPalette;
if (posterType != null)
{
poster = new Animation(owner.World, posterCollection);
poster.Play(posterType);
if (clockFraction != null)
{
clock = new Animation(owner.World, posterCollection);
clock.PlayFetchIndex(clockSequence, () => Exts.Clamp((int)(clockFraction() * (clock.CurrentSequence.Length - 1)), 0, clock.CurrentSequence.Length - 1));
}
}
}