/* * SPDX-License-Identifier: AGPL-3.0-or-later * Copyright (C) 2025 Sergej Görzen * This file is part of OmiLAXR. */ using System; namespace OmiLAXR.Composers { /// /// Immutable data structure containing metadata about a pipeline instance. /// Used for statement attribution and tracking the source pipeline of analytics data. /// Provides information needed for proper statement contextualization and routing. /// public struct PipelineInfo { /// /// Human-readable name of the pipeline instance. /// Typically the GameObject name in Unity. /// public readonly string Name; /// /// Runtime type of the pipeline class. /// Used for type-based filtering and processing decisions. /// public readonly Type Type; /// /// Array of actor data providers associated with this pipeline. /// Provides access to user identification and actor information for statements. /// public readonly ActorDataProvider[] ActorDataProviders; /// /// Constructs pipeline information from a pipeline instance. /// Extracts relevant metadata for use in statement processing. /// /// The pipeline to extract information from public PipelineInfo(Pipeline pipeline) { Name = pipeline.name; Type = pipeline.GetType(); ActorDataProviders = pipeline.ActorDataProviders; } } }