コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }
コード例 #3
0
ファイル: SignalExtensions.cs プロジェクト: GAIA-project/AR
        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));
        }
コード例 #4
0
ファイル: SignalDeclaration.cs プロジェクト: polvila/Splash
        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;
        }
コード例 #5
0
ファイル: SignalExtensions.cs プロジェクト: k0dep/Bonus
        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)
 {
 }
コード例 #8
0
 public DeclareSignalRequireHandlerAsyncCopyBinder(
     SignalDeclarationBindInfo signalBindInfo, BindInfo bindInfo)
     : base(signalBindInfo, bindInfo)
 {
 }
コード例 #9
0
 public DeclareSignalAsyncCopyBinder(SignalDeclarationBindInfo signalBindInfo, BindInfo bindInfo)
     : base(bindInfo)
 {
     SignalBindInfo = signalBindInfo;
 }