示例#1
0
        public virtual void OnCheckPosition(DynamicMapObject sender)
        {
            var positionArgs = new PositionChangedArgs(new Rectangle(sender.position.X + sender.dx,
                                                                     sender.position.Y + sender.dy, sender.Width, sender.Height));

            if (positionArgs == null)
            {
                return;
            }

            if (CollidesWith(positionArgs.NewRectangle))
            {
                if ((!((MapObject)sender).toDelete) && (!this.toDelete))
                {
                    if ((sender is Bullet) && (this is Wall))
                    {
                        ((Bullet)sender).Die();
                    }
                    else
                    {
                        ((DynamicMapObject)sender).Deviate();
                    }
                }
            }
        }
示例#2
0
        public override void OnCheckPosition(DynamicMapObject sender)
        {
            var positionArgs = new PositionChangedArgs(new Rectangle(sender.position.X + sender.dx,
                                                                     sender.position.Y + sender.dy, sender.Width, sender.Height));

            if (positionArgs == null)
            {
                return;
            }
            if (CollidesWith(positionArgs.NewRectangle))
            {
                if ((!((MapObject)sender).toDelete) && (!this.toDelete))
                {
                    if ((sender is Kolobok) && (this.entity is Tank))
                    {
                        this.Die();
                        ((Kolobok)sender).Die();
                    }
                    else if ((sender is Tank) && (this.entity is Kolobok))
                    {
                        this.Die();
                        ((Tank)sender).Die();
                    }
                }
            }
        }
示例#3
0
        public override void OnCheckPosition(DynamicMapObject sender)
        {
            var positionArgs = new PositionChangedArgs(new Rectangle(sender.position.X + sender.dx,
                                                                     sender.position.Y + sender.dy, sender.Width, sender.Height));

            if (positionArgs == null)
            {
                return;
            }
            if (CollidesWith(positionArgs.NewRectangle))
            {
                if ((!((MapObject)sender).toDelete) && (!this.toDelete))
                {
                    if (sender is Kolobok)
                    {
                        Replace();
                        Game.Score += 1;
                    }
                }
            }
        }