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;
}
}
}