protected override void Activities(Fiber fiber) { manager = (IServicesManager)Managers.Find($"{serviceName}ServicesManager"); if (manager == default) { Debug.LogError(Error = $"No service manager '{serviceName}ServicesManager' in a Managers game object"); } else { fiber.OnError(exit: true, actor: message => Error = message).Do(Reset) .Begin .WaitFor(_ => MethodCache.Call(serviceAdapter, "Call", this) as Emitter) .Until(_ => (Error == null) || ((serviceAdapter = manager.Next()) == null)) .If(_ => serviceAdapter == null).Error($"No Server '{serviceName} {entryPointName}' can Respond").End .Finish(); } }