/* * SPDX-License-Identifier: AGPL-3.0-or-later * Copyright (C) 2025 Sergej Görzen * This file is part of OmiLAXR. */ namespace OmiLAXR { /// /// Generic delegate for handling pipeline objects of a specific Unity Object type. /// This delegate is typically used for callbacks that need to process collections /// of Unity objects within the pipeline system. /// /// The type of Unity Object being handled, must inherit from UnityEngine.Object /// An array of Unity objects to be processed by the handler public delegate void PipelineObjectsHandler(T[] objects) where T : UnityEngine.Object; /// /// Delegate for handling pipeline initialization events. /// This delegate is invoked when a pipeline is being initialized and configured /// but before it starts processing data. /// /// The pipeline instance that is being initialized public delegate void PipelineInitHandler(Pipeline pipeline); /// /// Delegate for handling pipeline start events. /// This delegate is invoked when a pipeline transitions from an initialized /// or stopped state to an active running state. /// /// The pipeline instance that has started public delegate void PipelineStartedHandler(Pipeline pipeline); /// /// Delegate for handling pipeline stop events. /// This delegate is invoked when a pipeline transitions from a running state /// to a stopped state, either through normal shutdown or error conditions. /// /// The pipeline instance that has stopped public delegate void PipelineStoppedHandler(Pipeline pipeline); }