Table of Contents

Interface IPartyController

Namespace
FishMMO.Shared.Core
Assembly
FishMMO.Shared.dll

Interface for controllers managing party membership, invites, and rank for a character.

public interface IPartyController : ICharacterBehaviour
Inherited Members

Properties

ID

The unique ID of the party or party member.

long ID { get; set; }

Property Value

long

OnPartyJoinTriggers

Triggers invoked when the character joins or creates a party.

List<Trigger> OnPartyJoinTriggers { get; }

Property Value

List<Trigger>

OnPartyLeaveTriggers

Triggers invoked when the character leaves a party.

List<Trigger> OnPartyLeaveTriggers { get; }

Property Value

List<Trigger>

Rank

The rank of the character within the party (e.g., leader, member).

PartyRank Rank { get; set; }

Property Value

PartyRank

Events

OnAddPartyMember

Event triggered when a party member is added. Provides member ID, rank, and health percent.

event Action<long, PartyRank, float> OnAddPartyMember

Event Type

Action<long, PartyRank, float>

OnLeaveParty

Event triggered when the character leaves the party.

event Action OnLeaveParty

Event Type

Action

OnPartyCreated

Event triggered when a party is created. Provides the party name.

event Action<string> OnPartyCreated

Event Type

Action<string>

OnReceivePartyInvite

Event triggered when a party invite is received. Provides the inviter's ID.

event Action<long> OnReceivePartyInvite

Event Type

Action<long>

OnRemovePartyMember

Event triggered when a party member is removed. Provides member ID.

event Action<long> OnRemovePartyMember

Event Type

Action<long>

OnUpdatePartyVitals

Event triggered when the scene server pushes live state for the party members sharing the local character's scene.

event Action<PartyMemberVitalsEntry[]> OnUpdatePartyVitals

Event Type

Action<PartyMemberVitalsEntry[]>

Remarks

Distinct from OnAddPartyMember, which also carries a health figure but gets it from the party database row — a row written only on connect and disconnect. This event is the live value, pushed by the scene server hosting the member.

Raised with the WHOLE payload rather than once per member, because the payload is complete for the recipient's scene and its completeness is the point: a roster member absent from it is a member who is somewhere else. Splitting it into per-member events would throw away exactly the fact a subscriber needs to grey that member's row out.

OnValidatePartyMembers

Event triggered to validate the current set of party members.

event Action<HashSet<long>> OnValidatePartyMembers

Event Type

Action<HashSet<long>>