DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
IngameHud.c
См. документацию.
1class IngameHud extends Hud
2{
3 protected const float FADE_IN_TIME = 0.3;
4 protected const float FADE_OUT_TIME = 0.3;
5 protected const float HIDE_MENU_TIME = 5;
6
8 protected ref map<int,ImageWidget> m_StatesWidgets; // [key] ImageWidget
9
10 protected ref map<ImageWidget, int> m_TendencyStatusCritical; //array of icons that are blinking due to critical tendency status
11 protected const float TENDENCY_BLINK_TIME = 0.25;
12 protected float m_BlinkTime;
13
17 protected ref map<int,ImageWidget> m_BadgesWidgets; // [key] ImageWidget
18 protected bool m_IsTemperatureVisible;
19 protected float m_TemperatureTimer;
20 protected float m_TemperatureShowTime = 30;
21 protected ImageWidget m_HeatBufferPlus;
22
23 protected bool m_IsStaminaVisible;
24 protected float m_StaminaTimer;
25 protected float m_StaminaShowTime = 0.15;
26
27 protected Widget m_HudPanelWidget; // always visible
30 protected ref InventoryQuickbar m_Quickbar;
31
34
36 protected ImageWidget m_HighPingA;
37 protected ImageWidget m_HighPingB;
38 protected ImageWidget m_LowServerPerfA;
39 protected ImageWidget m_LowServerPerfB;
40 protected ImageWidget m_ConnectionLost;
41
45 protected Widget m_Badges;
46 protected ref Timer m_HideTimer;
47 protected ref WidgetFadeTimer m_FadeTimerCrosshair;
48 protected ref WidgetFadeTimer m_FadeTimerActionCursor;
49// protected ref WidgetFadeTimer m_FadeTimerWeaponMode;
50// protected ref WidgetFadeTimer m_FadeTimerZeroing;
51 protected ref WidgetFadeTimer m_FadeTimerZeroingOld;
52 protected ref WidgetFadeTimer m_FadeTimerMagazineName;
53 protected ref WidgetFadeTimer m_FadeTimerWeaponName;
54 protected ref WidgetFadeTimer m_FadeTimerWeaponStats;
55 protected ref WidgetFadeTimer m_FadeTimerQuickbar;
56 protected ref WidgetFadeTimer m_FadeTimerWalkieTalkie;
57 protected ref WidgetFadeTimer m_FadeTimerWalkieTalkieText;
58
59 protected ProgressBarWidget m_Stamina;
61 protected Widget m_Presence;
72 protected ref Timer myTimer; //TEMP
80 protected ImageWidget m_CursorIcon;
82
86 protected Widget m_ActionItemQuantityWrapper
87 protected ImageWidget m_ActionHealthMark;
88 protected ProgressBarWidget m_ActionQuantityBar;
91 protected ImageWidget m_ActionIcon;
93
96
99
100 // CrossHairs
101 protected ImageWidget m_PermanentCrossHair;
102 protected bool m_ZeroingKeyPressed;
103
109
111
113 protected ref IngameHudVisibility m_HudVisibility;
114
119
121 {
122 m_FadeTimerCrosshair = new WidgetFadeTimer;
123 m_FadeTimerActionCursor = new WidgetFadeTimer;
124 m_FadeTimerQuickbar = new WidgetFadeTimer;
125 m_FadeTimerWalkieTalkie = new WidgetFadeTimer;
126 m_FadeTimerWalkieTalkieText = new WidgetFadeTimer;
127
128 m_StatesWidgets = new map<int, ImageWidget>; // [key] widgetName
130
132
133 m_BadgesWidgets = new map<int, ImageWidget>; // [key] widgetName
137
139
140 m_HudVisibility = new IngameHudVisibility();
141 }
142
143 override void Init( Widget hud_panel_widget )
144 {
145 m_HudVisibility.Init(hud_panel_widget);
146 m_HudPanelWidget = hud_panel_widget;
147
148 //Quickbar
149 m_QuickbarWidget = m_HudPanelWidget.FindAnyWidget("QuickbarGrid");
150 m_QuickbarWidget.Show( false );
151
152 //TEMPORARY HACK!!! player is not present when Hud is being initialized
154 myTimer.Run( 1, this, "InitQuickbar" );
155
156 m_CursorWidget = m_HudPanelWidget.FindAnyWidget("CursorIcons");
157 m_CursorWidget.Show(true);
158 Class.CastTo(m_CursorIcon, m_HudPanelWidget.FindAnyWidget("Cursor"));
159
160 //Permanent Crosshair
161 Class.CastTo(m_PermanentCrossHair, m_HudPanelWidget.FindAnyWidget("PermanentCrossHair"));
162
163 m_WalkieTalkie = m_HudPanelWidget.FindAnyWidget("WalkieTalkie");
164
165 //Panels
166 Class.CastTo(m_Stamina, m_HudPanelWidget.FindAnyWidget("StaminaBar"));
167 m_Presence = m_HudPanelWidget.FindAnyWidget("PresencePanel");
168 m_Badges = hud_panel_widget.FindAnyWidget("BadgesPanel");
169 m_Notifiers = m_HudPanelWidget.FindAnyWidget("NotifiersPanel");
170 m_BloodType = TextWidget.Cast( m_HudPanelWidget.FindAnyWidget("BloodType") );
171 m_BloodPosType = TextWidget.Cast( m_HudPanelWidget.FindAnyWidget("BloodPosType") );
172
173 // Init vehicle HUDs
174 m_VehicleHudPanels = m_HudPanelWidget.FindAnyWidget("VehicleHUDPanels");
175
176 CarHud carHud = new CarHud();
177 m_VehicleHudMap.Insert("VehicleTypeCar", carHud);
178
179 BoatHud boatHud = new BoatHud();
180 m_VehicleHudMap.Insert("VehicleTypeBoat", boatHud);
181
182 foreach (VehicleHudBase vehHud : m_VehicleHudMap)
183 {
184 vehHud.Init(m_VehicleHudPanels);
185 vehHud.HidePanel();
186 }
187
188 m_StaminaBackground = m_HudPanelWidget.FindAnyWidget("StaminaBackground");
189 m_StaminaBackground.Show(true);
190 m_StanceProne = m_HudPanelWidget.FindAnyWidget("StanceProne");
191 m_StanceCrouch = m_HudPanelWidget.FindAnyWidget("StanceCrouch");
192 m_StanceStand = m_HudPanelWidget.FindAnyWidget("StanceStand");
193 m_StanceStandWalk = m_HudPanelWidget.FindAnyWidget("StanceStandWalk");
194 m_StanceCar = m_HudPanelWidget.FindAnyWidget("StanceCar");
195
196 m_ActionTarget = m_HudPanelWidget.FindAnyWidget("ActionTargetsCursorWidget");
199
200 // heat buffer plus sign
201 m_HeatBufferPlus = ImageWidget.Cast( m_HudPanelWidget.FindAnyWidget( "HeatBuffer1" ) );
202
203 //Game State Icons
204 m_GameStatusIconsPanel = m_HudPanelWidget.FindAnyWidget("GameStatusIcons");
205 m_HighPingA = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("HighPingA"));
206 m_HighPingB = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("HighPingB"));
207 m_LowServerPerfA = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("LowServerPerfA"));
208 m_LowServerPerfB = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("LowServerPerfB"));
209 m_ConnectionLost = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget("ConnectionLost"));
210
211 if ( m_HeatBufferPlus )
212 m_HeatBufferPlus.Show( false );
213
214 #ifndef NO_GUI
216 m_Timer.Run(0.333, this, "RefreshQuickbar", NULL, true );
217 #endif
219
220 m_PresenceLevel0 = hud_panel_widget.FindAnyWidget("Presence0");
221 m_PresenceLevel1 = hud_panel_widget.FindAnyWidget("Presence1");
222 m_PresenceLevel2 = hud_panel_widget.FindAnyWidget("Presence2");
223 m_PresenceLevel3 = hud_panel_widget.FindAnyWidget("Presence3");
224 m_PresenceLevel4 = hud_panel_widget.FindAnyWidget("Presence4");
225 m_PresenceLevel0.Show( false );
226 m_PresenceLevel1.Show( false );
227 m_PresenceLevel2.Show( false );
228 m_PresenceLevel3.Show( false );
229 m_PresenceLevel4.Show( false );
230
231 if (!g_Game.GetProfileOption(EDayZProfilesOptions.HUD))
232 ShowHud(false);
233
234 if (!g_Game.GetProfileOption(EDayZProfilesOptions.HUD_VEHICLE))
236
237 MissionGameplay.Cast(GetGame().GetMission()).GetConnectivityInvoker().Insert(OnConnectionIconsSettingsChanged);
238 m_GameStatusIconsPanel.Show(g_Game.GetProfileOption(EDayZProfilesOptions.CONNECTIVITY_INFO));
239 //ShowQuickBar(GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() && g_Game.GetProfileOption(EDayZProfilesOptions.QUICKBAR)); //unreliable
240 }
241
243 {
244 // state notifiers
245 m_StatesWidgetNames.Clear();
246 m_StatesWidgets.Clear();
247 m_StatesWidgetNames.Set( NTFKEY_THIRSTY, "Thirsty" );
248 m_StatesWidgetNames.Set( NTFKEY_HUNGRY, "Hungry" );
249 m_StatesWidgetNames.Set( NTFKEY_SICK, "Health" );
250 m_StatesWidgetNames.Set( NTFKEY_BLEEDISH, "Blood" );
251 m_StatesWidgetNames.Set( NTFKEY_FEVERISH, "Temperature" );
252
253 m_Notifiers.Show( true );
254 m_Badges.Show( true );
255
256 int i = 0;
257 int key = 0;
258 for ( i = 0; i < m_StatesWidgetNames.Count(); i++ )
259 {
260 string widget_name = m_StatesWidgetNames.GetElement(i);
261 key = m_StatesWidgetNames.GetKey(i);
262 ImageWidget w;
263 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( "Icon" + widget_name ) ) );
264 m_StatesWidgets.Set( key, w );
265 w.Show( true );
266 for ( int y = 0; y < 5; y++ )
267 {
268 w.LoadImageFile( y, "set:dayz_gui image:icon" + widget_name + y );
269 }
270
271 w.SetImage( 0 );
272 float alpha = w.GetAlpha();
273 w.SetColor( ARGB( alpha * 255, 220, 220, 220 ) ); //white
274 m_TendencyStatusCritical.Remove( w );
275 // clear all arrows
276 for ( int x = 1; x < 4; x++ )
277 {
278 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( widget_name + "ArrowUp" + x.ToString() ) ) );
279 w.Show( false );
280 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( widget_name + "ArrowDown" + x.ToString() ) ) );
281 w.Show( false );
282 }
283
284
285 }
286
287 // badges
288 m_BadgesWidgetNames.Clear();
289 m_BadgesWidgets.Clear();
290 m_BadgesWidgetDisplay.Clear();
292
293 m_BadgesWidgetNames.Set( NTFKEY_FRACTURE, "Fracture" );
294 m_BadgesWidgetNames.Set( NTFKEY_STUFFED, "Stomach" );
295 m_BadgesWidgetNames.Set( NTFKEY_SICK, "Sick" );
296 m_BadgesWidgetNames.Set( NTFKEY_WETNESS, "Wetness" );
297 m_BadgesWidgetNames.Set( NTFKEY_POISONED, "Poisoned" );
298 m_BadgesWidgetNames.Set( NTFKEY_BLEEDISH, "Bleeding" );
299 m_BadgesWidgetNames.Set( NTFKEY_LIVES, "Shock" );
300 m_BadgesWidgetNames.Set( NTFKEY_PILLS, "Pills" );
301 m_BadgesWidgetNames.Set( NTFKEY_LEGS, "InjuredLegs" );
302
303 // any badges not included bellow are just ON/OFF
305
306 for ( i = 0; i < m_BadgesWidgetNames.Count(); i++ )
307 {
308 string badge_name = m_BadgesWidgetNames.GetElement( i);
309 key = m_BadgesWidgetNames.GetKey( i );
310 ImageWidget badge_widget;
311
312
313 Class.CastTo(badge_widget, m_Badges.FindAnyWidget( badge_name ) );
314
315 if (m_BadgesSupportedLevels.Contains(key))
316 {
317 int badgeCountMax = m_BadgesSupportedLevels.Get(key);
318
319 for ( int q = 0; q < badgeCountMax; q++ )
320 {
321 badge_widget.LoadImageFile( q, "set:dayz_gui image:icon" + badge_name + q );
322 }
323 }
324
325 m_BadgesWidgets.Set( key, badge_widget );
326 badge_widget.Show( false );
327 m_BadgesWidgetDisplay.Set( key, false );
328 }
329 m_HudVisibility.SetContextFlag(EHudContextFlags.NO_BADGE, true);
330 }
331
333 {
334 m_GameStatusIconsPanel.Show(enabled);
335 }
336
337 override void OnResizeScreen()
338 {
339 float x, y;
340 m_HudPanelWidget.GetScreenSize( x, y );
341 m_HudPanelWidget.Update();
342 m_Badges.Update();
343 m_Notifiers.SetPos( 0, 0 );
344 }
345
346 override void OnPlayerLoaded()
347 {
348 PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());
349 if (!player)
350 Error("OnPlayerLoaded: Cannot retreive player");
351
352 if (!player.IsUnconscious()) // uncon stop is not called when player respawns
354
355 player.GetOnUnconsciousStart().Insert(OnUnconsciousStart);
356 player.GetOnUnconsciousStop().Insert(OnUnconsciousStop);
357 }
358
359 protected void OnUnconsciousStart()
360 {
361 m_HudVisibility.SetContextFlag(EHudContextFlags.UNCONSCIOUS, true);
362 }
363
364 protected void OnUnconsciousStop()
365 {
366 m_HudVisibility.SetContextFlag(EHudContextFlags.UNCONSCIOUS, false);
367 }
368
369
370 override void Show( bool show )
371 {
372 m_HudPanelWidget.Show(show);
373 }
374
375 override void ShowWalkieTalkie( bool show )
376 {
379 m_WalkieTalkie.Show( show );
380 }
381
382 override void ShowWalkieTalkie( int fadeOutSeconds )
383 {
384 m_WalkieTalkie.Show(true);
387 m_FadeTimerWalkieTalkie.FadeOut( m_WalkieTalkie.FindAnyWidget("Icon") , fadeOutSeconds );
388 m_FadeTimerWalkieTalkieText.FadeOut( m_WalkieTalkie.FindAnyWidget("Text") , fadeOutSeconds );
389 }
390
391 override void SetWalkieTalkieText( string text )
392 {
393 TextWidget txt;
394 Class.CastTo(txt, m_WalkieTalkie.FindAnyWidget("Text"));
395 txt.SetText(text);
396 }
397
398 override void SetCursorIcon( string icon )
399 {
400 if ( icon.Length() == 0 || icon == CursorIcons.None )
401 m_CursorIcon.Show(false);
402 else
403 {
404 m_CursorIcon.LoadImageFile( 0, icon );
405 m_CursorIcon.Show(true);
406 }
407 }
408
409 override void ShowCursor()
410 {
411 m_CursorWidget.Show( true );
412 }
413
414 override void HideCursor()
415 {
416 m_CursorWidget.Show( false );
417 }
418
419 override void SetCursorIconScale( string type, float percentage )
420 {
421 float x, y;
422 m_CursorIcon.FindAnyWidget( type ).GetParent().GetSize( x, y );
423 m_CursorIcon.FindAnyWidget( type ).GetParent().SetSize( x * percentage, y * percentage );
424 }
425
426 override void SetCursorIconOffset( string type, float x, float y )
427 {
428 m_CursorIcon.FindAnyWidget( type ).GetParent().SetPos( x, y );
429 }
430
431 override void SetCursorIconSize( string type, float x, float y )
432 {
433 m_CursorIcon.FindAnyWidget( type ).GetParent().SetSize( x, y );
434 }
435
436#ifdef DIAG_DEVELOPER
437 // Debug Crosshair
438 override void SetPermanentCrossHair( bool show )
439 {
440 m_PermanentCrossHair.Show(show);
441 }
442#endif
443
444 override void DisplayNotifier( int key, int tendency, int status )
445 {
446 ImageWidget w;
447 if ( key == NTFKEY_FEVERISH )
448 {
449 DisplayTendencyTemp( key, tendency, status );
450 }
451 else
452 {
453 DisplayTendencyNormal( key, tendency, status );
454 }
455
456 // tendency arrows
457 string arrow_name = "ArrowUp";
458 if ( tendency < 0 )
459 {
460 arrow_name = "ArrowDown";
461 }
462 tendency = Math.AbsInt( tendency );
463
464 for ( int x = 1; x < 4; x++ )
465 {
466 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( m_StatesWidgetNames.Get( key ) + "ArrowUp" + x.ToString() ) ) );
467 if( w )
468 w.Show( false );
469 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( m_StatesWidgetNames.Get( key ) + "ArrowDown" + x.ToString() ) ) );
470 if( w )
471 w.Show( false );
472 }
473
474 if( tendency > 0 )
475 {
476 string widget_name = m_StatesWidgetNames.Get( key ) + arrow_name + Math.Clamp( tendency, 1, 3 );
477 Class.CastTo(w, m_Notifiers.FindAnyWidget( widget_name ) );
478 if( w )
479 w.Show( true );
480 }
481 }
482
483 void DisplayTendencyNormal( int key, int tendency, int status )
484 {
485 ImageWidget w;
486 Class.CastTo(w, m_Notifiers.FindAnyWidget( String( "Icon" + m_StatesWidgetNames.Get( key ) ) ) );
487
488 if( w )
489 {
490 w.SetImage( Math.Clamp( status - 1, 0, 4 ) );
491 float alpha = w.GetAlpha();
492
493 switch( status )
494 {
495 case 3:
496 w.SetColor( ARGB( alpha * 255, 220, 220, 0 ) ); //yellow
497 m_TendencyStatusCritical.Remove( w ); //remove from blinking group
498 break;
499 case 4:
500 w.SetColor( ARGB( alpha * 255, 220, 0, 0 ) ); //red
501 m_TendencyStatusCritical.Remove( w ); //remove from blinking group
502 break;
503 case 5:
504 if ( !m_TendencyStatusCritical.Contains( w ) )
505 {
506 m_TendencyStatusCritical.Insert( w, ARGB( alpha * 255, 220, 0, 0 ) ); //add to blinking group
507 }
508 break;
509 default:
510 w.SetColor( ARGB( alpha * 255, 220, 220, 220 ) ); //white
511 m_TendencyStatusCritical.Remove( w ); //remove from blinking group
512 break;
513 }
514 }
515 }
516
517 void DisplayTendencyTemp( int key, int tendency, int status )
518 {
519 ImageWidget w = ImageWidget.Cast( m_Notifiers.FindAnyWidget( String( "Icon" + m_StatesWidgetNames.Get( key ) ) ) );
520 TextWidget temp_top = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueTop" ) );
521 TextWidget temp_bot = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueBottom" ) );
522 //string temp = player..ToString() + "°C";
523 float alpha = w.GetAlpha();
524
525 if ( tendency < 0 )
526 {
527 temp_top.Show( true );
528 temp_bot.Show( false );
529 }
530 else
531 {
532 temp_top.Show( false );
533 temp_bot.Show( true );
534 }
535
536 switch( status )
537 {
538 case 2:
539 w.SetColor( ARGB( alpha * 255, 220, 220, 0 ) ); //WARNING_PLUS
540 m_TendencyStatusCritical.Remove( w );
541 w.SetImage( 1 );
542
543 break;
544 case 3:
545 w.SetColor( ARGB( alpha * 255, 220, 0, 0 ) ); //CRITICAL_PLUS
546 m_TendencyStatusCritical.Remove( w );
547 w.SetImage( 0 );
548 break;
549 case 4:
550 if ( !m_TendencyStatusCritical.Contains( w ) ) //BLINKING_PLUS
551 {
552 m_TendencyStatusCritical.Insert( w, ARGB( alpha * 255, 220, 0, 0 ) );
553 }
554 w.SetImage( 0 );
555 break;
556 case 5:
557 w.SetColor( ARGB( alpha * 255, 0, 206, 209 ) ); //WARNING_MINUS
558 m_TendencyStatusCritical.Remove( w );
559 w.SetImage( 3 );
560 break;
561 case 6:
562 w.SetColor( ARGB( alpha * 255, 30, 144, 220 ) ); //CRITICAL_MINUS
563 m_TendencyStatusCritical.Remove( w );
564 w.SetImage( 4 );
565 break;
566 case 7: //BLINKING_MINUS
567 if ( !m_TendencyStatusCritical.Contains( w ) )
568 {
569 m_TendencyStatusCritical.Insert( w, ARGB( alpha * 255, 30, 144, 220 ) );
570 }
571 w.SetImage( 4 );
572 break;
573 default:
574 w.SetColor( ARGB( alpha * 255, 220, 220, 220 ) ); //DEFAULT
575 m_TendencyStatusCritical.Remove( w );
576 w.SetImage( 2 );
577 break;
578 }
579 }
580
581 override void DisplayBadge( int key, int value )
582 {
583 TextWidget bleed_count = TextWidget.Cast( m_Badges.FindAnyWidget( "BleedingCount" ) );
584
585 m_BadgesWidgetDisplay.Set( key, value );
586 m_HudVisibility.SetContextFlag(EHudContextFlags.NO_BADGE, true);
587 for ( int i = 0; i < m_BadgesWidgetDisplay.Count(); i++ )
588 {
589 int badge_key = m_BadgesWidgetDisplay.GetKey( i );
590 int badge_value = m_BadgesWidgetDisplay.Get( badge_key );
591 string badge_name = m_BadgesWidgetNames.Get( badge_key );
592
593 ImageWidget badge_widget
594 Class.CastTo(badge_widget, m_Badges.FindAnyWidget( badge_name ) );
595 if ( badge_widget )
596 {
597 if ( badge_value > 0 )
598 {
599 if (m_BadgesSupportedLevels.Contains(badge_key))
600 {
601 int levelIndex = badge_value - 1;
602 int maxSupportedIndex = m_BadgesSupportedLevels.Get(badge_key) - 1;
603 if (maxSupportedIndex >= levelIndex)
604 badge_widget.SetImage(levelIndex);
605 }
606
607 badge_widget.Show( true );
608 m_HudVisibility.SetContextFlag(EHudContextFlags.NO_BADGE, false);
609 if( badge_key == NTFKEY_BLEEDISH )
610 {
611 bleed_count.Show( true );
612 bleed_count.SetText( m_BadgesWidgetDisplay.Get( badge_key ).ToString() );
613 }
614 }
615 else
616 {
617 if( badge_key == NTFKEY_BLEEDISH )
618 {
619 bleed_count.Show( false );
620 }
621 badge_widget.Show( false );
622 }
623 }
624 }
625 }
626
627 override void SetTemperature( string temp )
628 {
630 TextWidget temp_top = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueTop" ) );
631 TextWidget temp_bot = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueBottom" ) );
632 temp_top.SetText( temp );
633 temp_bot.SetText( temp );
635 }
636
638 {
640 TextWidget temp_top = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueTop" ) );
641 TextWidget temp_bot = TextWidget.Cast( m_Notifiers.FindAnyWidget( "TemperatureValueBottom" ) );
642 temp_top.SetText( "" );
643 temp_bot.SetText( "" );
645 }
646
647 override void SetStaminaBarVisibility( bool show )
648 {
649 //m_StaminaBackground.Show( show );
650 //m_Stamina.Show( show );
651 if ( show )
652 {
653 m_Stamina.SetAlpha(1);
654 //m_Stamina.SetTextColor( ColorManager.COLOR_NORMAL_TEXT );
655 }
656 else
657 {
658 m_Stamina.SetAlpha(0.3);
659 //m_Stamina.SetTextColor( ColorManager.RED_COLOR );
660 }
661
662 m_IsStaminaVisible = show;
663 m_StaminaTimer = 0;
664 }
665
666 // state 0 = empty
667 // state 1 = digesting
668 // state 2 = full
669 void SetStomachState( int state )
670 {
671 ImageWidget stomach = ImageWidget.Cast( m_Badges.FindAnyWidget( "Stomach" ) );
672 stomach.LoadImageFile( 0, "set:dayz_gui image:iconStomach" + state );
673 }
674
675 override void SetStamina( int value , int range )
676 {
677 float sx, sy;
678 float max = CfgGameplayHandler.GetStaminaMax();
679 float percentage = 1;
680 if (max != 0)
681 {
682 percentage = range / max;
683 }
684
685 if (range != 0)
686 {
687 m_Stamina.SetCurrent(( value / range ) * 100);
688 }
689 else
690 {
691 m_Stamina.SetCurrent(0);
692 }
693
694 m_Stamina.GetSize(sx, sy);
695 m_Stamina.SetSize(percentage, sy);
696 m_StaminaBackground.SetSize(1 - percentage, sy);
697
698 // set health & blood values
699 if (!GetGame().IsMultiplayer())
700 {
701 if (GetGame().GetPlayer())
702 {
703 PlayerBase player;
704 Class.CastTo(player, GetGame().GetPlayer());
705
706 if (player)
707 {
708 float h1 = player.GetHealth("","");
709 float b1 = player.GetHealth("","Blood");
710
711 GetDayZGame().GetBacklit().SetHealth(h1);
712 GetDayZGame().GetBacklit().SetBlood(b1);
713 }
714 }
715 }
716
717 // update backlit
718 GetDayZGame().GetBacklit().UpdatePlayer(false);
719 }
720
721 bool KeyPress(int key)
722 {
723 return false;
724 }
725
727 {
728 m_ZeroingKeyPressed = true;
729 }
730
731 override void DisplayStance( int stance )
732 {
733 PlayerBase player;
734 Class.CastTo(player, GetGame().GetPlayer() );
735 Car car;
736 if ( !Class.CastTo(car, player.GetDrivingVehicle()) )
737 {
738 if( stance == 1 )
739 {
740 bool is_walking;
741 m_StanceStand.Show(!is_walking);
742 m_StanceStandWalk.Show(is_walking);
743 m_StanceCrouch.Show(false);
744 m_StanceProne.Show(false);
745 m_StanceCar.Show( false );
746 }
747 if( stance == 2 )
748 {
749 m_StanceStand.Show(false);
750 m_StanceStandWalk.Show(false);
751 m_StanceCrouch.Show(true);
752 m_StanceProne.Show(false);
753 m_StanceCar.Show( false );
754 }
755 if( stance == 3 )
756 {
757 m_StanceStand.Show(false);
758 m_StanceStandWalk.Show(false);
759 m_StanceCrouch.Show(false);
760 m_StanceProne.Show(true);
761 m_StanceCar.Show( false );
762 }
763 }
764 else
765 {
766 m_StanceStand.Show(false);
767 m_StanceCrouch.Show(false);
768 m_StanceProne.Show(false);
769 m_StanceCar.Show( true );
770 }
771 }
772
773 override void DisplayPresence()
774 {
775 PlayerBase player;
776
777 if ( Class.CastTo(player, GetGame().GetPlayer()) )
778 {
779 int presence_level = player.GetNoisePresenceInAI();
780 m_PresenceLevel0.Show( false );
781 m_PresenceLevel1.Show( false );
782 m_PresenceLevel2.Show( false );
783 m_PresenceLevel3.Show( false );
784 m_PresenceLevel4.Show( false );
785
786 if ( presence_level > 0 )
787 {
788 m_PresenceLevel0.Show( true );
789 }
790 if ( presence_level > 1 )
791 {
792 m_PresenceLevel1.Show( true );
793 }
794 if ( presence_level > 2 )
795 {
796 m_PresenceLevel2.Show( true );
797 }
798 if ( presence_level > 3 )
799 {
800 m_PresenceLevel3.Show( true );
801 }
802 if ( presence_level > 4 )
803 {
804 m_PresenceLevel4.Show( true );
805 }
806 }
807 }
808
809 override void ShowVehicleInfo()
810 {
811 PlayerBase currentPlayer = PlayerBase.Cast(GetGame().GetPlayer());
812 if (!currentPlayer)
813 return;
814
815 Transport vehicle = Transport.Cast(currentPlayer.GetDrivingVehicle());
816 if (!vehicle)
817 return;
818
819 VehicleHudBase vehHud = m_VehicleHudMap.Get(vehicle.GetVehicleType());
820 if (vehHud)
821 {
822 vehHud.ShowVehicleInfo(currentPlayer);
823 m_ActiveVehicleHUD = vehHud;
824 m_ActiveVehicleHUD.ShowPanel();
825 ShowVehicleHud(true);
826 }
827 }
828
829 override void HideVehicleInfo()
830 {
832 {
833 ShowVehicleHud(false);
834 m_ActiveVehicleHUD.HideVehicleInfo();
835 m_ActiveVehicleHUD.HidePanel();
836 m_ActiveVehicleHUD = null;
837 return;
838 }
839 }
840
841 void RefreshVehicleHud(float timeslice)
842 {
843 DayZPlayer currentPlayer = GetGame().GetPlayer();
844 if (!currentPlayer)
845 return;
846
847 HumanCommandVehicle cmdVehicle = currentPlayer.GetCommand_Vehicle();
848 if (cmdVehicle && cmdVehicle.GetTransport())
849 {
850 if (!m_HudVisibility.IsContextFlagActive(EHudContextFlags.VEHICLE))
851 m_HudVisibility.SetContextFlag(EHudContextFlags.VEHICLE, true);
852 }
853 else if (m_HudVisibility.IsContextFlagActive(EHudContextFlags.VEHICLE))
854 m_HudVisibility.SetContextFlag(EHudContextFlags.VEHICLE, false);
855
857 m_ActiveVehicleHUD.RefreshVehicleHud(timeslice);
858 }
859
861 {
862 if (m_Quickbar == NULL)
863 {
864 m_Quickbar = new InventoryQuickbar( m_QuickbarWidget );
865 }
866 }
867
868 InventoryQuickbar GetQuickbar()
869 {
870 return m_Quickbar;
871 }
872
873 IngameHudVisibility GetHudVisibility()
874 {
875 return m_HudVisibility;
876 }
877
879 {
880 #ifdef PLATFORM_CONSOLE
881 ShowQuickBar(GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer());
882 #else
883 ShowQuickBar(g_Game.GetProfileOption(EDayZProfilesOptions.QUICKBAR));
884 #endif
885 }
886
887 // disable quick bar visibility in options
888 override void ShowQuickbarUI( bool show )
889 {
890 m_HudVisibility.SetContextFlag(EHudContextFlags.QUICKBAR_DISABLE, !show);
891 }
892
893 // hide quick bar
894 override void ShowQuickbarPlayer( bool show )
895 {
896 m_HudVisibility.SetContextFlag(EHudContextFlags.QUICKBAR_HIDE, !show);
897 }
898
899 // hide left HUD elements
900 override void ShowHudPlayer( bool show )
901 {
902 m_HudVisibility.SetContextFlag(EHudContextFlags.HUD_HIDE, !show);
903 }
904
905 // set visibility of left/right HUD when another menu opens/closes
906 override void ShowHudUI( bool show )
907 {
908 m_HudVisibility.SetContextFlag(EHudContextFlags.MENU_OPEN, !show);
909 }
910
911 // switches with inventory open in cases where UI is otherwise hidden
912 override void ShowHudInventory( bool show )
913 {
914 m_HudVisibility.SetContextFlag(EHudContextFlags.INVENTORY_OPEN, show);
915 }
916
918 override void ShowQuickBar( bool show )
919 {
920 m_HudVisibility.SetContextFlag(EHudContextFlags.QUICKBAR_GLOBAL, !show);
921 }
922
923 // disable HUD through options menu
924 override void ShowHud( bool show )
925 {
926 m_HudVisibility.SetContextFlag(EHudContextFlags.HUD_DISABLE, !show);
927 ShowHudPlayer(true);
928 }
929
931 void ShowVehicleHud(bool state)
932 {
933 m_HudVisibility.SetContextFlag(EHudContextFlags.DRIVER, state);
934 }
935
937 void SetVehicleHudDisabled(bool state)
938 {
939 m_HudVisibility.SetContextFlag(EHudContextFlags.VEHICLE_DISABLE, state);
940 }
941
942 override void SetConnectivityStatIcon(EConnectivityStatType type, EConnectivityStatLevel level)
943 {
944 if (type == EConnectivityStatType.PING)
945 {
946 switch (level)
947 {
948 case EConnectivityStatLevel.OFF:
949 m_HighPingA.Show(false);
950 m_HighPingB.Show(false);
951 break;
952 case EConnectivityStatLevel.LEVEL1:
953 m_HighPingA.Show(true);
954 m_HighPingB.Show(false);
955 break;
956 case EConnectivityStatLevel.LEVEL2:
957 m_HighPingA.Show(false);
958 m_HighPingB.Show(true);
959 break;
960 }
961 }
962 else if (type == EConnectivityStatType.SERVER_PERF)
963 {
964 switch (level)
965 {
966 case EConnectivityStatLevel.OFF:
967 m_LowServerPerfA.Show(false);
968 m_LowServerPerfB.Show(false);
969 break;
970 case EConnectivityStatLevel.LEVEL1:
971 m_LowServerPerfA.Show(true);
972 m_LowServerPerfB.Show(false);
973 break;
974 case EConnectivityStatLevel.LEVEL2:
975 m_LowServerPerfA.Show(false);
976 m_LowServerPerfB.Show(true);
977 break;
978 }
979 }
980 else if (type == EConnectivityStatType.CONN_LOST)
981 {
982 switch (level)
983 {
984 case EConnectivityStatLevel.OFF:
985 m_ConnectionLost.Show(false);
986 break;
987 case EConnectivityStatLevel.LEVEL1:
988 m_ConnectionLost.Show(true);
989 break
990 }
991 }
992 }
993
994 override void RefreshQuickbar( bool itemChanged = false )
995 {
996 if (!itemChanged && !m_HudVisibility.IsElementVisible(EHudElement.QUICKBAR)) // Don't update when it is hidden or disabled
997 return;
998
999 if ( itemChanged )
1000 {
1001 UIManager manager = GetGame().GetUIManager();
1002
1003 InventoryMenu inventory = InventoryMenu.Cast(manager.FindMenu( MENU_INVENTORY ));
1004 MissionGameplay mission = MissionGameplay.Cast(GetGame().GetMission());
1005
1006 if ( mission )
1007 {
1008 inventory = mission.GetInventory();
1009 }
1010
1011 if ( inventory )
1012 {
1013 inventory.RefreshQuickbar();
1014 }
1015 }
1016
1017 if ( m_Quickbar )
1018 {
1019 m_Quickbar.UpdateItems( m_QuickbarWidget );
1020 }
1021 }
1022
1024 {
1025 return m_HudPanelWidget;
1026 }
1027
1028 override void UpdateBloodName()
1029 {
1030 PlayerBase player;
1031 Class.CastTo(player, GetGame().GetPlayer() );
1032
1033 if( player )
1034 {
1035 string blood_name;
1036 bool positive;
1037 BloodTypes.GetBloodTypeName( player.GetBloodType(), blood_name, positive );
1038 bool blood_type_visible = player.HasBloodTypeVisible();
1039
1040 if( blood_type_visible )
1041 {
1042 m_BloodType.SetText( blood_name );
1043 if( positive )
1044 m_BloodPosType.SetText( "+" );
1045 else
1046 m_BloodPosType.SetText( "-" );
1047 }
1048 else
1049 {
1050 m_BloodType.SetText( "" );
1051 m_BloodPosType.SetText( "" );
1052 }
1053 }
1054 }
1055
1057 {
1058 if( GetGame().GetPlayer() )
1059 {
1060 bool found = false;
1062 float distance;
1063 foreach( Man player : ClientData.m_PlayerBaseList )
1064 {
1065 vector target_player = player.GetPosition();
1066 distance = vector.Distance( head_pos, target_player );
1067
1068 target_player[1] = target_player[1] + 1.2;
1069
1070 if( distance <= 15 && player != GetGame().GetPlayer() )
1071 {
1072 vector screen_pos = GetGame().GetScreenPosRelative( target_player );
1073 vector end_pos = head_pos + GetGame().GetCurrentCameraDirection() * 25;
1074 RaycastRVParams params = new RaycastRVParams( head_pos, end_pos, GetGame().GetPlayer(), 0 );
1075 params.sorted = true;
1076
1078 DayZPhysics.RaycastRVProxy( params, results );
1079 if( results.Count() > 0 )
1080 {
1081 if( results.Get( 0 ).obj == player )
1082 {
1083 m_CurrentTaggedPlayer = PlayerBase.Cast( player );
1084 found = true;
1085 }
1086 }
1087 }
1088 }
1089 if( !found )
1090 {
1091 m_CurrentTaggedPlayer = null;
1092 }
1093 }
1094 }
1095
1096 void ShowPlayerTag( float timeslice )
1097 {
1098 if ( m_CurrentTaggedPlayer && m_CurrentTaggedPlayer.GetIdentity() )
1099 {
1100 if ( !m_PlayerTag )
1101 {
1102 m_PlayerTag = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/hud/hud_player_tag.layout");
1103 m_PlayerTagText = TextWidget.Cast( m_PlayerTag.FindAnyWidget( "TagText" ) );
1104 }
1105 m_PlayerSpineIndex = m_CurrentTaggedPlayer.GetBoneIndex( "Spine2" );
1106 vector player_pos = m_CurrentTaggedPlayer.GetBonePositionWS( m_PlayerSpineIndex );
1107 vector screen_pos = GetGame().GetScreenPosRelative( player_pos );
1108
1109 if ( screen_pos[2] > 0 )
1110 {
1111 if ( screen_pos[0] > 0 && screen_pos[0] < 1 )
1112 {
1113 if ( screen_pos[1] > 0 && screen_pos[1] < 1 )
1114 {
1115 m_PlayerTagText.SetAlpha( Math.Clamp( m_PlayerTagText.GetAlpha() + timeslice * 10, 0, 1 ) );
1116 m_PlayerTag.SetPos( 0.55, 0.55 );
1117 m_PlayerTagText.SetText( m_CurrentTaggedPlayer.GetIdentity().GetPlainName() );
1118
1119 //m_PlayerTagText.SetSize( 1, 1 - screen_pos[2] / 25 );
1120 return;
1121 }
1122 }
1123 }
1124 }
1125
1126 if ( m_PlayerTag )
1127 {
1128 float new_alpha = Math.Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 );
1129 m_PlayerTagText.SetAlpha( Math.Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 ) );
1130 if ( new_alpha == 0 )
1131 {
1132 m_PlayerTagText.SetText( "" );
1133 m_CurrentTaggedPlayer = null;
1134 }
1135 }
1136 }
1137
1138 override void Update( float timeslice )
1139 {
1140 super.Update( timeslice );
1141
1142 m_ActionTargetsCursor.Update();
1144 //
1145 //modifiers - tendency status (critical)
1147 {
1148 //get color & alpha
1149 if ( m_TendencyStatusCritical.Count() > 0 )
1150 {
1151 for ( int i = 0; i < m_TendencyStatusCritical.Count(); ++i )
1152 {
1153
1154 ImageWidget widget = m_TendencyStatusCritical.GetKey( i );
1155 int alpha = widget.GetAlpha() * 255;
1156 int color;
1157 int colorA = ARGB( alpha, 255, 255, 255 );
1158 int colorB = m_TendencyStatusCritical.Get( widget );
1159
1160 //set new color to different color
1161 if ( widget.GetColor() == colorA )
1162 {
1163 color = colorB;
1164 }
1165 else
1166 {
1167 color = colorA;
1168 }
1169
1170 widget.SetColor( color );
1171 }
1172 }
1173
1174 m_BlinkTime = 0; //reset
1175 }
1176 else
1177 {
1178 m_BlinkTime += timeslice;
1179 }
1180
1182 {
1183 m_TemperatureTimer += timeslice;
1185 {
1187 }
1188 }
1189
1190 if ( !m_IsStaminaVisible )
1191 {
1192 m_StaminaTimer += timeslice;
1194 {
1196 }
1197
1198 }
1199
1200 if ( m_HitDirEffectArray && m_HitDirEffectArray.Count() > 0 )
1201 {
1202 UpdateHitDirEffects(timeslice);
1204 }
1205
1206 RefreshVehicleHud(timeslice);
1207
1208 if (!m_HudVisibility.IsContextFlagActive(IngameHudVisibility.HUD_HIDE_FLAGS) && m_HeatBufferUI && m_HeatBufferUI.CanUpdate())
1209 m_HeatBufferUI.Update(timeslice);
1210
1211 #ifdef PLATFORM_PS4
1213 ShowPlayerTag(timeslice);
1214 #endif
1215 }
1216
1217 override void SpawnHitDirEffect(DayZPlayer player, float hit_direction,float intensity_max)
1218 {
1220 {
1221 return;
1222 }
1223
1224 if (m_HitDirEffectArray == null)
1225 {
1227 }
1229 hiteff.Init(player,hit_direction,intensity_max);
1230 m_HitDirEffectArray.Insert(hiteff);
1231 }
1232
1233 void UpdateHitDirEffects( float timeslice )
1234 {
1235 for (int i = 0; i < m_HitDirEffectArray.Count(); i++)
1236 {
1237 m_HitDirEffectArray[i].Update(timeslice);
1238 }
1239 }
1240
1242 {
1243 for (int i = m_HitDirEffectArray.Count() - 1; i > -1; i--)
1244 {
1245 if ( m_HitDirEffectArray[i].DurationCheck() )
1246 {
1247 m_HitDirEffectArray.Remove(i);
1248 }
1249 }
1250 }
1251
1252 override void InitHeatBufferUI(Man player)
1253 {
1255 }
1256
1257 void Debug()
1258 {
1259 foreach (int val:m_BadgesWidgetDisplay)
1260 {
1261 int key = m_BadgesWidgetDisplay.GetKeyByValue(val);
1262 Print(EnumTools.EnumToString(eDisplayElements, key));
1263 Print(val);
1264 Print("---------------------");
1265 }
1266 }
1267
1268//------------------------------------------
1269//ye olde unused methods
1270// everything below is DEPRECATED
1271
1279 protected bool m_VehicleHudState;
1280 protected bool m_VehicleHudDisabled;
1282 protected bool m_AnyBadgeVisible;
1283 protected bool m_IsQuickbarVisible;
1284 protected bool m_QuickbarHideUI;
1285 protected bool m_QuickbarHidePlayer;
1286 protected bool m_QuickbarState;
1287 protected bool m_HudHideUI;
1288 protected bool m_HudHidePlayer;
1289 protected bool m_HudInventory;
1290 protected bool m_HudState;
1291 protected bool m_IsHudVisible;
1292 protected bool m_Faded;
1293 protected bool m_IsInVehicle;
1299
1300 //DEPRECATED
1305 void UpdateSpecialtyMeter(float x, float y);
1306 void SetLeftStatsVisibility(bool visible);
1307 bool IsQuickbarVisible(){return false;}
1308 bool IsHideQuickbarPlayer(){return false;}
1309 bool GetQuickBarState(){return false;}
1310 bool IsHudVisible(){return false;}
1311 bool IsHideHudPlayer(){return false;}
1312 bool GetHudState(){return false;}
1313}
const int NTFKEY_LIVES
Определения _constants.c:44
const int NTFKEY_WETNESS
Определения _constants.c:36
const int NTFKEY_POISONED
Определения _constants.c:46
const int NTFKEY_PILLS
Определения _constants.c:47
const int NTFKEY_SICK
Определения _constants.c:40
enum eBadgeLevel NTFKEY_THIRSTY
const int NTFKEY_HUNGRY
Определения _constants.c:34
const int NTFKEY_FRACTURE
Определения _constants.c:37
const int NTFKEY_BLEEDISH
Определения _constants.c:42
const int NTFKEY_LEGS
Определения _constants.c:49
const int NTFKEY_FEVERISH
Определения _constants.c:39
const int NTFKEY_STUFFED
Определения _constants.c:41
map
Определения ControlsXboxNew.c:4
DayZGame g_Game
Определения DayZGame.c:3868
DayZGame GetDayZGame()
Определения DayZGame.c:3870
Mission mission
Определения DisplayStatus.c:28
EDayZProfilesOptions
Определения EDayZProfilesOptions.c:2
EConnectivityStatType
Определения EGameStateIcons.c:2
Icon x
Icon y
EHudElement
Определения IngameHudVisibility.c:3
void InventoryMenu()
Определения InventoryMenu.c:20
PlayerBase GetPlayer()
Определения ModifierBase.c:51
static string GetBloodTypeName(int bloodtype, out string type, out bool positive)
Определения BloodType.c:89
Определения BloodType.c:2
Определения BoatHud.c:3
proto native UIManager GetUIManager()
proto native vector GetScreenPosRelative(vector world_pos)
Transforms position in world to position in screen in percentage (0.0 - 1.0) as x,...
proto native DayZPlayer GetPlayer()
proto native WorkspaceWidget GetWorkspace()
proto native vector GetCurrentCameraPosition()
proto native vector GetCurrentCameraDirection()
Определения CarHud.c:3
static float GetStaminaMax()
Определения CfgGameplayHandler.c:207
Super root of all classes in Enforce script.
Определения EnScript.c:11
static ref array< Man > m_PlayerBaseList
Определения ClientData.c:7
Определения ClientData.c:2
const string None
Определения gameplay.c:592
Определения gameplay.c:591
static proto bool RaycastRVProxy(notnull RaycastRVParams in, out notnull array< ref RaycastRVResult > results, array< Object > excluded=null)
Определения DayZPhysics.c:124
static string EnumToString(typename e, int enumValue)
Return string name of enum value.
Определения EnConvert.c:601
Определения EnConvert.c:590
static int m_Mode
Определения HitDirectionBase.c:170
void Init(DayZPlayer player, float hit_direction, float intensity_max)
Called manually after object spawn.
Определения HitDirectionBase.c:45
static GetCurrentType()
Определения HitDirectionBase.c:206
void RefreshVehicleHud(float timeslice)
Определения IngameHud.c:841
void RefreshVehicleHudVisibility()
ref WidgetFadeTimer m_FadeTimerWalkieTalkieText
Определения IngameHud.c:57
bool IsHudVisible()
Определения IngameHud.c:1310
Widget m_StaminaBackground
Определения IngameHud.c:60
ref array< ref HitDirectionEffectBase > m_HitDirEffectArray
Определения IngameHud.c:110
bool m_VehicleHudDisabled
Определения IngameHud.c:1280
TextWidget m_PlayerTagText
Определения IngameHud.c:118
float m_StaminaTimer
Определения IngameHud.c:24
bool m_HudState
Определения IngameHud.c:1290
void ShowPlayerTag(float timeslice)
Определения IngameHud.c:1096
Widget m_PlayerTag
Определения IngameHud.c:117
TextWidget m_ActionItemDesc
Определения IngameHud.c:85
ref IngameHudHeatBuffer m_HeatBufferUI
Определения IngameHud.c:112
bool m_VehicleHudState
Определения IngameHud.c:1279
override void HideVehicleInfo()
Определения IngameHud.c:829
void SetLeftStatsVisibility(bool visible)
TextWidget m_ActionButtonText
Определения IngameHud.c:92
ref map< ImageWidget, int > m_TendencyStatusCritical
Определения IngameHud.c:10
ref array< VehicleHudBase > m_VehicleHudArray
Определения IngameHud.c:1294
void RefreshHudVisibility()
bool m_ZeroingKeyPressed
Определения IngameHud.c:102
override void ShowVehicleInfo()
Определения IngameHud.c:809
override void SetTemperature(string temp)
Определения IngameHud.c:627
override void DisplayNotifier(int key, int tendency, int status)
Определения IngameHud.c:444
ref map< int, string > m_StatesWidgetNames
Определения IngameHud.c:7
override void OnResizeScreen()
Определения IngameHud.c:337
const float FADE_IN_TIME
Определения IngameHud.c:3
bool m_QuickbarState
Определения IngameHud.c:1286
int m_PlayerSpineIndex
Определения IngameHud.c:115
TextWidget m_ActionDesc
Определения IngameHud.c:84
float m_BlinkTime
Определения IngameHud.c:12
override void DisplayBadge(int key, int value)
Определения IngameHud.c:581
Widget m_WalkieTalkie
Определения IngameHud.c:81
void Debug()
Определения IngameHud.c:1257
Widget m_CursorWidget
Определения IngameHud.c:79
override void ShowHudPlayer(bool show)
Определения IngameHud.c:900
bool m_IsInVehicle
Определения IngameHud.c:1293
ref InventoryQuickbar m_Quickbar
Определения IngameHud.c:30
bool m_QuickbarHidePlayer
Определения IngameHud.c:1285
override void ShowHud(bool show)
Определения IngameHud.c:924
Widget m_ActionTarget
Определения IngameHud.c:97
const float FADE_OUT_TIME
Определения IngameHud.c:4
Widget m_VehicleHudPanels
Определения IngameHud.c:29
Widget m_PlayerPanelWidget
Определения IngameHud.c:1274
TextWidget m_BloodPosType
Определения IngameHud.c:44
override void ShowHudInventory(bool show)
Определения IngameHud.c:912
override void ShowWalkieTalkie(int fadeOutSeconds)
Определения IngameHud.c:382
Widget m_PresenceLevel1
Определения IngameHud.c:68
void SetPermanentCrossHair(bool show)
Определения gameplay.c:678
ImageWidget m_LowServerPerfA
Определения IngameHud.c:38
void ShowVehicleHud(bool state)
enter/exit driver seat
Определения IngameHud.c:931
ref WidgetFadeTimer m_FadeTimerActionCursor
Определения IngameHud.c:48
bool m_VehicleHasCoolant
Определения IngameHud.c:1298
Widget m_ActionQuantityBox
Определения IngameHud.c:89
void DisplayPresence()
Определения gameplay.c:646
override void SetCursorIcon(string icon)
Определения IngameHud.c:398
bool m_AnyBadgeVisible
Определения IngameHud.c:1282
ref WidgetFadeTimer m_FadeTimerWeaponName
Определения IngameHud.c:53
float m_TimeSinceLastEngineLightChange
Определения IngameHud.c:1296
Widget m_SpecializationIcon
Определения IngameHud.c:1277
ImageWidget m_PermanentCrossHair
Определения IngameHud.c:101
Widget m_RadialProgressBarCrossHair
Определения IngameHud.c:77
const float TENDENCY_BLINK_TIME
Определения IngameHud.c:11
override void UpdateBloodName()
Определения IngameHud.c:1028
override void ShowWalkieTalkie(bool show)
Определения IngameHud.c:375
Widget m_ActionMultipleItemsFrame
Определения IngameHud.c:95
bool m_VehicleHasOil
Определения IngameHud.c:1297
override void Init(Widget hud_panel_widget)
Определения IngameHud.c:143
Widget m_Presence
Определения IngameHud.c:61
ref map< int, ImageWidget > m_BadgesWidgets
Определения IngameHud.c:17
override void ShowHudUI(bool show)
Определения IngameHud.c:906
override void SetConnectivityStatIcon(EConnectivityStatType type, EConnectivityStatLevel level)
Определения IngameHud.c:942
Widget m_PresenceLevel0
Определения IngameHud.c:67
void RefreshPlayerTags()
Определения IngameHud.c:1056
Widget m_HudPanelWidget
Определения IngameHud.c:27
bool GetHudState()
Определения IngameHud.c:1312
TextWidget m_BloodType
Определения IngameHud.c:43
void UpdateSpecialtyMeter(float x, float y)
override void HideCursor()
Определения IngameHud.c:414
void ShowHud(bool show)
ref WidgetFadeTimer m_FadeTimerZeroingOld
Определения IngameHud.c:51
bool IsHideHudPlayer()
Определения IngameHud.c:1311
ImageWidget m_ConnectionLost
Определения IngameHud.c:40
override void DisplayStance(int stance)
Определения IngameHud.c:731
float m_StaminaShowTime
Определения IngameHud.c:25
Widget m_StancePanel
Определения IngameHud.c:1275
bool m_IsTemperatureVisible
Определения IngameHud.c:18
Widget m_HitIndicatorLeft
Определения IngameHud.c:106
ref array< ref WidgetFadeTimer > m_FadeTimers
Определения IngameHud.c:73
ImageWidget m_HighPingB
Определения IngameHud.c:37
void OnConnectionIconsSettingsChanged(bool enabled)
Определения IngameHud.c:332
const float HIDE_MENU_TIME
Определения IngameHud.c:5
Widget m_PresenceLevel3
Определения IngameHud.c:70
ref map< int, int > m_BadgesSupportedLevels
Определения IngameHud.c:15
Widget m_MouseContinuousAction
Определения IngameHud.c:75
ref map< int, int > m_BadgesWidgetDisplay
Определения IngameHud.c:16
bool m_HudHideUI
Определения IngameHud.c:1287
bool m_IsVehicleHudVisible
Определения IngameHud.c:1281
Widget m_QuickbarWidget
Определения IngameHud.c:28
void ZeroingKeyPress()
Определения IngameHud.c:726
IngameHudVisibility GetHudVisibility()
Определения IngameHud.c:873
TextWidget m_ActionQuantityBoxText
Определения IngameHud.c:90
void OnUnconsciousStop()
Определения IngameHud.c:364
ActionTargetsCursor m_ActionTargetsCursor
Определения IngameHud.c:98
Widget m_ActionWidget
Определения IngameHud.c:83
ref IngameHudVisibility m_HudVisibility
Определения IngameHud.c:113
override void SetCursorIconScale(string type, float percentage)
Определения IngameHud.c:419
Widget m_StanceStandWalk
Определения IngameHud.c:64
void HideTemperature()
Определения IngameHud.c:637
ref map< int, string > m_BadgesWidgetNames
Определения IngameHud.c:14
void SetStomachState(int state)
Определения IngameHud.c:669
Widget m_RadialProgressBar
Определения IngameHud.c:78
void HideQuickbarTimer()
bool m_QuickbarHideUI
Определения IngameHud.c:1284
ref Timer m_Timer
Определения gameplay.c:640
Widget m_HitIndicatorSingle
Определения IngameHud.c:108
Widget m_StanceStand
Определения IngameHud.c:63
Widget m_BadgeNotifierDivider
Определения IngameHud.c:1278
void IngameHud()
Определения IngameHud.c:120
override void ShowQuickbarPlayer(bool show)
Определения IngameHud.c:894
Widget m_StanceCar
Определения IngameHud.c:66
override void DisplayPresence()
Определения IngameHud.c:773
void DisplayTendencyTemp(int key, int tendency, int status)
Определения IngameHud.c:517
void SetStaminaBarVisibility(bool show)
ImageWidget m_CursorIcon
Определения IngameHud.c:80
ref map< int, ImageWidget > m_StatesWidgets
Определения IngameHud.c:8
ProgressBarWidget m_ActionQuantityBar
Определения IngameHud.c:88
float m_TemperatureShowTime
Определения IngameHud.c:20
ImageWidget m_LowServerPerfB
Определения IngameHud.c:39
void InitQuickbar()
Определения IngameHud.c:860
void UpdateHitDirEffects(float timeslice)
Определения IngameHud.c:1233
void SetVehicleHudDisabled(bool state)
disable vehicle HUD through options menu
Определения IngameHud.c:937
ref WidgetFadeTimer m_FadeTimerWeaponStats
Определения IngameHud.c:54
Widget m_MouseSingleAction
Определения IngameHud.c:74
void ShowQuickBar(bool show)
ref WidgetFadeTimer m_FadeTimerMagazineName
Определения IngameHud.c:52
void DisplayTendencyNormal(int key, int tendency, int status)
Определения IngameHud.c:483
Widget m_SpecializatonPanel
Определения IngameHud.c:1276
override void ShowQuickbarUI(bool show)
Определения IngameHud.c:888
bool m_HudHidePlayer
Определения IngameHud.c:1288
bool m_IsStaminaVisible
Определения IngameHud.c:23
override void SetStamina(int value, int range)
Определения IngameHud.c:675
Widget m_PresenceLevel2
Определения IngameHud.c:69
ref WidgetFadeTimer m_FadeTimerQuickbar
Определения IngameHud.c:55
Widget m_HitIndicatorDown
Определения IngameHud.c:105
Widget m_Badges
Определения IngameHud.c:45
override void SetCursorIconOffset(string type, float x, float y)
Определения IngameHud.c:426
InventoryQuickbar GetQuickbar()
Определения IngameHud.c:868
ref WidgetFadeTimer m_FadeTimerCrosshair
Определения IngameHud.c:47
ProgressBarWidget m_Stamina
Определения IngameHud.c:59
ImageWidget m_HeatBufferPlus
Определения IngameHud.c:21
float m_TemperatureTimer
Определения IngameHud.c:19
ImageWidget m_ActionIcon
Определения IngameHud.c:91
bool m_HudInventory
Определения IngameHud.c:1289
int m_VehicleGearCount
Определения IngameHud.c:1295
Widget GetHudPanelWidget()
Определения IngameHud.c:1023
bool IsQuickbarVisible()
Определения IngameHud.c:1307
bool m_IsHudVisible
Определения IngameHud.c:1291
override void ShowQuickBar(bool show)
global setting -> used to determine visibility based on platform
Определения IngameHud.c:918
void OnUnconsciousStart()
Определения IngameHud.c:359
Widget m_PresenceLevel4
Определения IngameHud.c:71
ref map< string, ref VehicleHudBase > m_VehicleHudMap
Определения IngameHud.c:33
VehicleHudBase m_ActiveVehicleHUD
Определения IngameHud.c:32
Widget m_RadialProgressBar1
Определения IngameHud.c:76
bool m_Faded
Определения IngameHud.c:1292
void ShowHudPlayer(bool show)
Widget m_VehiclePanel
Определения IngameHud.c:1272
override void ShowCursor()
Определения IngameHud.c:409
override void RefreshQuickbar(bool itemChanged=false)
Определения IngameHud.c:994
ref Timer myTimer
Определения IngameHud.c:72
override void InitHeatBufferUI(Man player)
Определения IngameHud.c:1252
ref WidgetFadeTimer m_FadeTimerWalkieTalkie
Определения IngameHud.c:56
Widget m_StanceProne
Определения IngameHud.c:62
Widget m_GameStatusIconsPanel
Определения IngameHud.c:35
override void SetStaminaBarVisibility(bool show)
Определения IngameHud.c:647
Widget m_HitIndicatorRight
Определения IngameHud.c:107
bool m_IsQuickbarVisible
Определения IngameHud.c:1283
void InitBadgesAndNotifiers()
Определения IngameHud.c:242
override void Show(bool show)
Определения IngameHud.c:370
override void Update(float timeslice)
Определения IngameHud.c:1138
override void OnPlayerLoaded()
Определения IngameHud.c:346
Widget m_LeftHudPanelWidget
Определения IngameHud.c:1273
void RefreshQuickbarVisibility()
bool IsHideQuickbarPlayer()
Определения IngameHud.c:1308
override void SpawnHitDirEffect(DayZPlayer player, float hit_direction, float intensity_max)
Определения IngameHud.c:1217
PlayerBase m_CurrentTaggedPlayer
Определения IngameHud.c:116
ImageWidget m_HighPingA
Определения IngameHud.c:36
Widget m_ActionIconFrame
Определения IngameHud.c:94
void CleanupHitDirEffects()
Определения IngameHud.c:1241
Widget m_StanceCrouch
Определения IngameHud.c:65
override void UpdateQuickbarGlobalVisibility()
Определения IngameHud.c:878
Widget m_HitIndicatorUp
Определения IngameHud.c:104
bool KeyPress(int key)
Определения IngameHud.c:721
override void SetWalkieTalkieText(string text)
Определения IngameHud.c:391
Widget m_Notifiers
Определения IngameHud.c:42
bool GetQuickBarState()
Определения IngameHud.c:1309
override void SetCursorIconSize(string type, float x, float y)
Определения IngameHud.c:431
ref Timer m_HideTimer
Определения IngameHud.c:46
ImageWidget m_ActionHealthMark
Определения IngameHud.c:87
Определения gameplay.c:639
proto native Transport GetTransport()
Определения human.c:690
Определения EnMath.c:7
Определения PlayerBaseClient.c:2
bool sorted
used only if groundOnly = false
Определения DayZPhysics.c:75
Определения DayZPhysics.c:50
Определения EnWidgets.c:220
Определения DayZPlayerImplement.c:63
Base native class for all motorized wheeled vehicles.
Определения Boat.c:28
UIScriptedMenu FindMenu(int id)
Returns menu with specific ID if it is open (see MenuID)
Определения UIManager.c:160
Определения UIManager.c:2
void ShowVehicleInfo(PlayerBase player)
Определения VehicleHudBase.c:3
Определения EnWidgets.c:190
Object obj
Object inside of box.
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
Определения EnConvert.c:106
proto native CGame GetGame()
HitDirectionModes
Определения constants.c:98
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90
proto void Print(void var)
Prints content of variable to console/log.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
string String(string s)
Helper for passing string expression to functions with void parameter. Example: Print(String("Hello "...
Определения EnScript.c:339
static proto int AbsInt(int i)
Returns absolute value.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
const int MENU_INVENTORY
Определения constants.c:180
proto native int Length()
Returns length of string.
const int CALL_CATEGORY_GAMEPLAY
Определения tools.c:10
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.
int ARGB(int a, int r, int g, int b)
Определения proto.c:322