Пример #1
0
 static void Clear_ONGOING()
 {
     ONGOING_LBUTTONVENT = new MouseEvent(null, false);
     ONGOING_RBUTTONVENT = new MouseEvent(null, false);
     MOUSE_WHEEL = null;
 }
Пример #2
0
 static void SendMouseEvent(Point p,bool keypressed)
 {
     MouseEvent eventdata = new MouseEvent(new MouseEventArgs(MouseButtons.Left, 1, p.X, p.Y, 0), keypressed);
     eventdata.Time = ProcessTime.AddMilliseconds(-1.0);
     MOUSEEVENT.Enqueue(eventdata);
 }
Пример #3
0
 public static void InitialComponents()
 {
     LOW_PERFORMANCE_MODE = false;
     MOUSEEVENT = new Queue<MouseEvent>();
     KEYEVENT = new Queue<KeyEvent>();
     ProcessTime = DateTime.Now;
     KeyPressed = new Dictionary<Keys, bool>();
     KeyDownNow = new Dictionary<Keys, bool>();
     ONGOING_LBUTTONVENT = new MouseEvent(null, false);
     ONGOING_RBUTTONVENT = new MouseEvent(null, false);
     MOUSE_WHEEL = null;
     Game.EarthQuakeCompleted += Game_EarthQuakeCompleted;
     Add_Key(Keys.Up);
     Add_Key(Keys.Down);
     Add_Key(Keys.Left);
     Add_Key(Keys.Right);
     Add_Key(Keys.LButton);
     Add_Key(Keys.RButton);
     Add_Key(Keys.ControlKey);
     Add_Key(Keys.P);
     Add_Key(Keys.Escape);
     Add_Key(Keys.W);
     Add_Key(Keys.S);
     Add_Key(Keys.A);
     Add_Key(Keys.D);
     Add_Key(Keys.M);
     Add_Key(Keys.Q);
     Add_Key(Keys.Back);
     Add_Key(Keys.ShiftKey);
     Add_Key(Keys.N);
     Add_Key(Keys.B);
     Add_Key(Keys.O);
 }
Пример #4
0
 static void Preprocess_KeyMouseEvents()
 {
     Reset_KeyNow(false);
     Clear_ONGOING();
     while (KEYEVENT.Count > 0 && KEYEVENT.ElementAt(0).Time < ProcessTime)
     {
         var e = KEYEVENT.Dequeue();
         Add_Key(e.Args.KeyCode, e.IsKeyDown);
     }
     while (MOUSEEVENT.Count > 0 && MOUSEEVENT.ElementAt(0).Time < ProcessTime)
     {
         var e = MOUSEEVENT.Dequeue();
         if (e.Args.Button == MouseButtons.Left)
         {
             if (KeyPressed[Keys.LButton] != e.IsKeyDown)
             {
                 if (ONGOING_LBUTTONVENT.Args != null && ONGOING_LBUTTONVENT.IsKeyDown && !e.IsKeyDown)//Click
                 {
                     ONGOING_LBUTTONVENT.FastClick = true;
                 }
                 else
                 {
                     ONGOING_LBUTTONVENT = e;
                     Add_Key(Keys.LButton, e.IsKeyDown);
                 }
             }
         }
         else if (e.Args.Button == MouseButtons.Right)
         {
             if (KeyPressed[Keys.RButton] != e.IsKeyDown)
             {
                 if (ONGOING_RBUTTONVENT.Args != null && ONGOING_RBUTTONVENT.IsKeyDown && !e.IsKeyDown)//Click
                 {
                     ONGOING_RBUTTONVENT.FastClick = true;
                 }
                 else
                 {
                     ONGOING_RBUTTONVENT = e;
                     Add_Key(Keys.RButton, e.IsKeyDown);
                 }
             }
         }
     }
 }