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.