public record class InstanceRecordOne saved instance: who is bound to it, and what is already dead in it.
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 InstanceWhich instance, by address.
public string DifficultyWhich difficulty. Two of these are two lockouts.
public ImmutableArray<InstanceBinding> BindingsWho is saved to it, in binding order.
public ImmutableArray<string> DefeatedWhat is already dead, by encounter address.
public DateTimeOffset OpenedWhen it was opened.
public DateTimeOffset ExpiresWhen the lockout lifts. An absolute boundary, computed by the caller's policy.
public bool ClosedWhether it has ended.
public uint RevisionHow many times it has changed.
public static InstanceRecord NoneAn instance that has not been opened.
public bool ExistsWhether 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