DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
CharacterCreationMenu.c
См. документацию.
1class CharacterCreationMenu extends UIScriptedMenu
2{
3 #ifdef PLATFORM_CONSOLE
4 DayZIntroSceneXbox m_Scene;
5 protected bool m_CharacterSaved;
6 #else
8 #endif
9
10 const int TOOLTIP_ID_SAVE = 1;
11 const int TOOLTIP_ID_APPLY = 2;
12
14 protected Widget m_Apply;
15 protected Widget m_Save;
19 protected TextWidget m_Version;
20 protected Widget m_DetailsRoot; //tooltips
24
25 protected ref OptionSelectorEditbox m_NameSelector;
31
33
35 {
36 MissionMainMenu mission = MissionMainMenu.Cast(GetGame().GetMission());
37
38 #ifdef PLATFORM_CONSOLE
39 m_Scene = mission.GetIntroSceneXbox();
40 #else
41 m_Scene = mission.GetIntroScenePC();
42 #endif
43
44 m_Scene.ResetIntroCamera();
45 }
46
48 {
49 return m_Scene.GetIntroCharacter().GetCharacterObj();
50 }
51
52 protected void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
53 {
54 #ifdef PLATFORM_CONSOLE
55 switch (pInputDeviceType)
56 {
57 case EInputDeviceType.CONTROLLER:
58 if (GetGame().GetInput().IsEnabledMouseAndKeyboard())
59 {
61 }
62 CheckNewOptions(); //TODO - pick only the 'focus' bit
63 break;
64
65 default:
66 if (GetGame().GetInput().IsEnabledMouseAndKeyboard())
67 {
69 }
70 break;
71 }
72
74 #endif
75 }
76
77 override Widget Init()
78 {
79 #ifdef PLATFORM_CONSOLE
80 layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/character_creation/xbox/character_creation.layout");
81 m_CharacterSaved = false;
82 #else
83 layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/character_creation/pc/character_creation.layout");
84 #endif
85
86 m_CharacterRotationFrame = layoutRoot.FindAnyWidget("character_rotation_frame");
87 m_Apply = layoutRoot.FindAnyWidget("apply");
88 m_Save = layoutRoot.FindAnyWidget("save");
89 m_RandomizeCharacter = layoutRoot.FindAnyWidget("randomize_character");
90 m_BackButton = layoutRoot.FindAnyWidget("back");
91 m_Version = TextWidget.Cast(layoutRoot.FindAnyWidget("version"));
92 m_DetailsRoot = layoutRoot.FindAnyWidget("menu_details_tooltip");
93 m_DetailsLabel = TextWidget.Cast(m_DetailsRoot.FindAnyWidget("menu_details_label"));
94 m_DetailsText = RichTextWidget.Cast(m_DetailsRoot.FindAnyWidget("menu_details_tooltip_content"));
95 m_CharacterHeaderText = TextWidget.Cast(layoutRoot.FindAnyWidget("char_header_text"));
96 m_PlayedCharacterInfo = layoutRoot.FindAnyWidget("played_char_info");
97
98 string version;
99 GetGame().GetVersion(version);
100 #ifdef PLATFORM_CONSOLE
101 version = "#main_menu_version" + " " + version + " (" + g_Game.GetDatabaseID() + ")";
102 #else
103 version = "#main_menu_version" + " " + version;
104 #endif
105 m_Version.SetText(version);
106
107 if (m_Scene && m_Scene.GetIntroCharacter())
108 {
109 m_OriginalCharacterID = m_Scene.GetIntroCharacter().GetCharacterID();
110 }
111
112 m_NameSelector = new OptionSelectorEditbox(layoutRoot.FindAnyWidget("character_name_setting_option"), m_Scene.GetIntroCharacter().GetCharacterName(), null, false);
113 m_GenderSelector = new OptionSelectorMultistateCharacterMenu(layoutRoot.FindAnyWidget("character_gender_setting_option"), 0, null, false, m_Scene.GetIntroCharacter().GetCharGenderList());
114 if (m_Scene.GetIntroCharacter().IsCharacterFemale())
115 {
116 m_GenderSelector.SetValue("Female");
117 m_SkinSelector = new OptionSelectorMultistateCharacterMenu(layoutRoot.FindAnyWidget("character_head_setting_option"), 0, null, false, m_Scene.GetIntroCharacter().GetCharList(ECharGender.Female));
118 }
119 else
120 {
121 m_GenderSelector.SetValue("Male");
122 m_SkinSelector = new OptionSelectorMultistateCharacterMenu(layoutRoot.FindAnyWidget("character_head_setting_option"), 0, null, false, m_Scene.GetIntroCharacter().GetCharList(ECharGender.Male));
123 }
124
125 m_TopSelector = new OptionSelectorMultistateCharacterMenu(layoutRoot.FindAnyWidget("character_top_setting_option"), 0, null, false, DefaultCharacterCreationMethods.GetConfigAttachmentTypes(InventorySlots.BODY));
126 m_BottomSelector = new OptionSelectorMultistateCharacterMenu(layoutRoot.FindAnyWidget("character_bottom_setting_option"), 0, null, false, DefaultCharacterCreationMethods.GetConfigAttachmentTypes(InventorySlots.LEGS));
127 m_ShoesSelector = new OptionSelectorMultistateCharacterMenu(layoutRoot.FindAnyWidget("character_shoes_setting_option"), 0, null, false, DefaultCharacterCreationMethods.GetConfigAttachmentTypes(InventorySlots.FEET));
128
129 PlayerBase scene_char = GetPlayerObj();
130 if (scene_char)
131 {
132 Object obj = scene_char.GetInventory().FindAttachment(InventorySlots.BODY);
133 if (obj)
134 m_TopSelector.SetValue(obj.GetType(), false);
135
136 obj = scene_char.GetInventory().FindAttachment(InventorySlots.LEGS);
137 if (obj)
138 m_BottomSelector.SetValue(obj.GetType(), false);
139
140 obj = scene_char.GetInventory().FindAttachment(InventorySlots.FEET);
141 if (obj)
142 m_ShoesSelector.SetValue(obj.GetType(), false);
143
144 m_SkinSelector.SetValue(scene_char.GetType());
145 }
146
147 m_GenderSelector.m_OptionChanged.Insert(GenderChanged);
148 m_SkinSelector.m_OptionChanged.Insert(SkinChanged);
149 m_TopSelector.m_OptionChanged.Insert(TopChanged);
150 m_BottomSelector.m_OptionChanged.Insert(BottomChanged);
151 m_ShoesSelector.m_OptionChanged.Insert(ShoesChanged);
152
153 Refresh();
154 SetCharacter();
156
158
159 return layoutRoot;
160 }
161
163 {
164 m_GenderSelector.m_OptionChanged.Remove(GenderChanged);
165 m_SkinSelector.m_OptionChanged.Remove(SkinChanged);
166 m_TopSelector.m_OptionChanged.Remove(TopChanged);
167 m_BottomSelector.m_OptionChanged.Remove(BottomChanged);
168 m_ShoesSelector.m_OptionChanged.Remove(ShoesChanged);
169 }
170
171 //Button Events
173 void Apply()
174 {
175 if (!m_Scene.GetIntroCharacter().IsDefaultCharacter())
176 {
177 string name = m_NameSelector.GetValue();
178 if (name == "")
180
181 m_Scene.GetIntroCharacter().SaveCharName(name);
182 }
183
184 MainMenu menu_main = MainMenu.Cast(GetGame().GetUIManager().FindMenu(MENU_MAIN));
185 if (menu_main)
186 {
187 menu_main.OnChangeCharacter(false);
188 }
190 }
191
193 void Save()
194 {
195 if (m_Scene.GetIntroCharacter().IsDefaultCharacter())
196 {
197 string name = m_NameSelector.GetValue();
198 if (name == "")
200
201 m_Scene.GetIntroCharacter().SaveCharName(name);
202 m_Scene.GetIntroCharacter().SaveDefaultCharacter();
203 m_Scene.GetIntroCharacter().SetToDefaultCharacter();
204 SetCharacterSaved(true);
205 }
206 }
207
208 void Back()
209 {
210 //bring back DefaultCharacter, if it exists (it should), or a previously played one.
212 #ifdef PLATFORM_CONSOLE
214 {
216 }
217 #endif
218 m_Scene.GetIntroCharacter().SetCharacterID(m_OriginalCharacterID);
219 m_Scene.GetIntroCharacter().CreateNewCharacterById(m_Scene.GetIntroCharacter().GetCharacterID());
221 }
222
224 {
225 if (m_Scene.GetIntroCharacter().IsDefaultCharacter())
226 {
227 GetGame().GetMenuDefaultCharacterData().EquipDefaultCharacter(m_Scene.GetIntroCharacter().GetCharacterObj());
228 }
229 }
230
232 {
233 m_Scene.GetIntroCharacter().SetToDefaultCharacter();
234
235 // make random selection
236 m_Scene.GetIntroCharacter().SetCharacterGender(Math.RandomInt(0, 2));
237
238 if (m_Scene.GetIntroCharacter().IsCharacterFemale())
239 {
240 m_GenderSelector.SetValue("Female");
241 m_SkinSelector.LoadNewValues(m_Scene.GetIntroCharacter().GetCharList(ECharGender.Female), 0);
242 m_SkinSelector.SetRandomValue();
243 }
244 else
245 {
246 m_GenderSelector.SetValue("Male");
247 m_SkinSelector.LoadNewValues(m_Scene.GetIntroCharacter().GetCharList(ECharGender.Male), 0);
248 m_SkinSelector.SetRandomValue();
249 }
250
252
253 m_TopSelector.SetValue(GetGame().GetMenuDefaultCharacterData().GetAttachmentMap().Get(InventorySlots.BODY),false);
254 m_BottomSelector.SetValue(GetGame().GetMenuDefaultCharacterData().GetAttachmentMap().Get(InventorySlots.LEGS),false);
255 m_ShoesSelector.SetValue(GetGame().GetMenuDefaultCharacterData().GetAttachmentMap().Get(InventorySlots.FEET),false);
256
257 Refresh();
258 SetCharacter();
259
261 }
262
263 //Selector Events
265 {
266 ECharGender gender = ECharGender.Male;
267
268 if (m_GenderSelector.GetStringValue() == "Female")
269 {
270 gender = ECharGender.Female;
271 }
272
273 m_Scene.GetIntroCharacter().SetCharacterGender(gender);
274
275 m_SkinSelector.LoadNewValues(m_Scene.GetIntroCharacter().GetCharList(gender) , 0);
276 m_SkinSelector.SetRandomValue();
277 SetCharacterSaved(false);
278 }
279
281 {
282 m_Scene.GetIntroCharacter().CreateNewCharacterByName(m_SkinSelector.GetStringValue(), false);
283 SetCharacterSaved(false);
284 }
285
287 {
289 GetGame().GetMenuDefaultCharacterData().EquipDefaultCharacter(m_Scene.GetIntroCharacter().GetCharacterObj());
290 SetCharacterSaved(false);
291 }
292
294 {
296 GetGame().GetMenuDefaultCharacterData().EquipDefaultCharacter(m_Scene.GetIntroCharacter().GetCharacterObj());
297 SetCharacterSaved(false);
298 }
299
301 {
303 GetGame().GetMenuDefaultCharacterData().EquipDefaultCharacter(m_Scene.GetIntroCharacter().GetCharacterObj());
304 SetCharacterSaved(false);
305 }
306
307 override bool OnKeyPress(Widget w, int x, int y, int key)
308 {
309 super.OnKeyPress(w, x, y, key);
310 return false;
311 }
312
313 override bool OnClick(Widget w, int x, int y, int button)
314 {
315 if (w == m_Apply)
316 {
317 Apply();
318 return true;
319 }
320 else if (w == m_Save)
321 {
322 Save();
324 return true;
325 }
326 else if (w == m_RandomizeCharacter)
327 {
329 return true;
330 }
331 else if (w == m_BackButton)
332 {
333 Back();
334 return true;
335 }
336 return false;
337 }
338
339 override bool OnMouseButtonDown(Widget w, int x, int y, int button)
340 {
341 #ifndef PLATFORM_CONSOLE
343 {
344 if (m_Scene)
346 return true;
347 }
348 #endif
349 return false;
350 }
351
352 override bool OnMouseButtonUp(Widget w, int x, int y, int button)
353 {
354 #ifndef PLATFORM_CONSOLE
355 if (m_Scene)
357 #endif
358 return false;
359 }
360
361 override bool OnMouseEnter(Widget w, int x, int y)
362 {
363 string tooltip_header = "";
364 string tooltip_text = "";
366 switch (w.GetUserID())
367 {
368 case TOOLTIP_ID_APPLY:
369 tooltip_header = "#layout_main_menu_rename";
370 tooltip_text = "#layout_character_creation_apply_tooltip";
371 break;
372
373 case TOOLTIP_ID_SAVE:
374 tooltip_header = "#layout_character_creation_save_character_alt";
375 tooltip_text = "#layout_character_creation_save_tooltip";
376 break;
377 }
378 SetTooltipTexts(w, tooltip_header, tooltip_text);
379 return true;
380 }
381
382 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
383 {
384 ColorNormal(w);
385 SetFocus(null);
386
387 return true;
388 }
389
390 override bool OnFocus(Widget w, int x, int y)
391 {
392 string tooltip_header = "";
393 string tooltip_text = "";
394 if (IsFocusable(w))
395 {
397 switch (w.GetUserID())
398 {
399 case TOOLTIP_ID_APPLY:
400 tooltip_header = "#layout_main_menu_rename";
401 tooltip_text = "#layout_character_creation_apply_tooltip";
402 break;
403
404 case TOOLTIP_ID_SAVE:
405 tooltip_header = "#layout_character_creation_save_character_alt";
406 tooltip_text = "#layout_character_creation_save_tooltip";
407 break;
408 }
409 SetTooltipTexts(w, tooltip_header, tooltip_text);
410 return true;
411 }
413 return false;
414 }
415
416 override bool OnFocusLost(Widget w, int x, int y)
417 {
418 if (IsFocusable(w))
419 {
420 ColorNormal(w);
421 return true;
422 }
423 return false;
424 }
425
427 {
428 if (w)
429 {
430 return (w == m_Apply || w == m_Save || w == m_RandomizeCharacter || w == m_BackButton);
431 }
432 return false;
433 }
434
435 void SetTooltipTexts(Widget w, string header = "", string desc = "")
436 {
437 #ifndef PLATFORM_CONSOLE
438 bool show = header != "" && desc != "";
439 m_DetailsRoot.Show(show);
440 m_DetailsLabel.SetText(header);
441 m_DetailsText.SetText(desc);
442
443 //moves the widget to parent, setting is relative to widget alignment, case-specific implementation (getter missing!!!)
444 if (show)
445 {
446 float parent_pos_x, parent_pos_y;
447 float parent_size_x, parent_size_y;
448 float layout_size_x, layout_size_y;
449
450 w.GetScreenPos(parent_pos_x,parent_pos_y);
451 w.GetScreenSize(parent_size_x,parent_size_y);
452 layoutRoot.GetScreenSize(layout_size_x,layout_size_y);
453
454 float set_x = layout_size_x - parent_pos_x;
455 float set_y = layout_size_y - parent_pos_y - parent_size_y;
456 m_DetailsRoot.SetPos(set_x,set_y,true);
457 }
458
459 m_DetailsText.Update();
460 m_DetailsLabel.Update();
461 m_DetailsRoot.Update();
462 #endif
463 }
464
466 {
467 bool show_widgets = m_Scene.GetIntroCharacter().IsDefaultCharacter();
468 bool was_visible = layoutRoot.FindAnyWidget("character_gender_button").IsVisible();
469 layoutRoot.FindAnyWidget("character_gender_button").Show(show_widgets);
470 layoutRoot.FindAnyWidget("character_head_button").Show(show_widgets);
471 layoutRoot.FindAnyWidget("character_top_button").Show(show_widgets);
472 layoutRoot.FindAnyWidget("character_bottom_button").Show(show_widgets);
473 layoutRoot.FindAnyWidget("character_shoes_button").Show(show_widgets);
474
475 if (!was_visible && show_widgets)
476 m_GenderSelector.Focus();
477 if (!show_widgets)
479 }
480
481 override void OnShow()
482 {
483#ifdef PLATFORM_CONSOLE
484 m_GenderSelector.Focus();
485 OnInputDeviceChanged(GetGame().GetInput().GetCurrentInputDevice());
486#endif
488 }
489
490 override void Refresh()
491 {
492 string name;
493 #ifdef PLATFORM_CONSOLE
494 if (GetGame().GetUserManager() && GetGame().GetUserManager().GetSelectedUser())
495 {
497 if (name.LengthUtf8() > 16)
498 {
499 name = name.SubstringUtf8(0, 16);
500 name += "...";
501 }
502 }
503 #else
504 name = m_Scene.GetIntroCharacter().GetCharacterName();
505 if (name == "")
507 #endif
508
509 m_NameSelector.SetValue(name);
510
511 string version;
512 GetGame().GetVersion(version);
513 #ifdef PLATFORM_CONSOLE
514 version = "#main_menu_version" + " " + version + " (" + g_Game.GetDatabaseID() + ")";
515
516 m_Apply.Show(m_CharacterSaved || !m_Scene.GetIntroCharacter().IsDefaultCharacter());
517 m_Save.Show(!m_CharacterSaved && m_Scene.GetIntroCharacter().IsDefaultCharacter());
518 #else
519 version = "#main_menu_version" + " " + version;
520 m_Apply.Show(!m_Scene.GetIntroCharacter().IsDefaultCharacter());
521 m_Save.Show(m_Scene.GetIntroCharacter().IsDefaultCharacter());
522 #endif
523 m_PlayedCharacterInfo.Show(!m_Scene.GetIntroCharacter().IsDefaultCharacter());
524
525 if (m_Scene.GetIntroCharacter().IsDefaultCharacter())
526 {
527 m_CharacterHeaderText.SetText("#character_menu_header");
528 }
529 else
530 {
531 m_CharacterHeaderText.SetText("#server_browser_prev_play_filter");
532 }
533
534 m_Version.SetText(version);
535
536 #ifdef PLATFORM_CONSOLE
539 #endif
540 }
541
542 override void Update(float timeslice)
543 {
544 if (GetUApi().GetInputByID(UAUIBack).LocalPress())
545 {
546 Back();
547 }
548
549 if (GetUApi().GetInputByID(UAUICtrlX).LocalPress())
550 {
552 }
553
554 #ifdef PLATFORM_CONSOLE
555 if (GetUApi().GetInputByID(UAUICtrlY).LocalPress())
556 {
557 if (m_Scene.GetIntroCharacter().IsDefaultCharacter() && !m_CharacterSaved)
558 {
559 Save();
560 }
561 }
562 #endif
563 }
564
565 override void OnHide()
566 {
567 }
568
569 //Coloring functions (Until WidgetStyles are useful)
571 {
572 if (w.IsInherited(ButtonWidget))
573 {
574 ButtonWidget button = ButtonWidget.Cast(w);
575 button.SetTextColor(ARGB(255, 200, 0, 0));
576 }
577
578 w.SetColor(ARGB(255, 0, 0, 0));
579
580 TextWidget text1 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text"));
581 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_label"));
582 TextWidget text3 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text_1"));
583 ImageWidget image = ImageWidget.Cast(w.FindAnyWidget(w.GetName() + "_image"));
584 Widget option = Widget.Cast(w.FindAnyWidget(w.GetName() + "_option_wrapper"));
585 Widget option_label = w.FindAnyWidget("option_label");
586
587 if (text1)
588 {
589 text1.SetColor(ARGB(255, 255, 0, 0));
590 }
591
592 if (text2)
593 {
594 text2.SetColor(ARGB(255, 255, 0, 0));
595 }
596
597 if (text3)
598 {
599 text3.SetColor(ARGB(255, 255, 0, 0));
600 w.SetAlpha(1);
601 }
602
603 if (image)
604 {
605 image.SetColor(ARGB(255, 200, 0, 0));
606 }
607
608 if (option)
609 {
610 option.SetColor(ARGB(255, 255, 0, 0));
611 }
612
613 #ifndef PLATFORM_CONSOLE
614 if (option_label)
615 {
616 option_label.SetColor(ARGB(255, 255, 0, 0));
617 }
618 #endif
619 }
620
622 {
623 if (w.IsInherited(ButtonWidget))
624 {
625 ButtonWidget button = ButtonWidget.Cast(w);
626 button.SetTextColor(ColorManager.COLOR_NORMAL_TEXT);
627 }
628
629 TextWidget text1 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text"));
630 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text_1"));
631 TextWidget text3 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_label"));
632 ImageWidget image = ImageWidget.Cast(w.FindAnyWidget(w.GetName() + "_image"));
633 Widget option = w.FindAnyWidget(w.GetName() + "_option_wrapper");
634 Widget option_label = w.FindAnyWidget("option_label");
635
636 if (text1)
637 {
638 text1.SetColor(ColorManager.COLOR_NORMAL_TEXT);
639 }
640
641 if (text2)
642 {
643 text2.SetColor(ColorManager.COLOR_NORMAL_TEXT);
644 }
645
646 if (text3)
647 {
648 text3.SetColor(ColorManager.COLOR_NORMAL_TEXT);
649 w.SetAlpha(0);
650 }
651
652 if (image)
653 {
654 image.SetColor(ColorManager.COLOR_NORMAL_TEXT);
655 }
656
657 if (option)
658 {
659 option.SetColor(ARGB(150, 255, 255, 255));
660 }
661
662 #ifndef PLATFORM_CONSOLE
663 if (option_label)
664 {
665 option_label.SetColor(ColorManager.COLOR_NORMAL_TEXT);
666 }
667 #endif
668 }
669
671 {
672 #ifndef PLATFORM_CONSOLE
673 SetFocus(null);
674 #endif
675
676 if (w)
677 {
678 ButtonWidget button = ButtonWidget.Cast(w);
679 if (button)
680 {
681 button.SetTextColor(ColorManager.COLOR_DISABLED_TEXT);
682 }
683 }
684
685 TextWidget text1 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text"));
686 TextWidget text2 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_label"));
687 TextWidget text3 = TextWidget.Cast(w.FindAnyWidget(w.GetName() + "_text_1"));
688 ImageWidget image = ImageWidget.Cast(w.FindAnyWidget(w.GetName() + "_image"));
689 Widget option = Widget.Cast(w.FindAnyWidget(w.GetName() + "_option_wrapper"));
690 Widget option_label = w.FindAnyWidget("option_label");
691
692 if (text1)
693 {
694 text1.SetColor(ColorManager.COLOR_DISABLED_TEXT);
695 }
696
697 if (text2)
698 {
699 text2.SetColor(ColorManager.COLOR_DISABLED_TEXT);
700 }
701
702 if (text3)
703 {
704 text3.SetColor(ColorManager.COLOR_DISABLED_TEXT);
705 w.SetAlpha(1);
706 }
707
708 if (image)
709 {
710 image.SetColor(ColorManager.COLOR_DISABLED_TEXT);
711 }
712
713 if (option)
714 {
715 option.SetColor(ColorManager.COLOR_DISABLED_TEXT);
716 }
717
718 #ifndef PLATFORM_CONSOLE
719 if (option_label)
720 {
721 option_label.SetColor(ColorManager.COLOR_DISABLED_TEXT);
722 }
723 #endif
724 }
725
726 void SetCharacterSaved(bool state)
727 {
728 #ifdef PLATFORM_CONSOLE
729 m_CharacterSaved = state;
730 Refresh();
731 #endif
732 }
733
734 protected void UpdateControlsElements()
735 {
736 #ifdef PLATFORM_CONSOLE
737 RichTextWidget toolbar_text = RichTextWidget.Cast(layoutRoot.FindAnyWidget("ContextToolbarText"));
738 string text = "";
739 if (!m_CharacterSaved && m_Scene.GetIntroCharacter().IsDefaultCharacter()) //can be saved..
740 {
741 text += string.Format(" %1",InputUtils.GetRichtextButtonIconFromInputAction("UAUICtrlY", "#layout_character_creation_save_character_alt", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
742 }
743 text += string.Format(" %1",InputUtils.GetRichtextButtonIconFromInputAction("UAUICtrlX", "#layout_character_creation_toolbar_randomize", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
744 if (m_Scene.GetIntroCharacter().IsDefaultCharacter()) //edit options available
745 {
746 text += string.Format(" %1",InputUtils.GetRichtextButtonIconFromInputAction("UAUISelect", "#layout_character_creation_toolbar_select", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
747 }
748 text += string.Format(" %1",InputUtils.GetRichtextButtonIconFromInputAction("UAUIBack", "#layout_character_creation_toolbar_back", EUAINPUT_DEVICE_CONTROLLER, InputUtils.ICON_SCALE_TOOLBAR));
749 toolbar_text.SetText(text);
750
751 RichTextWidget toolbar_b2 = RichTextWidget.Cast(layoutRoot.FindAnyWidget("BackIcon0"));
752 RichTextWidget toolbar_x2 = RichTextWidget.Cast(layoutRoot.FindAnyWidget("RandomizeIcon0"));
753 RichTextWidget toolbar_y2 = RichTextWidget.Cast(layoutRoot.FindAnyWidget("SaveIcon0"));
754 RichTextWidget toolbar_y2_2 = RichTextWidget.Cast(layoutRoot.FindAnyWidget("ApplyIcon0"));
755
756 string saveTextIcon = InputUtils.GetRichtextButtonIconFromInputAction("UAUICtrlY", "", EUAINPUT_DEVICE_CONTROLLER);
757 toolbar_b2.SetText(InputUtils.GetRichtextButtonIconFromInputAction("UAUIBack", "", EUAINPUT_DEVICE_CONTROLLER));
758 toolbar_x2.SetText(InputUtils.GetRichtextButtonIconFromInputAction("UAUICtrlX", "", EUAINPUT_DEVICE_CONTROLLER));
759 toolbar_y2.SetText(saveTextIcon);
760 toolbar_y2_2.SetText(saveTextIcon);
761 #endif
762 }
763
765 {
766 #ifdef PLATFORM_CONSOLE
768 layoutRoot.FindAnyWidget("toolbar_bg").Show(toolbarShow);
769 layoutRoot.FindAnyWidget("play_panel_root").Show(!toolbarShow);
770 #endif
771 }
772}
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
DayZGame g_Game
Определения DayZGame.c:3868
Mission mission
Определения DisplayStatus.c:28
ECharGender
Определения ECharGender.c:2
Icon x
Icon y
void OptionSelectorMultistateCharacterMenu(Widget parent, int current_index, ScriptedWidgetEventHandler parent_c, bool disabled, notnull array< string > options)
Определения OptionSelectorMultistate.c:145
override float Get()
Определения PlayerStatBase.c:134
proto native UAInputAPI GetUApi()
proto native owned string GetName()
proto native BiosUser GetSelectedUser()
Returns the currently selected user.
proto native UIManager GetUIManager()
proto native BiosUserManager GetUserManager()
proto native MenuData GetMenuData()
Return singleton of MenuData class - at main menu contains characters played with current profile.
proto native WorkspaceWidget GetWorkspace()
proto void GetVersion(out string version)
proto native Input GetInput()
proto native Mission GetMission()
MenuDefaultCharacterData GetMenuDefaultCharacterData(bool fill_data=true)
Определения Game.c:1493
static int COLOR_NORMAL_TEXT
Определения ColorManager.c:5
static int COLOR_DISABLED_TEXT
Определения ColorManager.c:11
Определения ColorManager.c:2
void CharacterRotationStart()
Определения DayZIntroScenePC.c:59
void CharacterRotationStop()
Определения DayZIntroScenePC.c:71
Определения constants.c:659
proto native EInputDeviceType GetCurrentInputDevice()
proto native bool IsEnabledMouseAndKeyboard()
static string GetRichtextButtonIconFromInputAction(notnull UAInput pInput, string pLocalizedDescription, int pInputDeviceType=EUAINPUT_DEVICE_CONTROLLER, float pScale=ICON_SCALE_NORMAL, bool pVertical=false)
Определения InputUtils.c:167
static const float ICON_SCALE_TOOLBAR
Определения InputUtils.c:15
Определения InputUtils.c:2
provides access to slot configuration
Определения InventorySlots.c:6
Определения EnMath.c:7
proto bool RequestGetDefaultCharacterData()
void SetDefaultAttachment(int slotID, string type)
Определения gameplay.c:1012
void GenerateRandomEquip()
Определения gameplay.c:1017
void EquipDefaultCharacter(Man player)
Определения gameplay.c:1035
ScriptInvoker GetOnInputDeviceChanged()
Определения gameplay.c:851
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
Определения gameplay.c:317
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
Определения EnWidgets.c:220
void ShowUICursor(bool visible)
Определения UIManager.c:244
bool Back()
Close top window on windows stack, returns true when any window is closed.
Определения UIManager.c:62
void UpdateControlsElementVisibility()
Определения ControlsXboxNew.c:540
ref OptionSelectorMultistateCharacterMenu m_BottomSelector
Определения CharacterCreationMenu.c:29
ref OptionSelectorMultistateCharacterMenu m_TopSelector
Определения CharacterCreationMenu.c:28
RichTextWidget m_DetailsText
Определения CharacterCreationMenu.c:22
override bool OnMouseEnter(Widget w, int x, int y)
Определения CharacterCreationMenu.c:361
void GenderChanged()
Определения CharacterCreationMenu.c:264
override void OnShow()
Определения CharacterCreationMenu.c:481
void ShoesChanged()
Определения CharacterCreationMenu.c:300
void ColorDisable(Widget w)
Определения CharacterCreationMenu.c:670
ButtonWidget m_Save
Определения CameraToolsMenu.c:43
override bool OnFocus(Widget w, int x, int y)
Определения CharacterCreationMenu.c:390
override void Update(float timeslice)
Определения CharacterCreationMenu.c:542
int m_OriginalCharacterID
Определения CharacterCreationMenu.c:32
TextWidget m_DetailsLabel
Определения CharacterCreationMenu.c:21
override void Refresh()
Определения ChatInputMenu.c:70
TextWidget m_Version
Определения InGameMenuXbox.c:33
TextWidget m_CharacterHeaderText
Определения CharacterCreationMenu.c:23
void ColorHighlight(Widget w)
Определения ControlsXboxNew.c:446
bool IsFocusable(Widget w)
Определения CameraToolsMenu.c:960
const int TOOLTIP_ID_SAVE
Определения CharacterCreationMenu.c:10
void SetTooltipTexts(Widget w, string header="", string desc="")
Определения CharacterCreationMenu.c:435
Widget m_Apply
Определения CharacterCreationMenu.c:14
ref OptionSelectorMultistateCharacterMenu m_GenderSelector
Определения CharacterCreationMenu.c:26
const int TOOLTIP_ID_APPLY
Определения CharacterCreationMenu.c:11
ref OptionSelectorMultistateCharacterMenu m_SkinSelector
Определения CharacterCreationMenu.c:27
void Apply()
renames character
Определения CharacterCreationMenu.c:173
void OnInputDeviceChanged(EInputDeviceType pInputDeviceType)
Определения CharacterCreationMenu.c:52
void CheckNewOptions()
Определения CharacterCreationMenu.c:465
void BottomChanged()
Определения CharacterCreationMenu.c:293
override bool OnKeyPress(Widget w, int x, int y, int key)
Определения CharacterCreationMenu.c:307
Widget m_CharacterRotationFrame
Определения CharacterCreationMenu.c:13
override void OnHide()
Определения CharacterCreationMenu.c:565
void SkinChanged()
Определения CharacterCreationMenu.c:280
void TopChanged()
Определения CharacterCreationMenu.c:286
void SetCharacterSaved(bool state)
Определения CharacterCreationMenu.c:726
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
Определения CharacterCreationMenu.c:352
override bool OnFocusLost(Widget w, int x, int y)
Определения CharacterCreationMenu.c:416
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Определения CharacterCreationMenu.c:382
void Back()
Определения CharacterCreationMenu.c:208
ref OptionSelectorMultistateCharacterMenu m_ShoesSelector
Определения CharacterCreationMenu.c:30
void Save()
saves default character
Определения CharacterCreationMenu.c:193
override bool OnMouseButtonDown(Widget w, int x, int y, int button)
Определения CharacterCreationMenu.c:339
void CharacterCreationMenu()
Определения CharacterCreationMenu.c:34
DayZIntroScenePC m_Scene
Определения CharacterCreationMenu.c:7
Widget m_BackButton
Определения CharacterCreationMenu.c:17
void UpdateControlsElements()
Определения ControlsXboxNew.c:527
PlayerBase GetPlayerObj()
Определения CharacterCreationMenu.c:47
Widget m_RandomizeCharacter
Определения CharacterCreationMenu.c:16
void ~CharacterCreationMenu()
Определения CharacterCreationMenu.c:162
override Widget Init()
Определения CharacterCreationMenu.c:77
override bool OnClick(Widget w, int x, int y, int button)
Определения CharacterCreationMenu.c:313
Widget m_DetailsRoot
Определения CharacterCreationMenu.c:20
void RandomizeCharacter()
Определения CharacterCreationMenu.c:231
void SetCharacter()
Определения CharacterCreationMenu.c:223
void ColorNormal(Widget w)
Определения ControlsXboxNew.c:463
ref OptionSelectorEditbox m_NameSelector
Определения CharacterCreationMenu.c:25
Widget m_PlayedCharacterInfo
Определения CharacterCreationMenu.c:18
Определения DayZGame.c:64
Определения EnWidgets.c:190
proto native CGame GetGame()
const int DEFAULT_CHARACTER_MENU_ID
Определения constants.c:982
const string DEFAULT_CHARACTER_NAME
Определения constants.c:980
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].
const int MENU_MAIN
Определения constants.c:182
static proto string Format(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
Gets n-th character from string.
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.
proto native void SetFocus(Widget w)
EInputDeviceType
Определения input.c:3
int ARGB(int a, int r, int g, int b)
Определения proto.c:322