public Injector(IInjectionBinder binder) { _binder = binder; _reflector = new Reflector <MVCSItemReflectionInfo>(); _constructed = new HashSet <object>(); _circularDependencyCounters = new Dictionary <IInjectionBinding, int>(); }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind <IInjectionBinder> ().ToValue(injectionBinder); injectionBinder.Bind <ICommandBinder> ().To <CommandBinder> ().ToSingleton(); commandBinder = injectionBinder.GetInstance <ICommandBinder> () as ICommandBinder; }
public App(IInjectionBinder binder) { var start = (IOptions)binder.Inject(new StartOptions()); start.AddOption("--exit", _ => StopProcessingInput()); Options = start; }
void HookupApplicationEvents() { IInjectionBinder binder = ((MainContext)context).injectionBinder; IApplicationEvents appEvents = GameApplication.Instance.ApplicationEvents; appEvents.Paused += () => binder.GetInstance <GamePausedSignal>().Dispatch(); appEvents.Resumed += t => binder.GetInstance <GameResumedSignal>().Dispatch(t); appEvents.LostFocus += () => binder.GetInstance <FocusLostSignal>().Dispatch(); appEvents.GainedFocus += () => binder.GetInstance <FocusGainedSignal>().Dispatch(); ISceneManager sceneManager = _moduleContainer.ServiceResolver.Get <ISceneManager>(); sceneManager.TransitionOutStarted += s => binder.GetInstance <SceneTransitionOutStartedSignal>().Dispatch(s); sceneManager.TransitionOutEnded += s => binder.GetInstance <SceneTransitionOutEndedSignal>().Dispatch(s); sceneManager.TransitionInStarted += s => binder.GetInstance <SceneTransitionInStartedSignal>().Dispatch(s); sceneManager.TransitionInEnded += s => binder.GetInstance <SceneTransitionInEndedSignal>().Dispatch(s); sceneManager.SceneLoadStarted += s => binder.GetInstance <SceneLoadStartedSignal>().Dispatch(s); sceneManager.SceneLoaded += s => binder.GetInstance <SceneLoadedSignal>().Dispatch(s); }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind<IInjectionBinder> ().Bind<IInstanceProvider> ().ToValue (injectionBinder); injectionBinder.Bind<ICommandBinder> ().To<CommandBinder> ().ToSingleton (); commandBinder = injectionBinder.GetInstance<ICommandBinder> (); }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind<IInjectionBinder> ().ToValue (injectionBinder); injectionBinder.Bind<ISequencer> ().Bind<ICommandBinder>().To<Sequencer> ().ToSingleton (); sequencer = injectionBinder.GetInstance<ISequencer> () as ISequencer; }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind <IInjectionBinder> ().Bind <IInstanceProvider> ().ToValue(injectionBinder); injectionBinder.Bind <ISequencer> ().Bind <ICommandBinder>().To <Sequencer> ().ToSingleton(); sequencer = injectionBinder.GetInstance <ISequencer> () as ISequencer; }
public override IState PopulateModel(IInjectionBinder injectionBinder) { var state = injectionBinder.GetInstance <IState>(GameContextKeys.NewInstance); state.Identifier = _id; return(state); }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind <IInjectionBinder>().Bind <IInstanceProvider>().ToValue(injectionBinder); injectionBinder.Bind <ICommandBinder>().To <SignalCommandBinder>().ToSingleton(); commandBinder = injectionBinder.GetInstance <ICommandBinder>() as ICommandBinder; injectionBinder.Bind <TestModel>().ToSingleton(); }
private readonly IInjectionBinder _injectionBinder; // Must be implemented like this to escape link un injection. public MediationBinder(MediationMode mode, IInjectionBinder injectionBinder) { _mode = mode; _injectionBinder = injectionBinder; _bindings = new Dictionary <object, IMediationBinding>(); _bindingsCache = new Dictionary <object, IInjectionBinding>(); _mediators = new Dictionary <IView, IMediator>(); }
public void SetUp() { injectionBinder = new InjectionBinder (); injectionBinder.Bind<IInjectionBinder>().Bind<IInstanceProvider>().ToValue(injectionBinder); injectionBinder.Bind<ICommandBinder> ().To<CommandBinder> ().ToSingleton(); commandBinder = injectionBinder.GetInstance<ICommandBinder> (); (commandBinder as IPooledCommandBinder).usePooling = false; }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind <IInjectionBinder>().Bind <IInstanceProvider>().ToValue(injectionBinder); injectionBinder.Bind <ICommandBinder> ().To <CommandBinder> ().ToSingleton(); commandBinder = injectionBinder.GetInstance <ICommandBinder> (); (commandBinder as IPooledCommandBinder).usePooling = false; }
public override IResource PopulateModel(IInjectionBinder injectionBinder) { var resource = injectionBinder.GetInstance <IResource>(GameContextKeys.NewInstance); resource.Identifier = _id; resource.BasePrice = base_price; return(resource); }
public void SetUp() { injector = new InjectionBinder(); injector.Bind <CaptureMove>().To <CaptureMove>(); piecePlacedSignal = Substitute.For <PiecePlacedSignal>(); injector.Bind <PiecePlacedSignal>().To(piecePlacedSignal); grid = new Grid(NumRows, NumCols); }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind<IInjectionBinder>().Bind<IInstanceProvider>().ToValue(injectionBinder); injectionBinder.Bind<IEventDispatcher>().To<EventDispatcher>().ToSingleton(); injectionBinder.Bind<ICommandBinder>().To<EventCommandBinder>().ToSingleton(); commandBinder = injectionBinder.GetInstance<ICommandBinder>(); eventDispatcher = injectionBinder.GetInstance<IEventDispatcher>(); (eventDispatcher as ITriggerProvider).AddTriggerable(commandBinder as ITriggerable); BadCommand.TestValue = 0; }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind <IInjectionBinder>().Bind <IInstanceProvider>().ToValue(injectionBinder); injectionBinder.Bind <IEventDispatcher>().To <EventDispatcher>().ToSingleton(); injectionBinder.Bind <ICommandBinder>().To <EventCommandBinder>().ToSingleton(); commandBinder = injectionBinder.GetInstance <ICommandBinder>(); eventDispatcher = injectionBinder.GetInstance <IEventDispatcher>(); (eventDispatcher as ITriggerProvider).AddTriggerable(commandBinder as ITriggerable); BadCommand.TestValue = 0; }
private void Awake() { InjectionBinder = new CrossContextInjectionBinder(); InjectionBinder.Bind<IInstanceProvider>().Bind<IInjectionBinder>().ToValue(InjectionBinder); InjectionBinder.Unbind<ICommandBinder>(); InjectionBinder.Bind<ICommandBinder>().To<SignalCommandBinder>().ToSingleton(); commandBinder = InjectionBinder.GetInstance<ICommandBinder>(); SetupGameBindings(); SetupMainMenuBindings(); SetupSinglePlayerBindings(); }
public void SetUp() { injectionBinder = new InjectionBinder(); injectionBinder.Bind <IInjectionBinder>().Bind <IInstanceProvider>().ToValue(injectionBinder); injectionBinder.Bind <ICommandBinder> ().To <SignalCommandBinder> ().ToSingleton(); commandBinder = injectionBinder.GetInstance <ICommandBinder> (); pooledCommandBinder = commandBinder as IPooledCommandBinder; singleSignal = new Signal <int>(); doubleSignal = new Signal <int, string>(); tripleSignal = new Signal <int, string, SimpleInterfaceImplementer>(); }
private void Awake() { InjectionBinder = new CrossContextInjectionBinder(); InjectionBinder.Bind <IInstanceProvider>().Bind <IInjectionBinder>().ToValue(InjectionBinder); InjectionBinder.Unbind <ICommandBinder>(); InjectionBinder.Bind <ICommandBinder>().To <SignalCommandBinder>().ToSingleton(); commandBinder = InjectionBinder.GetInstance <ICommandBinder>(); SetupGameBindings(); SetupMainMenuBindings(); SetupSinglePlayerBindings(); }
public void SetUp() { injectionBinder = new InjectionBinder (); injectionBinder.Bind<IInjectionBinder>().Bind<IInstanceProvider>().ToValue(injectionBinder); injectionBinder.Bind<ICommandBinder> ().To<SignalCommandBinder> ().ToSingleton(); commandBinder = injectionBinder.GetInstance<ICommandBinder> (); pooledCommandBinder = commandBinder as IPooledCommandBinder; singleSignal = new Signal<int>(); doubleSignal = new Signal<int, string>(); tripleSignal = new Signal<int, string, SimpleInterfaceImplementer>(); }
public void SetUp() { CommandThrowsErrorIfEventIsNull.result = 0; CommandThrowsErrorIfEventIsNull.timesExecuted = 0; injectionBinder = new InjectionBinder(); injectionBinder.Bind<IInjectionBinder> ().Bind<IInstanceProvider> ().ToValue (injectionBinder); injectionBinder.Bind<ICommandBinder> ().To<EventCommandBinder> ().ToSingleton (); injectionBinder.Bind<IEventDispatcher> ().To<EventDispatcher> ().ToSingleton ().ToName(ContextKeys.CONTEXT_DISPATCHER); commandBinder = injectionBinder.GetInstance<ICommandBinder> (); dispatcher = injectionBinder.GetInstance<IEventDispatcher> (ContextKeys.CONTEXT_DISPATCHER); (dispatcher as ITriggerProvider).AddTriggerable (commandBinder as ITriggerable); }
public void SetUp() { var gridManager = Substitute.For <IGridManager>(); var grid = Substitute.For <IGrid>(); grid.Dimensions.Returns(new Vector2Int(10, 20)); grid.Interval.Returns(0.05f); grid.BlockSize.Returns(2.8f); gridManager.Grid.Returns(grid); _injectionBinder = new InjectionBinder(); _injectionBinder.Bind <IGridManager>().ToValue(gridManager); _injectionBinder.Bind <IShapeManager>().To <ShapeManager>(); }
public void SetUp() { injector = new InjectionBinder(); injector.Bind <CaptureMove>().To <CaptureMove>(); injector.Bind <IInjectionBinder>().ToValue(injector); injector.Bind <PiecePlacedSignal>().To <PiecePlacedSignal>(); MoveRuleFactory ruleFactory = new MoveRuleFactory(); ruleFactory.InjectionBinder = injector; grid = new Grid(NumRows, NumCols); _instance = ruleFactory.BuildDiagonalMoveRule(); }
public static void Create(ICommandBinder commandBinder, IInjectionBinder injectionBinder, IMediationBinder mediationBinder) { //Bind Settings Object var settings = Object.FindObjectOfType <UnityNetworkingData>(); injectionBinder.Bind <UnityNetworkingData>().To(settings).ToSingleton().CrossContext(); //Bind Mediators to Views mediationBinder.Bind <UnityNetworkManagerView>().To <UnityNetworkManagerMediator>(); //Bind Commands and Signals commandBinder.Bind <SetupUnityNetworkingSignal>().To <SetupUnityNetworkingCommand>(); commandBinder.Bind <SetupUnityNetworkingCompleteSignal>(); }
public void SetUp() { CommandThrowsErrorIfEventIsNull.result = 0; CommandThrowsErrorIfEventIsNull.timesExecuted = 0; injectionBinder = new InjectionBinder(); injectionBinder.Bind <IInjectionBinder> ().Bind <IInstanceProvider> ().ToValue(injectionBinder); injectionBinder.Bind <ICommandBinder> ().To <EventCommandBinder> ().ToSingleton(); injectionBinder.Bind <IEventDispatcher> ().To <EventDispatcher> ().ToSingleton().ToName(ContextKeys.CONTEXT_DISPATCHER); commandBinder = injectionBinder.GetInstance <ICommandBinder> (); dispatcher = injectionBinder.GetInstance <IEventDispatcher> (ContextKeys.CONTEXT_DISPATCHER); (dispatcher as ITriggerProvider).AddTriggerable(commandBinder as ITriggerable); }
private void ListBindingsFor(IInjectionBinder binder, ICommandBinder commandBinder) { EditorGUI.indentLevel++; List <object> printedCommandBindings = new List <object>(); binder.IterateAllBindings( (key, name, binding) => { List <object> boundValues = new List <object>(); if (binding.value != null) { boundValues.Add(binding.value); } IBinding commandBinding = null; if (commandBinder != null) { Assert.IsTrue(key is Type); object boundValue = binder.GetInstance(key as Type, name); if (boundValue != null) { commandBinding = commandBinder.GetBinding(boundValue, name); if (commandBinding != null && commandBinding.value != null) { Assert.IsTrue(commandBinding.value is object[]); boundValues.AddRange(commandBinding.value as object[]); printedCommandBindings.AddRange(commandBinding.value as object[]); } } } Print(key, name, boundValues); } ); if (commandBinder != null) { commandBinder.IterateAllBindings( (key, name, binding) => { if (!printedCommandBindings.Contains(binding.value)) { Print(key, name, new List <object>(binding.value as object[])); } } ); } EditorGUI.indentLevel--; }
public static void Bind(IInjectionBinder injectionBinder) { injectionBinder.Bind <IWeapon>().To <HockeyStick>().ToName(WeaponId.HockeyStick); injectionBinder.Bind <IWeapon>().To <Crowbar>().ToName(WeaponId.Crowbar); injectionBinder.Bind <IWeapon>().To <HuntersKnife>().ToName(WeaponId.HuntersKnife); /* the smart way with reflection * var type = typeof(IWeapon); * var weaponTypes = Assembly.GetAssembly(typeof(IWeapon)).GetTypes() * .Where(p => type.IsAssignableFrom(p) && p.BaseType == typeof(Weapon) && !p.IsAbstract); * * foreach(var t in weaponTypes) * { * var id = Enum.Parse(typeof(WeaponId), t.Name); * injectionBinder.Bind<IWeapon>().To(t).ToName(id); * }*/ }
public override ICity PopulateModel(IInjectionBinder injectionBinder) { var city = injectionBinder.GetInstance <ICity>(GameContextKeys.NewInstance); city.Identifier = _id; city.Position = position; var stateManager = injectionBinder.GetInstance <BaseIdentifiableManager <IState> >(); var stateModel = stateManager[state]; if (stateModel == null) { Debug.Log("Could not find an existing State " + stateModel + "for city " + _id); } city.State = stateModel; return(city); }
protected void Awake() { ContextView contextView = GetComponentInParent <ContextView>(); IContext context = contextView?.context ?? Context.firstContext; if (context != null && context is CrossContext) { injectionBinder = (contextView.context as CrossContext).injectionBinder; injectionBinder.Bind <EntityManager>().ToValue(this).ToSingleton().CrossContext(); } ES = GetComponent <EventSource>() ?? FindObjectOfType <EventSource>(); if (ES == null) { throw new Exception("Unable to find active EventSource in scene"); } Reset(); Filters = new List <Action <IModifier, Action <IModifier> > >(); }
public virtual void DoTest(IInjectionBinder injectionBinder) { throw new System.NotImplementedException(); }
public ImplicitBinder(IInjectionBinder injectionBinder, IMediationBinder mediationBinder) { this.injectionBinder = injectionBinder; this.mediationBinder = mediationBinder; }
public void SetUp() { binder = new InjectionBinder(); }
public SingletonBinder(IInjectionBinder binder) { _binding = binder.Bind <P>(); }
public void SetUp() { binder = new InjectionBinder (); }
public abstract T PopulateModel(IInjectionBinder injectionBinder);
public TestDirector(IInjectionBinder injectionBinder, LaunchAppIsDoneSignal launchAppIsDone) : base() { _contextInjectionBinder = injectionBinder; _launchAppIsDone = launchAppIsDone; _launchAppIsDone.AddOnce(doTest); }
public ControllerFactory(IInjectionBinder injectionBinder) { _injectionBinder = injectionBinder; }
public CommandBinder(IInjectionBinder binder, BaseSignal signal) { this.binder = binder; this.signal = signal; signal.AddListener(ExecuteCommands); }
public static T Destroy <T>(this T instance, IInjectionBinder injectionBinder, bool triggerPreDestroys) where T : class { injectionBinder.Destroy(instance, triggerPreDestroys); return(null); }