Skip to content

Game.Citizens.MeetingStatus

Assembly: Assembly-CSharp.dll
Namespace: Game.Citizens

Type: enum

Base: System.Enum

Summary: An enumeration representing the lifecycle/status of a citizen's meeting participation in the game's citizen/meeting system. Used to indicate whether a citizen is waiting to join a meeting, traveling to the meeting location, actively attending, or finished. Typical consumers are citizen AI, meeting managers, and any systems that track meeting progress or routing.


Fields

  • Waiting
    Indicates the citizen is queued or waiting to attend a meeting (e.g., waiting for transport, waiting at a meeting point, or otherwise not yet en route).

  • Traveling
    Indicates the citizen is currently en route to the meeting location (e.g., walking, driving, or using public transport).

  • Attending
    Indicates the citizen is actively attending the meeting/event.

  • Done
    Indicates the citizen has finished attending the meeting (post-meeting state). This can be used to trigger follow-up behavior like leaving or returning to other activities.

Properties

  • None. This is a plain enum with no special properties.

Constructors

  • No explicit constructors. Uses the default enum behavior provided by .NET (values start at 0 ascending unless explicitly assigned).

Methods

  • None defined on the enum itself. Standard System.Enum methods (ToString, Parse, HasFlag, etc.) are available.

Usage Example

// Example: tracking a citizen's meeting status in a component or AI routine

public class CitizenMeetingHandler
{
    private Game.Citizens.MeetingStatus status;

    public void StartMeeting()
    {
        status = Game.Citizens.MeetingStatus.Waiting;
        // schedule routing, notify transport, etc.
    }

    public void OnRouteStarted()
    {
        status = Game.Citizens.MeetingStatus.Traveling;
    }

    public void OnArrivedAtMeeting()
    {
        status = Game.Citizens.MeetingStatus.Attending;
    }

    public void OnMeetingFinished()
    {
        status = Game.Citizens.MeetingStatus.Done;
    }

    public void UpdateBehavior()
    {
        switch (status)
        {
            case Game.Citizens.MeetingStatus.Waiting:
                // show waiting animation or keep citizen idle
                break;
            case Game.Citizens.MeetingStatus.Traveling:
                // handle routing and movement
                break;
            case Game.Citizens.MeetingStatus.Attending:
                // apply meeting-specific AI/logic
                break;
            case Game.Citizens.MeetingStatus.Done:
                // cleanup, route back to other tasks
                break;
        }
    }
}