public static SignalDeclarationBindInfo CreateDefaultSignalDeclarationBindInfo(DiContainer container, Type signalType) { var signalBindInfo = new SignalDeclarationBindInfo(signalType); signalBindInfo.RunAsync = container.Settings.Signals.DefaultSyncMode == SignalDefaultSyncModes.Asynchronous; signalBindInfo.MissingHandlerResponse = container.Settings.Signals.MissingHandlerDefaultResponse; signalBindInfo.TickPriority = container.Settings.Signals.DefaultAsyncTickPriority; return(signalBindInfo); }
public SignalDeclaration( SignalDeclarationBindInfo bindInfo, [InjectOptional] ZenjectSettings zenjectSettings) { zenjectSettings = zenjectSettings ?? ZenjectSettings.Default; _settings = zenjectSettings.Signals ?? ZenjectSettings.SignalSettings.Default; _bindingId = new BindingId(bindInfo.SignalType, bindInfo.Identifier); _missingHandlerResponses = bindInfo.MissingHandlerResponse; _isAsync = bindInfo.RunAsync; TickPriority = bindInfo.TickPriority; }
public static DeclareSignalRequireHandlerAsyncCopyBinder DeclareSignal <TSignal>(this DiContainer container) { var signalBindInfo = new SignalDeclarationBindInfo(typeof(TSignal)); signalBindInfo.RunAsync = container.Settings.Signals.DefaultSyncMode == SignalDefaultSyncModes.Asynchronous; signalBindInfo.MissingHandlerResponse = container.Settings.Signals.MissingHandlerDefaultResponse; var bindInfo = new BindInfo(); container.Bind <SignalDeclarationBindInfo>(bindInfo) .FromInstance(signalBindInfo).WhenInjectedInto <SignalBus>(); return(new DeclareSignalRequireHandlerAsyncCopyBinder(signalBindInfo, bindInfo)); }
public SignalDeclaration( Type signalType, SignalDeclarationBindInfo bindInfo, [InjectOptional] ZenjectSettings zenjectSettings) { zenjectSettings = zenjectSettings ?? ZenjectSettings.Default; _settings = zenjectSettings.Signals ?? ZenjectSettings.SignalSettings.Default; _signalType = signalType; _missingHandlerResponses = bindInfo.MissingHandlerResponse; _isAsync = bindInfo.RunAsync; TickPriority = bindInfo.TickPriority; }
public static DeclareSignalRequireHandlerAsyncTickPriorityCopyBinder DeclareSignal <TSignal>(this DiContainer container) { var signalBindInfo = new SignalDeclarationBindInfo(typeof(TSignal)); signalBindInfo.RunAsync = container.Settings.Signals.DefaultSyncMode == SignalDefaultSyncModes.Asynchronous; signalBindInfo.MissingHandlerResponse = container.Settings.Signals.MissingHandlerDefaultResponse; signalBindInfo.TickPriority = container.Settings.Signals.DefaultAsyncTickPriority; var bindInfo = container.Bind <SignalDeclaration>().AsCached() .WithArguments(typeof(TSignal), signalBindInfo).WhenInjectedInto(typeof(SignalBus), typeof(SignalDeclarationAsyncInitializer)).BindInfo; var signalBinder = new DeclareSignalRequireHandlerAsyncTickPriorityCopyBinder(signalBindInfo); signalBinder.AddCopyBindInfo(bindInfo); return(signalBinder); }
public SignalTickPriorityCopyBinder( SignalDeclarationBindInfo signalBindInfo) { SignalBindInfo = signalBindInfo; }
public DeclareSignalRequireHandlerAsyncTickPriorityCopyBinder( SignalDeclarationBindInfo signalBindInfo) : base(signalBindInfo) { }
public DeclareSignalRequireHandlerAsyncCopyBinder( SignalDeclarationBindInfo signalBindInfo, BindInfo bindInfo) : base(signalBindInfo, bindInfo) { }
public DeclareSignalAsyncCopyBinder(SignalDeclarationBindInfo signalBindInfo, BindInfo bindInfo) : base(bindInfo) { SignalBindInfo = signalBindInfo; }