Vixen
02b45cc4
csharp
public sealed class ExplicitInterestRule

Visibility a game has decided by hand, which nothing after it may argue with.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The escape hatch every interest scheme needs and few have: a spectator who should see a player across the map, a quest marker that stays visible at any range, an object revealed by a scripted event, a teammate shown through walls. Placed before the distance grid in the chain, which is the whole point — an override the grid could overrule would not be one.

Keyed by NetworkId rather than by Entity, because an override is a decision about the object rather than about the row it currently occupies, and because it is the id a game has in hand when a rule fires.

Fields and properties (1)

  • public int PlayerCount

    How many players have an override of any kind.

Methods (6)

  • public void Show(PlayerId player, NetworkId id)

    Shows an object to a player whatever anything after this would say.

  • public void Hide(PlayerId player, NetworkId id)

    Hides one from them whatever anything after this would say.

  • public bool Clear(PlayerId player, NetworkId id)

    Takes an override off, leaving the rest of the chain to decide.

  • public void Forget(PlayerId player)

    Forgets a player who has gone.

  • public void Forget(NetworkId id)

    Forgets an object that has been destroyed, for every player.

  • public Interest Decide(World world, PlayerId player, Entity entity)

    Decides, or declines to.

Used by (1)

  • InterestTestsVixen.Net.Tests