Vixen
caa30e12
csharp
public record class InstanceRecord

One saved instance: who is bound to it, and what is already dead in it.

Read the guide page for this →

Remarks

⚠ Progress is the instance's, not each player's, and that is what a lockout means. A player bound to it late inherits the bosses that are already down, which is right — the alternative is a raid re-killing its first boss for every latecomer, which is both the exploit and the tedium the mechanic exists to prevent.

Fields and properties (10)

  • public string Instance

    Which instance, by address.

  • public string Difficulty

    Which difficulty. Two of these are two lockouts.

  • public ImmutableArray<InstanceBinding> Bindings

    Who is saved to it, in binding order.

  • public ImmutableArray<string> Defeated

    What is already dead, by encounter address.

  • public DateTimeOffset Opened

    When it was opened.

  • public DateTimeOffset Expires

    When the lockout lifts. An absolute boundary, computed by the caller's policy.

  • public bool Closed

    Whether it has ended.

  • public uint Revision

    How many times it has changed.

  • public static InstanceRecord None

    An instance that has not been opened.

  • public bool Exists

    Whether it has been opened.

Methods (3)

  • public InstanceRecord(string Instance, string Difficulty, ImmutableArray<InstanceBinding> Bindings, ImmutableArray<string> Defeated, DateTimeOffset Opened, DateTimeOffset Expires, bool Closed, uint Revision)

    One saved instance: who is bound to it, and what is already dead in it.

  • public bool Equals(InstanceRecord? other)

    Whether two records say the same thing.

  • public override int GetHashCode()

    Serves as the default hash function.

Used by (5)

  • ClusterSerializationTestsVixen.Live.Cluster.Tests
  • IInstanceGrainVixen.Live.Cluster
  • InstanceGrainVixen.Live.Orchestrator
  • InstanceStateVixen.Live.Orchestrator
  • InstanceStateTestsVixen.Live.Orchestrator.Tests