Skip to content

Game.Prefabs.CoordinatedMeetingPhase

Assembly: Assembly-CSharp (typical for Unity game scripts)
Namespace: Game.Prefabs

Type: struct (marked [Serializable])

Base: System.ValueType

Summary:
Represents a single phase of a coordinated meeting configuration used by prefab data. The struct exposes the travel purpose for the phase, a two-component unsigned delay value, and an optional notification prefab to be used when this phase is active. Marked [Serializable] so it can be serialized in Unity asset/prefab data.


Fields

  • public TravelPurposeInEditor m_Purpose
    Defines the travel purpose associated with this meeting phase. TravelPurposeInEditor is typically an enum used by editor/prefab tooling to indicate why citizens travel during this phase (e.g., visit, work, leisure). This value is serialized as part of the prefab.

  • public uint2 m_Delay
    A two-component unsigned integer vector (Unity.Mathematics.uint2). Used to store delay information for this phase — commonly this represents two related delay values (for example, an x/y or min/max pair). Interpretation depends on the consuming code in the prefab system (units are determined by the consumer: frames, seconds, ticks, etc.).

  • public PrefabBase m_Notification
    Reference to a notification prefab (PrefabBase). When set, this prefab can be spawned or used to display a notification related to this coordinated meeting phase (for example a visual or UI cue). Can be null/empty if no notification is required.

Properties

  • This struct defines no properties; it only contains public fields.

Constructors

  • public CoordinatedMeetingPhase()
    Structs in C# have an implicit parameterless constructor that initializes fields to their default values (m_Purpose = default, m_Delay = uint2.zero, m_Notification = null). No explicit constructors are defined in this file.

Methods

  • This struct defines no methods.

Usage Example

// Example: create and initialize a CoordinatedMeetingPhase for a prefab
using Unity.Mathematics;
using Game.Prefabs;

var phase = new CoordinatedMeetingPhase
{
    // Replace with an actual enum value used by the mod/editor
    m_Purpose = TravelPurposeInEditor.Commuting, 

    // Example delay (e.g., min/max frames or seconds as required by consumer)
    m_Delay = new uint2(30, 60),

    // Reference to a notification prefab variable previously loaded/referenced
    m_Notification = myNotificationPrefab
};

// Assign into prefab data or pass to the system that processes coordinated meetings.

Notes: - Because the type is [Serializable], it is intended to be serialized in Unity assets/prefabs and edited via inspector/editor tooling. - The exact semantics (units, meaning of the two delay components, valid enum values) are determined by the code that consumes CoordinatedMeetingPhase within the game's prefab/meeting systems. Adjust values accordingly when modding.