Table of Contents

Interface IArenaObjective

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

An interactable inside an arena scene that the match's mode scores: a flag stand for Capture the Flag, a control point for King of the Hill.

public interface IArenaObjective : IInteractable, ISceneObject
Inherited Members

Remarks

The objective itself holds no match state. It is a place in the scene with an identity and, for a flag stand, a team; what has happened to it — who carries the flag, who holds the point, how far a capture has progressed — lives in the match coordinator on the hosting scene server and is sent to clients with the match state. A scene handle is reused after unload and an instance of an arena scene may be loaded several times on one server, so the coordinator keys objective state by (scene handle, objective id).

Interacting runs the objective's ECA interaction, whose action raises OnServerInteracted; the coordinator decides what, if anything, it means for the match the player is in. The same pattern IDialogueInteractable uses to reach the server without the shared assembly knowing about it.

Fields

OnServerInteracted

Raised on the server when a player interacts with an objective.

public static Action<IPlayerCharacter, IArenaObjective> OnServerInteracted

Field Value

Action<IPlayerCharacter, IArenaObjective>

Properties

Kind

Flag stand or control point.

ArenaObjectiveKind Kind { get; }

Property Value

ArenaObjectiveKind

Team

The team a flag stand belongs to (0-based). Ignored for a control point.

int Team { get; }

Property Value

int