Esempio n. 1
0
        private void GameComponentCleaning()
        {
            foreach (var component in _enabledUpdatable)
            {
                IUpdatableComponent u = component as IUpdatableComponent;
                if (u != null)
                {
                    u.UpdateOrderChanged -= UpdatableUpdateOrderChanged;
                    u.UpdatableChanged   -= UpdatableEnabledChanged;
                }
            }

            foreach (var component in _visibleDrawable)
            {
                IDrawableComponent d = component as IDrawableComponent;
                if (d != null)
                {
                    d.DrawOrderChanged -= DrawableDrawOrderChanged;
                    d.VisibleChanged   -= DrawableVisibleChanged;
                }
            }

            if (OnRenderLoopFrozen != null)
            {
                //Remove all Events associated (That haven't been unsubscribed !)
                foreach (Delegate d in OnRenderLoopFrozen.GetInvocationList())
                {
                    OnRenderLoopFrozen -= (RenderLoopFrozen)d;
                }
            }
        }
Esempio n. 2
0
 public override void AddNewService(IUpdatableComponent service)
 {
     if (service is SpringService)
     {
         this.AddNewService(service as SpringService);
     }
 }
Esempio n. 3
0
        private void GameComponentRemoved(object sender, GameComponentCollectionEventArgs e)
        {
            IDrawableComponent d = e.GameComponent as IDrawableComponent;

            if (d != null)
            {
                d.DrawOrderChanged -= DrawableDrawOrderChanged;
                d.VisibleChanged   -= DrawableVisibleChanged;

                if (d.Visible)
                {
                    _visibleDrawable.RemoveAll(x => x.DrawOrder.GetHashCode() == d.GetHashCode());
                }
            }

            IUpdatableComponent u = e.GameComponent as IUpdatableComponent;

            if (u != null)
            {
                u.UpdateOrderChanged -= UpdatableUpdateOrderChanged;
                u.UpdatableChanged   -= UpdatableEnabledChanged;

                if (u.Updatable)
                {
                    _enabledUpdatable.Remove(u);
                }

                isCurrentlyUpdatingComponentsDirty = true; //Need to clear the currently Updating collection, that will need to be refreshed.
            }
        }
Esempio n. 4
0
        private void GameComponentAdded(object sender, GameComponentCollectionEventArgs e)
        {
            IDrawableComponent d = e.GameComponent as IDrawableComponent;

            if (d != null)
            {
                d.DrawOrderChanged += DrawableDrawOrderChanged;
                d.VisibleChanged   += DrawableVisibleChanged;

                if (d.Visible)
                {
                    AddDrawable(d);
                }
            }

            IUpdatableComponent u = e.GameComponent as IUpdatableComponent;

            if (u != null)
            {
                u.UpdateOrderChanged += UpdatableUpdateOrderChanged;
                u.UpdatableChanged   += UpdatableEnabledChanged;

                if (u.Updatable)
                {
                    AddUpdatable(u);
                }
            }
        }
Esempio n. 5
0
 public override void RemoveService(IUpdatableComponent service)
 {
     if (service is BubbleService)
     {
         this.RemoveService(service as BubbleService);
     }
 }
Esempio n. 6
0
 public override void AddNewService(IUpdatableComponent service)
 {
     if (service is BlowerService)
     {
         this.AddNewService(service as BubbleService);
     }
 }
Esempio n. 7
0
        private void UpdatableEnabledChanged(object sender, EventArgs e)
        {
            IUpdatableComponent u = (IUpdatableComponent)sender;

            if (u.Updatable)
            {
                AddUpdatable(u);
            }
            else
            {
                _enabledUpdatable.Remove(u);
            }
        }
        public void SetGameComponent(IGameComponent gamecomp, int drawIndex)
        {
            DetachAll();

            _gamecomp       = gamecomp;
            _drawOrderindex = drawIndex;

            lblGameComp.Text = _gamecomp.Name;
            _parent.Children.Add(lblGameComp);                  //Show the Label

            if (drawIndex == 0)
            {
                IUpdatableComponent updateableComponent = _gamecomp as IUpdatableComponent;
                if (updateableComponent != null)
                {
                    optUpdatable.Selected = updateableComponent.Updatable;
                    _parent.Children.Add(optUpdatable);

                    updateOrder.Text = updateableComponent.UpdateOrder.ToString();
                    _parent.Children.Add(updateOrder);
                }
            }

            IDrawableComponent drawableComponent = _gamecomp as IDrawableComponent;

            if (drawableComponent != null)
            {
                if (drawIndex == 0)
                {
                    optDrawable.Selected = drawableComponent.Visible;
                    _parent.Children.Add(optDrawable);
                }

                lblGameComp.Text += " " + drawableComponent.DrawOrders.DrawOrdersCollection[drawIndex].Name;

                drawOrder.Text = drawableComponent.DrawOrders.DrawOrdersCollection[drawIndex].Order.ToString();
                _parent.Children.Add(drawOrder);
            }
        }
 public void RegisterUpdatable(IUpdatableComponent updatable)
 => RegisteredUpdatableComponents.Add(updatable);
Esempio n. 10
0
 public abstract void RemoveService(IUpdatableComponent service);
Esempio n. 11
0
 public abstract void AddNewService(IUpdatableComponent service);
Esempio n. 12
0
 public void Add(IUpdatableComponent component)
 {
     this._components.Add(component);
 }
Esempio n. 13
0
 public override void AddNewService(IUpdatableComponent service)
 {
     this.AddNewService(service as RocketService);
 }
Esempio n. 14
0
 private static int UpdatableComparison(IUpdatableComponent x, IUpdatableComponent y)
 {
     return(x.UpdateOrder.CompareTo(y.UpdateOrder));
 }
Esempio n. 15
0
 private void AddUpdatable(IUpdatableComponent u)
 {
     _enabledUpdatable.Add(u);
     _enabledUpdatable.Sort(UpdatableComparison);
 }
Esempio n. 16
0
 public override void RemoveService(IUpdatableComponent service)
 {
     this.RemoveService(service as RocketService);
 }
Esempio n. 17
0
 public override void RemoveService(IUpdatableComponent service)
 {
     throw new NotImplementedException();
 }
 public override void AddNewService(IUpdatableComponent service)
 {
 }