public override void Draw(Graphics g)
 {
     if (Visible)
     {
         Propertys.AllDoBeforeDraw(g);
         DrawObject.Draw(g, Layout.Rectangle);
         BackObjects.AllDrawSelf(g);
         UIObjects.AllDrawSelf(g);
         Propertys.AllDoAfterDraw(g);
     }
 }
        protected override void OnAfterAction()
        {
            switch (_Mode)
            {
            case 1:
                if (_CommandBack.DrawObject.Colors.Opacity < 1)
                {
                    _CommandBack.DrawObject.Colors.Opacity += 0.05F;
                }

                if (_BackDrak < 1)
                {
                    _BackDrak += 0.05F;

                    if (_BackDrak > 1)
                    {
                        _BackDrak = 1;
                    }
                    DrawObject.Colors.RFix = DrawObject.Colors.GFix = DrawObject.Colors.BFix = -_BackDrak * 1F;
                    for (int i = 0; i < BackObjects.Count; i++)
                    {
                        BackObjects[i].DrawObject.Colors.RFix = BackObjects[i].DrawObject.Colors.GFix = _BackDrak * 1F;
                    }
                }
                break;

            case 0:
                if (_CommandBack.DrawObject.Colors.Opacity > 0)
                {
                    _CommandBack.DrawObject.Colors.Opacity -= 0.1F;
                    if (_CommandBack.DrawObject.Colors.Opacity <= 0)
                    {
                        _CommandBack.Visible = false;
                    }
                }

                if (_BackDrak > 0)
                {
                    _BackDrak -= 0.05F;

                    if (_BackDrak < 0)
                    {
                        _BackDrak = 0;
                    }
                    DrawObject.Colors.RFix = DrawObject.Colors.GFix = DrawObject.Colors.BFix = -_BackDrak * 1F;
                    for (int i = 0; i < BackObjects.Count; i++)
                    {
                        BackObjects[i].DrawObject.Colors.RFix = BackObjects[i].DrawObject.Colors.GFix = _BackDrak * 1F;
                    }
                }
                break;
            }

            if (_BackBuildCounter.IsFull)
            {
                int          Size       = Global.Rand.Next(2, 5);
                int          top        = Layout.Rectangle.Top + Global.Rand.Next(5, Layout.RectHeight - 10);
                MoveStraight moveObject = new MoveStraight(null, 1, Size * Global.Rand.Next(120, 180) - 80, 1, 100, 0);
                ObjectSmoke  newObject  = new ObjectSmoke(-10, top, Size, Size, -1, 1, 1, Color.FromArgb(50, 50, 50), moveObject);
                newObject.DrawObject.Colors.RFix = newObject.DrawObject.Colors.GFix = _BackDrak * 1F;
                moveObject.Target.SetObject(newObject);
                moveObject.Target.SetOffsetByXY(1000, 0);
                moveObject.Resistance = Mode == 1 ? 10 : 1;
                BackObjects.Add(newObject);
                _BackBuildCounter.Value = 0;
            }
            else
            {
                _BackBuildCounter.Value += Scene.IntervalOfRound;
            }
            base.OnAfterAction();
        }
 public override void Action()
 {
     BackObjects.AllAction();
     BackObjects.ClearAllDead();
     base.Action();
 }