Interface IGuildSystem<TConnection>
- Namespace
- FishMMO.Server.Core.World.SceneServer
- Assembly
- FishMMO.Server.dll
Engine-agnostic public API for guild management on a scene server. Exposes the small surface other systems use to track guild membership and react to guild lifecycle events without referencing engine-specific types.
public interface IGuildSystem<TConnection> : IServerBehaviour, IServerComponent
Type Parameters
TConnection
Properties
MaxGuildSize
Maximum members allowed in a guild on this server.
int MaxGuildSize { get; }
Property Value
UpdatePumpRate
Pump/update rate (in seconds) used by the guild system for polling/sync.
float UpdatePumpRate { get; }
Property Value
Methods
AddGuildCharacterTracker(long, long)
Adds a mapping for a guild to a character currently connected to this scene server.
void AddGuildCharacterTracker(long guildID, long characterID)
Parameters
CharacterSystem_OnConnect(TConnection, IPlayerCharacter)
Called by the Character system when a character connects; used to update guild trackers and persist state.
void CharacterSystem_OnConnect(TConnection conn, IPlayerCharacter character)
Parameters
connTConnectionOpaque connection object (engine-specific implementations should accept their connection type).
characterIPlayerCharacterThe character that connected.
CharacterSystem_OnDisconnect(TConnection, IPlayerCharacter)
Called by the Character system when a character disconnects; used to update guild trackers and persist state.
void CharacterSystem_OnDisconnect(TConnection conn, IPlayerCharacter character)
Parameters
connTConnectionOpaque connection object.
characterIPlayerCharacterThe character that disconnected.
OnGuildInvite(IPlayerCharacter, ChatBroadcast)
Chat command handler used by the chat helper to issue guild invites. Returns true if the command was handled.
bool OnGuildInvite(IPlayerCharacter sender, ChatBroadcast msg)
Parameters
senderIPlayerCharactermsgChatBroadcast
Returns
RemoveGuildCharacterTracker(long, long)
Removes a mapping for a guild to a character on this scene server.
void RemoveGuildCharacterTracker(long guildID, long characterID)