Extensions

Extension methods that allow IPossessable and IPossessor interface implementations to call possession operations directly, without first accessing the underlying Possessable or Possessor component.

Architecture

spinner

Key Concept

Both extension classes follow the same delegation pattern: each method accesses the interface's Possessable or Possessor property and forwards the call. This lets game code work with high-level interfaces (IPossessable, IPossessor) without reaching through to the internal components.

// Without extensions (verbose)
player.Possessor.Possess(npc.Possessable);

// With extensions (clean)
player.Possess(npc);

Classes

Class
Description

Extensions for querying possession state on IPossessable

Extensions for possess/release operations on IPossessor

Last updated