Пример #1
0
 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();
     }
 }