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