private void CT_UI_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Escape) { menuFader.Start(); } if (e.KeyCode == Keys.Up) { up = true; MoveMotionOne.Start(); } else if (e.KeyCode == Keys.Down) { down = true; MoveMotionOne.Start(); } if (e.KeyCode == Keys.Left) { left = true; MoveMotionOne.Start(); } else if (e.KeyCode == Keys.Right) { right = true; MoveMotionOne.Start(); } }
private void MoveMotionOne_Tick(object sender, EventArgs e) { Rectangle bounds = new Rectangle(0, 0, _Dimension[0], _Dimension[1]); if (up) { map.Collision.ResetDebugOutput(); if (!entity.Update(carpanel.Location, Convert.ToInt32(carpanel.Angle + 90), true).Front) { carpanel.Move((int)keys.up, bounds); } } else if (down) { //if (!entity.Update(carpanel.Location, Convert.ToInt32(carpanel.Angle), false).Back) carpanel.Move((int)keys.down, bounds); } else if (!up) { if (carpanel.FinishMove(new Rectangle(0, 0, _Dimension[0], _Dimension[1]))) { MoveMotionOne.Stop(); } } if (up || down) { if (right) { //Rectangle bounds = new Rectangle(0, 0, _Dimension[0], _Dimension[1]); carpanel.Move((int)keys.right, bounds); } else if (left) { //Rectangle bounds = new Rectangle(0, 0, _Dimension[0], _Dimension[1]); carpanel.Move((int)keys.left, bounds); } } Invalidate(); }