presetsmenu.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. class PresetsMenu extends UIScriptedMenu
  2. {
  3. void PresetsMenu()
  4. {
  5. }
  6. void ~PresetsMenu()
  7. {
  8. }
  9. override Widget Init()
  10. {
  11. layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/day_z_options_controls_preset.layout");
  12. m_schemes_list = TextListboxWidget.Cast( layoutRoot.FindAnyWidget("PresetListboxWidget") );
  13. int c = GetGame().GetInput().GetProfilesCount();
  14. for (int i = 0; i < c; i++)
  15. {
  16. string tmp;
  17. GetGame().GetInput().GetProfileName(i, tmp);
  18. m_schemes_list.AddItem(tmp, NULL, 0);
  19. }
  20. i = GetGame().GetInput().GetCurrentProfile();
  21. if (i >= 0 && i < c)
  22. {
  23. m_schemes_list.SelectRow(i);
  24. }
  25. return layoutRoot;
  26. }
  27. override bool OnClick(Widget w, int x, int y, int button)
  28. {
  29. super.OnClick(w, x, y, button);
  30. switch (w.GetUserID())
  31. {
  32. case IDC_CANCEL:
  33. Close();
  34. return true;
  35. case IDC_OK:
  36. int index = m_schemes_list.GetSelectedRow();
  37. if (index != -1)
  38. {
  39. GetGame().GetInput().SetProfile(index);
  40. GetGame().GetMission().GetOnInputPresetChanged().Invoke();
  41. Close();
  42. }
  43. return true;
  44. }
  45. return false;
  46. }
  47. private TextListboxWidget m_schemes_list;
  48. }