void elementToDrag_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            DodgeMan element = (DodgeMan)sender;

            element.Cursor = null;
            element.ReleaseMouseCapture();
            isDragging = false;
        }
        void element_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            isDragging = true;
            if (isStartMove)
            {
                EventArgs args = new EventArgs();
                OnFirstTimeMove(this, args);
                isStartMove = false;
            }
            DodgeMan element = (DodgeMan)sender;

            element.Cursor = Cursors.Hand;

            lastMousePosition = e.GetPosition(layoutRoot);
            ((UIElement)sender).CaptureMouse();
        }
        void elementToDrag_MouseMove(object sender, MouseEventArgs e)
        {
            if (isDragging)
            {
                DodgeMan element = (DodgeMan)sender;
                Point    currentMousePosition = e.GetPosition(layoutRoot);
                double   mouseX = currentMousePosition.X - lastMousePosition.X;
                double   mouseY = currentMousePosition.Y - lastMousePosition.Y;
                element.X += mouseX;
                element.Y += mouseY;

                EventArgs moveagrs = new EventArgs();
                OnDragMove(this, moveagrs);

                lastMousePosition = currentMousePosition;
            }
        }
        private void ComponentInit()
        {
            if (isComponentInited)
            {
                return;
            }
            dm = new DodgeDragManager(LayoutRoot);
            me = new DodgeMan();
            LayoutRoot.Children.Add(me);
            gm           = new DodgeGameManager(LayoutRoot, me);
            gm.GameRun  += new EventHandler(gm_GameRun);
            gm.GameOver += new EventHandler(gm_GameOver);

            foreach (DodgeEnemy enemy in gm.enemies)
            {
                LayoutRoot.Children.Add(enemy);
            }
            isComponentInited = true;
        }
        public DodgeGameManager(Canvas _layoutRoot, DodgeMan _Owner)
        {
            enemies         = new List <DodgeEnemy>();
            this.Owner      = _Owner;
            this.layoutRoot = _layoutRoot;
            time            = new DispatcherTimer();
            time.Interval   = TimeSpan.FromMilliseconds(TIME_INTERVAL);
            time.Tick      += new EventHandler(time_Tick);

            enemy1 = new DodgeEnemy();
            enemy2 = new DodgeEnemy();
            enemy3 = new DodgeEnemy();
            enemy4 = new DodgeEnemy();

            enemies.Add(enemy1);
            enemies.Add(enemy2);
            enemies.Add(enemy3);
            enemies.Add(enemy4);

            InitEnemisPoint();
        }