public ConcreteBinderNonGeneric(
     DiContainer bindContainer, BindInfo.BindInfo bindInfo,
     BindStatement bindStatement)
     : base(bindContainer, bindInfo, bindStatement)
 {
     ToSelf();
 }
 public ConcreteAddressableBinderGeneric(
     DiContainer bindContainer, BindInfo bindInfo,
     BindStatement bindStatement)
     : base(bindContainer, bindInfo, bindStatement)
 {
     bindInfo.ToChoice = ToChoices.Self;
 }
示例#3
0
        public BindSignalToBinder(DiContainer container, SignalBindingBindInfo signalBindInfo)
        {
            _container = container;

            _signalBindInfo = signalBindInfo;
            // This will ensure that they finish the binding
            _bindStatement = container.StartBinding();
        }
示例#4
0
 public FromBinder(
     DiContainer bindContainer, BindInfo.BindInfo bindInfo,
     BindStatement bindStatement)
     : base(bindInfo)
 {
     BindStatement = bindStatement;
     BindContainer = bindContainer;
 }
 public FromBinderGeneric(
     DiContainer bindContainer,
     BindInfo.BindInfo bindInfo,
     BindStatement bindStatement)
     : base(bindContainer, bindInfo, bindStatement)
 {
     BindingUtil.AssertIsDerivedFromTypes(typeof(TContract), BindInfo.ContractTypes);
 }
 public BindSignalFromBinder(
     SignalBindingBindInfo signalBindInfo, BindStatement bindStatement, Func <TObject, Action <TSignal> > methodGetter,
     DiContainer container)
 {
     _signalBindInfo = signalBindInfo;
     _bindStatement  = bindStatement;
     _methodGetter   = methodGetter;
     _container      = container;
 }
示例#7
0
 /// <summary>
 /// Converts a single bind expression to the Haxl monad.
 /// </summary>
 /// <param name="bind"></param>
 /// <returns></returns>
 public static Func<Scope, Haxl> BindToHaxl(BindStatement bind)
 {
     return scope =>
     {
         var rewritten = RebindToScope.Rebind(bind.Expression);
         var value = rewritten.Compile().DynamicInvoke(scope);
         var wrapped = (Fetchable)value;
         return wrapped.ToHaxlFetch(bind.Expression.BindVariable, scope);
     };
 }
示例#8
0
        private FactoryToChoiceIdBinder <GameObject, Type, T> BindUiFactory <T, TFactory>()
        {
            BindStatement bindStatement = Container.StartBinding();
            BindInfo      bindInfo      = bindStatement.SpawnBindInfo();

            bindInfo.ContractTypes.Add(typeof(TFactory));
            FactoryBindInfo factoryBindInfo = new FactoryBindInfo(typeof(TFactory));

            bindStatement.SetFinalizer(new PlaceholderFactoryBindingFinalizer <T>(bindInfo, factoryBindInfo));
            return(new FactoryToChoiceIdBinder <GameObject, Type, T>(Container, bindInfo, factoryBindInfo));
        }
示例#9
0
        public SubContainerBinder(
            BindInfo.BindInfo bindInfo,
            BindStatement bindStatement,
            object subIdentifier, bool resolveAll)
        {
            _bindInfo      = bindInfo;
            _bindStatement = bindStatement;
            _subIdentifier = subIdentifier;
            _resolveAll    = resolveAll;

            // Reset in case the user ends the binding here
            bindStatement.SetFinalizer(null);
        }
示例#10
0
 public static void DespawnStatement(BindStatement statement)
 {
 }
示例#11
0
 public static void DespawnStatement(BindStatement statement)
 {
     statement.Reset();
     _bindStatementPool.Despawn(statement);
 }
示例#12
0
 public ConcreteIdBinderNonGeneric(
     DiContainer bindContainer, BindInfo bindInfo,
     BindStatement bindStatement)
     : base(bindContainer, bindInfo, bindStatement)
 {
 }
示例#13
0
 public FromBinderNonGeneric(
     DiContainer bindContainer, BindInfo.BindInfo bindInfo,
     BindStatement bindStatement)
     : base(bindContainer, bindInfo, bindStatement)
 {
 }
示例#14
0
 public ConcreteAddressableIdBinderGeneric(
     DiContainer bindContainer, BindInfo bindInfo,
     BindStatement bindStatement)
     : base(bindContainer, bindInfo, bindStatement)
 {
 }