/// <summary> /// Dialog que muestra todas las texturas dentro de una categoria especifica. /// Al seleccionar una textura la aplica a todos los mesh que tenga esa categoria /// </summary> public void TextureDlg(DXGui gui, int groupId) { // Inicio un dialogo modalless gui.InitDialog(false, false); int W = GuiController.Instance.Panel3d.Width; int H = GuiController.Instance.Panel3d.Height; int x0 = -20; int y0 = 0; int dy = 520; int dx = W + 40; int tdx = 250; int tdy = 200; gui.InsertFrame("Seleccione la textura", x0, y0, dx, dy, Color.FromArgb(192, 192, 192), frameBorder.sin_borde); int sdx = 500; int sdy = 120; gui.InsertKinectScrollButton(0, "scroll_left.png", x0 + 40, y0 + dy - sdy - 50, sdx, sdy); gui.InsertKinectScrollButton(1, "scroll_right.png", x0 + 40 + sdx + 20, y0 + dy - sdy - 50, sdx, sdy); gui_item cancel_btn = gui.InsertKinectCircleButton(1, "Cancel", "cancel.png", W - gui.KINECT_BUTTON_SIZE_X - 40, y0 + dy - gui.KINECT_BUTTON_SIZE_X - 50, gui.KINECT_BUTTON_SIZE_X); cancel_btn.scrolleable = false; // fijo el boton de cancelar //Buscar grupo con ese id de gui selectedGroup = null; foreach (Group g in grupos) { if (g.guiId == groupId) { selectedGroup = g; break; } } //Crear un boton por cada textura dentro de este grupo for (int i = 0; i < selectedGroup.textures.Count; i++) { Texture t = selectedGroup.textures[i]; gui.InsertKinectTileButton(t.guiId, (i + 1).ToString(), t.path, x0 + 50 + i * (tdx + 50), y0 + 100, tdx, tdy); } }