Exemple #1
0
        private void Initialize()
        {
            _lifeTimeDefeDefinition = _lifeTimeDefeDefinition ?? new LifeTimeDefinition();
            _lifeTime = _lifeTimeDefeDefinition.LifeTime;
            _lifeTimeDefeDefinition.Release();

            _data = _data ?? new EntityContext();

            _lifeTime.AddCleanUpAction(_data.Release);
            _lifeTime.AddCleanUpAction(RemoveAllConnections);
        }
 public UniTask Execute(ILifeTime lifeTime)
 {
     connector.Broadcast(this).
     AddTo(lifeTime);
     lifeTime.AddCleanUpAction(() => handler.Cancel());
     return(UniTask.CompletedTask);
 }
        public UniTask Execute(ILifeTime lifeTime)
        {
            //reset local value
            lifeTime.AddCleanUpAction(CleanUpNode);

            var input  = _portPair.InputPort;
            var output = _portPair.OutputPort;

            var valueObservable = input.Receive <TData>();
            var source          = BindToDataSource(valueObservable);

            if (_distinctInput)
            {
                source.Subscribe(x => _valueData.Value = x).AddTo(lifeTime);
            }
            else
            {
                source.Subscribe(_valueData.SetValueForce).AddTo(lifeTime);
            }

            _isFinalyze.Where(x => x)
            .Do(x => output.Publish(_valueData.Value))
            .Subscribe()
            .AddTo(lifeTime);

            return(UniTask.CompletedTask);
        }
        public void Execute(ILifeTime lifeTime)
        {
            //reset local value
            lifeTime.AddCleanUpAction(CleanUpNode);

            var input  = portPair.InputPort;
            var output = portPair.OutputPort;

            var valueObservable = input.Receive <TData>();

            var source = BindToDataSource(valueObservable);

            if (distinctInput)
            {
                source.Subscribe(x => valueData.Value = x).
                AddTo(lifeTime);
            }
            else
            {
                source.Subscribe(valueData.SetValueAndForceNotify).
                AddTo(lifeTime);
            }

            isFinalyze.
            Where(x => x).
            Do(x => output.Publish(valueData.Value)).
            Subscribe().
            AddTo(lifeTime);
        }
        public static async UniTask <T> Create <T>(
            this IViewElementFactory factory,
            IViewModel viewModel,
            ILifeTime lifeTime,
            Transform parent        = null,
            bool stayWoorldPosition = false) where T : class, IView
        {
            var view = await factory.Create(viewModel, typeof(T), string.Empty, parent, string.Empty, stayWoorldPosition) as T;

            lifeTime.AddCleanUpAction(() => view?.Close());
            return(view);
        }
        public static async UniTask <T> Create <T>(
            this IViewElementFactory factory,
            IViewModel viewModel,
            ILifeTime lifeTime,
            string skinTag   = "",
            Transform parent = null,
            string viewName  = "",
            bool stayWorld   = false) where T : class, IView
        {
            var view = await factory.Create(viewModel, typeof(T), skinTag, parent, viewName, stayWorld) as T;

            lifeTime.AddCleanUpAction(() => view?.Close());
            return(view);
        }
 public static RoutineHandle AddTo(this RoutineHandle handler, ILifeTime lifeTime)
 {
     lifeTime.AddCleanUpAction(() => handler.Cancel());
     return(handler);
 }
Exemple #8
0
 public static TTween AddTo <TTween>(this TTween tween, ILifeTime lifeTime)
     where  TTween : Tween
 {
     lifeTime.AddCleanUpAction(() => tween.Kill());
     return(tween);
 }
Exemple #9
0
 public void Execute(ILifeTime lifeTime)
 {
     connector.Broadcast(this).
     AddTo(lifeTime);
     lifeTime.AddCleanUpAction(() => handler.Cancel());
 }