private void btnSave_Click(object sender, EventArgs e) { bool successful = true; try { successful &= MainController.ChangeServer(txtmServerIP.Text, txtmServerPort.Text); if (gbxLokacija.Enabled) { successful &= MainController.ChangeCurrentMensa((Mensa)cbxSettingsMenza.SelectedItem); } } catch (Exception ex) { MUtility.ShowException(ex); return; } if (!successful) { return; } this.DialogResult = DialogResult.OK; Close(); }
/// <summary> /// 针对OperateObject的处理 /// </summary> public void OnOperateObjectHandle() { if (OperateObject == null) { return; } switch (Operate.InputHand.HandStatus) { case MInputHandStatus.Grabing: var screenDevice = MUtility.MainWorldToScreenPoint(OperateObject.GrabObject.transform.position); var screenMouse = Operate.InputHand.ScreenPoint; Vector3 vpos = MUtility.MainScreenToWorldPoint(new Vector3(screenMouse.x, screenMouse.y, screenDevice.z)); Vector3 position = vpos - Offset; EventUpdateObject.SendListener(OperateObject.GrabObject, position, OperateObject.GrabObject.transform.rotation, HandIndex); break; case MInputHandStatus.Idle: OperateObject = null; break; } }
private void KORSN_TABINIT() { if (KORSN_dgvUsers.DataSource == null) { return; } try { KORSN_dgvUsers.Columns["UserID"].HeaderText = "ID"; KORSN_dgvUsers.Columns["Username"].HeaderText = "Korisnicko ime"; KORSN_dgvUsers.Columns["FirstName"].HeaderText = "Ime"; KORSN_dgvUsers.Columns["LastName"].HeaderText = "Prezime"; KORSN_dgvUsers.Columns["Birthday"].HeaderText = "DatumRodjenja"; KORSN_dgvUsers.Columns["RegistrationDate"].HeaderText = "DatumRegistracije"; KORSN_dgvUsers.Columns["PhoneNumber"].HeaderText = "Telefon"; KORSN_dgvUsers.Columns["AccountType"].HeaderText = "Tip"; KORSN_dgvUsers.Columns["ProfilePicture"].Visible = false; KORSN_dgvUsers.Columns["ActiveAccount"].Visible = false; KORSN_dgvUsers.Columns["Index"].HeaderText = "Indeks"; KORSN_dgvUsers.Columns["ValidUntil"].HeaderText = "VaziDo"; KORSN_dgvUsers.Columns["Faculty"].Visible = false; KORSN_dgvUsers.Columns["FacultyDisplay"].HeaderText = "Fakultet"; KORSN_dgvUsers.Columns["BreakfastCount"].Visible = false; KORSN_dgvUsers.Columns["LunchCount"].Visible = false; KORSN_dgvUsers.Columns["DinnerCount"].Visible = false; KORSN_dgvUsers.Columns["FullName"].Visible = false; KORSN_dgvUsers.Columns["Password"].Visible = false; } catch (Exception e) { MUtility.ShowError("Greska prilikom inicijalizacije tabele."); } }
private void btnSave_Click(object sender, EventArgs e) { if (!ValidateData()) { MUtility.ShowWarrning("Proverite sva polja"); return; } user.ProfilePicture = picProfilePicture.Image; user.FirstName = txtFName.Text; user.LastName = txtLName.Text; user.Birthday = dateTimeBirthday.Value; if (user.AccountType == User.UserAccountType.Student) { user.Faculty = cbxFaculty.SelectedItem as Faculty; user.Index = txtIndex.Text; } user.PhoneNumber = txtPhone.Text; user.Username = txtUsername.Text; user.Email = txtEmail.Text; user.Password = txtPassword.Text; user.ValidUntil = dateTimeValid.Value; user.RegistrationDate = dateTimeRegistration.Value; user.AccountType = (User.UserAccountType)cbxTip.SelectedItem; user.ActiveAccount = cbxStanje.SelectedIndex == 0; DialogResult = DialogResult.OK; Close(); }
private void KORSN_btnDeleteUser_Click(object sender, EventArgs e) { if (KORSN_dgvUsers.SelectedRows.Count == 0) { MUtility.ShowWarrning("Odaberite korisnika"); return; } User u = KORSN_dgvUsers.SelectedRows[0].DataBoundItem as User; DialogResult dr = MessageBox.Show( string.Format("Da li ste sigurni da zelite da obrisete korisnika {0}?", u.FullName), "Brisanje korisnika", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr != DialogResult.OK) { return; } bool ops = MainController.DeleteUser(u); if (ops) { KORSN_RefreshUsersGrid(true); MUtility.ShowInformation("Korisnik uspesno obrisan"); } }
/// <summary> /// 抓取设置 /// </summary> /// <param name="operate">Operate.</param> /// <param name="handIndex">Hand index.</param> public void OnGrabObject(IOperateObject operate, int handIndex) { if (HandIndex != handIndex) { return; } Offset = MUtility.GetOffsetPosition(Operate.InputHand.ScreenPoint, operate.GrabObject); OperateObject = operate; }
/// <summary> /// 计算适口偏移值 /// </summary> /// <param name="mousePosition"></param> /// <param name="grabObject"></param> /// <returns></returns> private Vector3 GetOffsetPosition(Vector3 mousePosition, GameObject grabObject) { var offset = Vector3.zero; Vector3 screenDevice = MUtility.MainWorldToScreenPoint(grabObject.transform.position); Vector3 vPos = MUtility.MainScreenToWorldPoint(new Vector3(mousePosition.x, mousePosition.y, screenDevice.z)); offset = vPos - grabObject.transform.position; return(offset); }
/// <summary> /// 更改属性值 /// </summary> /// <param name="value"></param> public void SetChangingValue(float value) { if (handleRect == null) { Debug.LogError("未指定当前滚动对象:handleRect属性为Null"); return; } if (minValue == null || maxValue == null) { SetRectData(); } Vector3 position = Vector3.zero; float moveValue = 0; switch (KguiAxis) { case Axis.X: //if (horizontal == Horizontal.RightToLeft) // value = 1 - value; moveValue = minValue.Value + value * sumValue; //在将屏幕坐标转化为世界坐标 Vector3 handleScreenX = MUtility.UIWorldToScreenPoint(handleRect.position); position = MUtility.UIScreenToWorldPoint(new Vector3(moveValue, handleScreenX.y, handleScreenX.z)); position.y = handleRect.position.y; position.z = handleRect.position.z; break; case Axis.Y: //if (vertical == Vertical.TopToBottom) // value = 1 - value; moveValue = maxValue.Value - value * sumValue; Vector3 handleScreenY = MUtility.UIWorldToScreenPoint(handleRect.position); position = MUtility.UIScreenToWorldPoint(new Vector3(handleScreenY.x, moveValue, handleScreenY.z)); position.x = handleRect.position.x; position.z = handleRect.position.z; break; default: break; } handleRect.position = position; }
/// <summary> /// 移动设置 /// </summary> /// <param name="operate"></param> /// <param name="handIndex"></param> void OnGrabObject(IOperateObject operate, int handIndex) { if (handIndex != InputHands[0].HandIndex) { return; } offset = MUtility.GetOffsetPosition(InputHands[0].ScreenPoint, operate.GrabObject); this.operateObject = operate; }
private void txtEmail_Validating(object sender, CancelEventArgs e) { if (txtEmail.Text == string.Empty) { return; } if (!MainController.IsValidEmail(txtEmail.Text)) { MUtility.ShowWarrning("Unet je nevalidan email"); return; } }
private void PozoviApiFunkciju() { ClientLoginDto clog = new ClientLoginDto { KIme_Mail = FindViewById <TextView>(Resource.Id.usernameText).Text, Sifra = FindViewById <TextView>(Resource.Id.passwordText).Text }; try { SesijaDto sesija = Api.Api.LoginUser(clog); MSettings.CurrentSession = new Session() { SessionID = sesija.IdSesije }; KorisnikFullDto korisnik = Api.Api.GetUserFullInfo(sesija.IdKorisnika); if (korisnik.IdTipaNaloga == (int)User.UserAccountType.Student) { //if (!Api.LogoutUser(MSettings.CurrentSession.SessionID)) // throw new Exception("Neuspesno ciscenje logovanja"); var intent = new Intent(this, typeof(MainSwipePage)); intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask); StartActivity(intent); alert.Dismiss(); MSettings.CurrentSession.LoggedUser = MUtility.User_From_KorisnikFullDto(korisnik); if (check.Checked) { ZapamtiKorisnika(clog.KIme_Mail, clog.Sifra); } this.Finish(); } else { alert.Dismiss(); MSettings.CurrentSession = null; //Toast.MakeText(this, "Ovo nije korisnicki nalog!", ToastLength.Short).Show(); RunOnUiThread(() => Toast.MakeText(this, "Ovo nije korisnicki nalog!", ToastLength.Short).Show()); } } catch (Exception ex) { alert.Dismiss(); MSettings.CurrentSession = null; //Toast.MakeText(this, ex.Message, ToastLength.Short).Show(); RunOnUiThread(() => Toast.MakeText(this, "Nepravilno korisnicko ime ili lozinka!", ToastLength.Short).Show()); } }
private void bgWorkerLoading_DoWorkLogOut() { Thread.Sleep(500); try { MainController.Shutdown(); } catch (Exception ex) { MUtility.ShowException(ex); Environment.Exit(1); } }
/// <summary> /// 打开 /// </summary> public virtual void OnOpen(int handIndex = 0) { this.handIndex = handIndex; Vector3 screenHand = MOperateManager.GetHandScreenPoint(handIndex); Vector3 screenPosition = MUtility.MainWorldToScreenPoint(GrabObject.transform.position); recordPos = MUtility.MainScreenToWorldPoint(new Vector3(screenHand.x, screenHand.y, screenPosition.z));//手的坐标 recordEuler = space == Space.World ? GrabObject.transform.eulerAngles : GrabObject.transform.localEulerAngles; isActive = true; }
/// <summary> /// 判断是否在区域内 /// </summary> /// <param name="handIndex"></param> /// <returns></returns> bool IsAreaContains(int handIndex) { if (panelType == PanelType.UI) { return(KGUI_Utility.IsAreaContains(transform, handIndex) || OtherRectAreaContains(handIndex)); } else { Vector3 screenPoint = MUtility.UIWorldToScreenPoint(transform.position); return(KGUI_Utility.IsAreaContains(screenPoint, panelSize, handIndex) || OtherRectAreaContains(handIndex)); } }
// 单手操作处理 void KinectHandOne() { if (MInputKinect.IsHandActive(0)) { handIndex = 0; } else if (MInputKinect.IsHandActive(1)) { handIndex = 1; } //将他的屏幕坐标传递出去 InputHands[0].OnUpdate(MInputKinect.ScreenHandPostion(handIndex)); if (MInputKinect.HandGrip(handIndex)) { InputHands[0].SetGrip(); } if (MInputKinect.HandRelease(handIndex)) { InputHands[0].SetIdle(); } if (rightOperateObject != null) { switch (InputHands[0].HandStatus) { case MInputHandStatus.Grabing: var screenDevice = MUtility.MainWorldToScreenPoint(rightOperateObject.GrabObject.transform.position); Vector3 screenMouse = InputHands[0].ScreenPoint; Vector3 vPos = MUtility.MainScreenToWorldPoint(new Vector3(screenMouse.x, screenMouse.y, screenDevice.z)); rightOperateObject.GrabObject.transform.position = vPos - rightOffset; //需要处理偏移量 break; case MInputHandStatus.Idle: this.rightOperateObject = null; break; default: break; } } }
private void KORSN_btnProfile_Click(object sender, EventArgs e) { if (KORSN_dgvUsers.SelectedRows.Count == 0) { MUtility.ShowInformation("Odaberite korisnika"); return; } User sel = (User)KORSN_dgvUsers.SelectedRows[0].DataBoundItem; ProfileForm pf = new ProfileForm(sel); pf.ShowDialog(); }
private void bgWorkerLoading_DoWork(object sender, DoWorkEventArgs e) { Thread.Sleep(500); try { MainController.PostLoginInit(); } catch (Exception ex) { MUtility.ShowException(ex); MainController.LogoutUser(); Environment.Exit(1); } }
private void statbarUserSignOut_Click(object sender, EventArgs e) { try { bgWorkerLoading.DoWork += (sender2, args) => bgWorkerLoading_DoWorkLogOut(); this.Hide(); bgWorkerLoading.RunWorkerAsync(); loadform.TextToDisplay = "Odjavljivanje"; loadform.ShowDialog(); } catch (Exception ex) { MUtility.ShowException(ex); } }
/// <summary> /// 判断是否在立方体内 /// </summary> /// <param name="position"></param> /// <param name="size"></param> /// <param name="targetPosition"></param> /// <param name="distanceType"></param> /// <returns></returns> public static bool CubeDistance(Vector3 position, Vector3 size, Vector3 targetPosition, DistanceType distanceType, out float distanceValue) { Distance(position, targetPosition, distanceType, out distanceValue); switch (distanceType) { case DistanceType.D3D: float d3d_xMin = position.x - size.x / 2; float d3d_xMax = position.x + size.x / 2; float d3d_yMin = position.y - size.y / 2; float d3d_yMax = position.y + size.y / 2; float d3d_zMin = position.z - size.z / 2f; float d3d_zMax = position.z + size.z / 2f; return(targetPosition.x.FloatContains(d3d_xMin, d3d_xMax) && targetPosition.y.FloatContains(d3d_yMin, d3d_yMax) && targetPosition.z.FloatContains(d3d_zMin, d3d_zMax)); case DistanceType.D2D: float xMin = position.x - size.x / 2; float xMax = position.x + size.x / 2; float yMin = position.y - size.y / 2; float yMax = position.y + size.y / 2; return(targetPosition.x.FloatContains(xMin, xMax) && targetPosition.y.FloatContains(yMin, yMax)); case DistanceType.DScreen: //计算两个坐标的屏幕坐标 Vector3 screen1 = MUtility.MainCamera.WorldToScreenPoint(position); Vector3 screen2 = MUtility.MainCamera.WorldToScreenPoint(targetPosition); //在计算范围 float sizeScreenX = Mathf.Abs(MUtility.MainCamera.WorldToScreenPoint(new Vector3(position.x + size.x / 2, position.y, position.z)).x - MUtility.MainCamera.WorldToScreenPoint(new Vector3(position.x - size.x / 2, position.y, position.z)).x); float sizeScreenY = Mathf.Abs(MUtility.MainCamera.WorldToScreenPoint(new Vector3(position.x, position.y, position.z)).x - MUtility.MainCamera.WorldToScreenPoint(new Vector3(position.x - size.x / 2, position.y, position.z)).x); return(MUtility.ScreenPointContains(screen1, new Vector2(sizeScreenX, sizeScreenY), screen2)); default: return(false); } }
private void KORSN_RefreshUsersGrid(bool ReloadData = false) { OpStatusWorking(); if (ReloadData) { MainController.UpdateAllUsersList(); } if (User.AllUsers == null) { MUtility.ShowError("Lista svih korisnika nije ucitana"); return; } KORSN_FilterList(); KORSN_TABINIT(); OpStatusIdle(); }
IEnumerator OnUpdate(int handIndex) { while (true) { yield return(new WaitForFixedUpdate()); Vector3 screenHand = MOperateManager.GetHandScreenPoint(handIndex); Vector3 screenPosition = MUtility.MainWorldToScreenPoint(GrabObject.transform.position); Vector3 position = MUtility.MainScreenToWorldPoint(new Vector3(screenHand.x, screenHand.y, screenPosition.z)); if (OnCustomizeUpdate != null) { OnCustomizeUpdate.Invoke(GrabObject, position, handIndex); } } }
private void btnSave_Click(object sender, EventArgs e) { if (newMensa != null) { if (!ValidateInput()) { MUtility.ShowInformation("Nevalidni podaci. Proverite sva polja!"); return; } newMensa.Name = txtName.Text; newMensa.Location = txtLocation.Text; newMensa.WorkTime = txtWorkTime.Text; newMensa.CurrentlyClosed = cbxNotWorking.Checked; newMensa.GPSLat = double.Parse(txtGPS_Lat.Text); newMensa.GPSLong = double.Parse(txtGPS_Lon.Text); MainController.AddMensa(newMensa); RefreshList(); RefreshData(); newMensa = null; return; } if (selectedMensa == null) { MUtility.ShowInformation("Odaberi menzu za izmenu"); return; } if (!ValidateInput()) { MUtility.ShowInformation("Nevalidni podaci. Proverite sva polja!"); return; } selectedMensa.Name = txtName.Text; selectedMensa.CurrentlyClosed = cbxNotWorking.Checked; selectedMensa.Location = txtLocation.Text; selectedMensa.GPSLong = double.Parse(txtGPS_Lon.Text); selectedMensa.GPSLat = double.Parse(txtGPS_Lat.Text); selectedMensa.WorkTime = txtWorkTime.Text; MainController.UpdateMensa(selectedMensa); RefreshList(); RefreshData(); }
private void Update() { if (IsDown && handIndex != -1 && enabled) { //屏幕坐标 Vector3 screenPoint = MOperateManager.GetHandScreenPoint(handIndex); Vector3 screenDevice = MUtility.MarkWorldToScreenPoint(sliderObject.transform.position); Vector3 vPos = MUtility.MarkScreenToWorldPoint(new Vector3(screenPoint.x, screenPoint.y, screenDevice.z)); OnExecute(vPos); } //if (tempValue != Value) //{ // SetChangingValue(Value); //} }
/// <summary> /// 设置物体被抓取 /// </summary> /// <param name="operate">Operate.</param> /// <param name="handIndex">Hand index.</param> public void SetGrabObject(IOperateObject operate, int handIndex, float cameraRelativeDistance) { if (HandIndex != handIndex) { return; } Vector3 screenPoint = Operate.InputHand.ScreenPoint; OperateObject = operate; Vector3 screenMainCamera = MUtility.MainWorldToScreenPoint(MUtility.MainCamera.transform.position + MUtility.MainCamera.transform.forward * cameraRelativeDistance); Vector3 position = MUtility.MainScreenToWorldPoint(new Vector3(screenPoint.x, screenPoint.y, screenMainCamera.z)); Offset = Vector3.zero; OperateObject.GrabObject.transform.position = position; }
private void NAPLATA_btnReclamation_Click(object sender, EventArgs e) { User s = MainController.LoadedCardUser; if (s == null) { MUtility.ShowWarrning("Prvo ucitati korisnika"); return; } ReclamationForm rf = new ReclamationForm(MainController.LoadedCardUser, ReclamationForm.Mode.PogresnaNaplata); rf.ShowDialog(); OpStatusWorking(); MainController.LoadUserCard(MainController.LoadedCardUser.UserID); NAPLATA_RefreshCardInfo(); OpStatusIdle(); }
private void btnDelete_Click(object sender, EventArgs e) { if (selectedMensa == null) { MUtility.ShowInformation("Odaberi fakultet za brisanje"); return; } DialogResult dg = MessageBox.Show("Da li ste sigurni da zelite da obrisete " + selectedMensa.Name + "?", "Brisanje fakulteta", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dg == DialogResult.No) { return; } MainController.DeleteMensa(selectedMensa); RefreshList(); RefreshData(); }
public virtual void OnUpdate() { if (!isActive) { return; } Vector3 screenHand = MOperateManager.GetHandScreenPoint(handIndex); Vector3 screenPosition = MUtility.MainWorldToScreenPoint(recordPos); Vector3 handPos = MUtility.MainScreenToWorldPoint(new Vector3(screenHand.x, screenHand.y, screenPosition.z)); //手的坐标 float dis = handPos.x - recordPos.x; //手移动的距离 float ratio = dis * speed; float angle = 0; Vector3 euler = recordEuler; angle = GetAngle(ratio, angle); euler = GetEuler(angle, euler); RotateSelf(euler); }
/// <summary> /// 设置物体被抓取 /// </summary> /// <param name="operate"></param> /// <param name="handIndex"></param> /// <param name="cameraRelativeDistance"></param> void SetGrabObject(IOperateObject operate, int handIndex, float cameraRelativeDistance) { if (handIndex != InputHands[0].HandIndex) { return; } //Vector3 screenDevice = MUtility.MainWorldToScreenPoint(operate.GrabObject.transform.position); Vector3 screenpoint = InputHands[0].ScreenPoint; rightOperateObject = operate; Vector3 screenMainCamera = MUtility.MainWorldToScreenPoint(MUtility.MainCamera.transform.position + MUtility.MainCamera.transform.forward * cameraRelativeDistance); Vector3 position = MUtility.MainScreenToWorldPoint(new Vector3(screenpoint.x, screenpoint.y, screenMainCamera.z)); rightOperateObject.GrabObject.transform.position = position; }
private void picProfilePicture_Click(object sender, EventArgs e) { DialogResult dr = openImageFileDialog.ShowDialog(); if (dr != DialogResult.OK) { return; } string filename = openImageFileDialog.FileName; long filesize = (new FileInfo(filename)).Length; if (filesize >= (1024 * 1024 * 1)) { MUtility.ShowWarrning("Prevelika slika. Slika mora da bude manje od 1MB"); return; } picProfilePicture.Image = Image.FromFile(openImageFileDialog.FileName); }
private void KORSN_btnChangeUser_Click(object sender, EventArgs e) { if (KORSN_dgvUsers.SelectedRows.Count == 0) { MUtility.ShowWarrning("Odaberite korisnika"); return; } User u = KORSN_dgvUsers.SelectedRows[0].DataBoundItem as User; UserForm uf = new UserForm(u); if (uf.ShowDialog() == DialogResult.OK) { bool ops = MainController.UpdateUser(u); if (ops) { MUtility.ShowInformation("Korisnik uspesno azuriran"); } KORSN_RefreshUsersGrid(true); } }