using System.Collections; using System.Collections.Generic; using UnityEngine; using Cysharp.Threading.Tasks; namespace BITKit { public class MultiplexOutput : Multiplex { public List providers = new(); public string outputType = typeof(MultiplexOutput).Name; public override async void Set(T t) { if (active) { try { await UniTask.SwitchToTaskPool(); foreach (var genericProvider in providers) { if (genericProvider is IProvider provider) { provider.Set(t); } else { genericProvider.Set(t); } } } catch (System.Exception e) { BIT4Log.LogException(e); } outputType = typeof(T).Name; } } } }