Ejemplo n.º 1
0
 public void subscribe(AnimationSubscriber newSub)
 {
     if (!subList.Contains(newSub))
     {
         subList.Add(newSub);
     }
 }
Ejemplo n.º 2
0
            public EntitySubscriber(IEntity entity, Action <int> onLayerChanged)
            {
                _entity         = entity;
                _onLayerChanged = onLayerChanged;
                entity.Bind <IDrawableInfoComponent>(c => _layer = c.RenderLayer?.Z ?? 0, _ => _layer = 0);

                var vBinding = bind <IVisibleComponent>(entity, onObjVisibleChanged);
                var tBinding = bind <ITranslateComponent>(entity, onObjTranslatePropertyChanged);
                var dBinding = bind <IDrawableInfoComponent>(entity, onObjDrawablePropertyChanged);

                AnimationSubscriber animSubscriber = new AnimationSubscriber(entity, onSomethingChanged);
                var aBinding = animSubscriber.Bind();

                var trBinding = entity.Bind <IInObjectTreeComponent>(c => { _tree = c; c.TreeNode.OnParentChanged.Subscribe(onSomethingChanged); onSomethingChanged(); }, c => { _tree = null; c.TreeNode.OnParentChanged.Unsubscribe(onSomethingChanged); onSomethingChanged(); });

                _bindings = new List <API.IComponentBinding> {
                    vBinding, tBinding, dBinding, aBinding, trBinding
                };
            }
Ejemplo n.º 3
0
        private void subscribeObj(IObject obj)
        {
            if (obj == null)
            {
                return;
            }
            var vBinding = bind <IVisibleComponent>(obj, onObjVisibleChanged);
            var iBinding = bind <IImageComponent>(obj, onObjImagePropertyChanged);
            var tBinding = bind <ITranslateComponent>(obj, onObjTranslatePropertyChanged);
            var dBinding = bind <IDrawableInfoComponent>(obj, onObjDrawablePropertyChanged);

            AnimationSubscriber animSubscriber = new AnimationSubscriber(obj, onSomethingChanged);
            var aBinding = animSubscriber.Bind();

            obj.TreeNode.OnParentChanged.Subscribe(onSomethingChanged);

            _bindings[obj.ID] = new List <API.IComponentBinding> {
                vBinding, iBinding, tBinding, dBinding, aBinding
            };
        }
Ejemplo n.º 4
0
            public EntitySubscriber(IEntity entity, Action <int> onLayerChanged)
            {
                _onLayerChanged = onLayerChanged;
                entity.Bind <IDrawableInfoComponent>(c => _drawable = c, _ => _drawable = null);

                var vBinding = bind <IVisibleComponent>(entity, onObjVisibleChanged);
                var tBinding = bind <ITranslateComponent>(entity, onObjTranslatePropertyChanged);
                var dBinding = bind <IDrawableInfoComponent>(entity, onObjDrawablePropertyChanged);
                var eBinding = bind <IAreaComponent>(entity, onAreaPropertyChanged);
                var bBinding = bind <IWalkBehindArea>(entity, onWalkBehindPropertyChanged);

                AnimationSubscriber animSubscriber = new AnimationSubscriber(entity, onSomethingChanged);
                var aBinding = animSubscriber.Bind();

                var trBinding = entity.Bind <IInObjectTreeComponent>(c => { _tree = c; c.TreeNode.OnParentChanged.Subscribe(onSomethingChanged); onSomethingChanged(); }, c => { _tree = null; c.TreeNode.OnParentChanged.Unsubscribe(onSomethingChanged); onSomethingChanged(); });

                _bindings = new List <IComponentBinding> {
                    vBinding, tBinding, dBinding, aBinding, trBinding, eBinding, bBinding
                };
            }
Ejemplo n.º 5
0
 public void unsubscribe(AnimationSubscriber removeSub)
 {
     subList.Remove(removeSub);
 }
 public void unsubscribe(AnimationSubscriber removeSub)
 {
     subList.Remove(removeSub);
 }
 public void subscribe(AnimationSubscriber newSub)
 {
     if (!subList.Contains(newSub)) {
         subList.Add(newSub);
     }
 }