1class IngameHud
extends Hud
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;
11 protected const float TENDENCY_BLINK_TIME = 0.25;
20 protected float m_TemperatureShowTime = 30;
25 protected float m_StaminaShowTime = 0.15;
119 protected Widget m_ActionItemQuantityWrapper
160 m_FadeTimerCrosshair =
new WidgetFadeTimer;
161 m_FadeTimerActionCursor =
new WidgetFadeTimer;
162 m_FadeTimerQuickbar =
new WidgetFadeTimer;
163 m_FadeTimerWalkieTalkie =
new WidgetFadeTimer;
164 m_FadeTimerWalkieTalkieText =
new WidgetFadeTimer;
175 m_VehicleDamageZonesHitTimer = 0;
178 m_VehicleGearTable.Set(-1,
"");
179 m_VehicleGearTable.Set(CarGear.REVERSE,
"R");
180 m_VehicleGearTable.Set(CarGear.NEUTRAL,
"N");
181 m_VehicleGearTable.Set(CarGear.FIRST,
"1");
182 m_VehicleGearTable.Set(CarGear.SECOND,
"2");
183 m_VehicleGearTable.Set(CarGear.THIRD,
"3");
184 m_VehicleGearTable.Set(CarGear.FOURTH,
"4");
185 m_VehicleGearTable.Set(CarGear.FIFTH,
"5");
186 m_VehicleGearTable.Set(CarGear.SIXTH,
"6");
187 m_VehicleGearTable.Set(CarGear.SEVENTH,
"7");
188 m_VehicleGearTable.Set(CarGear.EIGTH,
"8");
191 m_VehicleGearTableAuto.Set(-1,
"");
200 m_HudPanelWidget = hud_panel_widget;
201 m_HudPanelWidget.Show(
true );
208 m_LeftHudPanelWidget = m_HudPanelWidget.FindAnyWidget(
"LeftHUDPanel");
212 myTimer.Run( 1,
this,
"InitQuickbar" );
214 m_CursorWidget = m_HudPanelWidget.FindAnyWidget(
"CursorIcons");
215 m_CursorWidget.Show(
true);
216 Class.
CastTo(m_CursorIcon, m_HudPanelWidget.FindAnyWidget(
"Cursor"));
219 Class.
CastTo(m_PermanentCrossHair, m_HudPanelWidget.FindAnyWidget(
"PermanentCrossHair"));
221 m_WalkieTalkie = m_HudPanelWidget.FindAnyWidget(
"WalkieTalkie");
225 m_Presence = m_HudPanelWidget.FindAnyWidget(
"PresencePanel");
226 m_Badges = hud_panel_widget.FindAnyWidget(
"BadgesPanel");
227 m_Notifiers = m_HudPanelWidget.FindAnyWidget(
"NotifiersPanel");
228 m_SpecializatonPanel = m_HudPanelWidget.FindAnyWidget(
"SpecializationPanel");
230 m_BadgeNotifierDivider = m_HudPanelWidget.FindAnyWidget(
"BadgeNotifierDivider");
232 m_BloodPosType =
TextWidget.Cast( m_HudPanelWidget.FindAnyWidget(
"BloodPosType") );
234 m_VehiclePanel = m_HudPanelWidget.FindAnyWidget(
"VehiclePanel");
235 m_VehiclePanel.Show(
false);
237 m_VehicleRPMPointer = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"RPMPointer") );
238 m_VehicleRPMDial = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"RPMDial") );
239 m_VehicleRPMRedline = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"RPMDialRedline") );
240 m_VehicleSpeedPointer = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"SpeedPointer") );
241 m_VehicleSpeedValue =
TextWidget.Cast( m_VehiclePanel.FindAnyWidget(
"SpeedValue") );
243 m_VehicleCurrentGearValue =
TextWidget.Cast( m_VehiclePanel.FindAnyWidget(
"Current") );
244 m_VehicleNextGearValue =
TextWidget.Cast( m_VehiclePanel.FindAnyWidget(
"Next") );
245 m_VehiclePrevGearValue =
TextWidget.Cast( m_VehiclePanel.FindAnyWidget(
"Prev") );
247 m_VehicleBatteryLight = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"BatteryLight"));
248 m_VehicleEngineLight = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"EngineLight"));
249 m_VehicleOilLight = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"OilLight"));
250 m_VehicleHandBrakeLight = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"HandBrakeLight"));
251 m_VehicleWheelLight = ImageWidget.Cast( m_VehiclePanel.FindAnyWidget(
"WheelLight"));
253 m_VehicleTemperatureIndicator = m_VehiclePanel.FindAnyWidget(
"TemperatureIndicator");
254 m_VehicleTemperaturePointer = ImageWidget.Cast(m_VehiclePanel.FindAnyWidget(
"TemperaturePointer"));
255 m_VehicleTemperatureLight = ImageWidget.Cast(m_VehiclePanel.FindAnyWidget(
"TemperatureLight"));
256 m_VehicleFuelPointer = ImageWidget.Cast(m_VehiclePanel.FindAnyWidget(
"FuelPointer"));
257 m_VehicleFuelLight = ImageWidget.Cast(m_VehiclePanel.FindAnyWidget(
"FuelLight"));
259 m_StaminaBackground = m_HudPanelWidget.FindAnyWidget(
"StaminaBackground");
260 m_StaminaBackground.Show(
true);
261 m_StanceProne = m_HudPanelWidget.FindAnyWidget(
"StanceProne");
262 m_StanceCrouch = m_HudPanelWidget.FindAnyWidget(
"StanceCrouch");
263 m_StanceStand = m_HudPanelWidget.FindAnyWidget(
"StanceStand");
264 m_StanceStandWalk = m_HudPanelWidget.FindAnyWidget(
"StanceStandWalk");
265 m_StanceCar = m_HudPanelWidget.FindAnyWidget(
"StanceCar");
266 m_StancePanel = m_HudPanelWidget.FindAnyWidget(
"StancePanel");
268 m_ActionTarget = m_HudPanelWidget.FindAnyWidget(
"ActionTargetsCursorWidget");
270 m_ActionTarget.GetScript(m_ActionTargetsCursor);
273 m_HeatBufferPlus = ImageWidget.Cast( m_HudPanelWidget.FindAnyWidget(
"HeatBuffer" ) );
276 m_GameStatusIconsPanel = m_HudPanelWidget.FindAnyWidget(
"GameStatusIcons");
277 m_HighPingA = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget(
"HighPingA"));
278 m_HighPingB = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget(
"HighPingB"));
279 m_LowServerPerfA = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget(
"LowServerPerfA"));
280 m_LowServerPerfB = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget(
"LowServerPerfB"));
281 m_ConnectionLost = ImageWidget.Cast(m_HudPanelWidget.FindAnyWidget(
"ConnectionLost"));
283 if ( m_HeatBufferPlus )
284 m_HeatBufferPlus.Show(
false );
288 m_Timer.Run(0.333,
this,
"RefreshQuickbar", NULL,
true );
292 m_PresenceLevel0 = hud_panel_widget.FindAnyWidget(
"Presence0");
293 m_PresenceLevel1 = hud_panel_widget.FindAnyWidget(
"Presence1");
294 m_PresenceLevel2 = hud_panel_widget.FindAnyWidget(
"Presence2");
295 m_PresenceLevel3 = hud_panel_widget.FindAnyWidget(
"Presence3");
296 m_PresenceLevel4 = hud_panel_widget.FindAnyWidget(
"Presence4");
297 m_PresenceLevel0.Show(
false );
298 m_PresenceLevel1.Show(
false );
299 m_PresenceLevel2.Show(
false );
300 m_PresenceLevel3.Show(
false );
301 m_PresenceLevel4.Show(
false );
305 MissionGameplay.Cast(
GetGame().GetMission()).GetConnectivityInvoker().Insert(OnConnectionIconsSettingsChanged);
313 m_StatesWidgetNames.Clear();
314 m_StatesWidgets.Clear();
322 m_Badges.Show(
true );
326 for ( i = 0; i < m_StatesWidgetNames.Count(); i++ )
328 string widget_name = m_StatesWidgetNames.GetElement(i);
329 key = m_StatesWidgetNames.GetKey(i);
332 m_StatesWidgets.Set( key, w );
334 for (
int y = 0;
y < 5;
y++ )
336 w.LoadImageFile(
y,
"set:dayz_gui image:icon" + widget_name +
y );
340 float alpha = w.GetAlpha();
341 w.SetColor(
ARGB( alpha * 255, 220, 220, 220 ) );
342 m_TendencyStatusCritical.Remove( w );
344 for (
int x = 1;
x < 4;
x++ )
356 m_BadgesWidgetNames.Clear();
357 m_BadgesWidgets.Clear();
358 m_BadgesWidgetDisplay.Clear();
367 m_BadgesWidgetNames.Set(
NTFKEY_LEGS,
"InjuredLegs" );
371 for ( i = 0; i < m_BadgesWidgetNames.Count(); i++ )
373 string badge_name = m_BadgesWidgetNames.GetElement( i);
374 key = m_BadgesWidgetNames.GetKey( i );
375 ImageWidget badge_widget;
377 Class.
CastTo(badge_widget, m_Badges.FindAnyWidget( badge_name ) );
379 for (
int q = 0; q < badgeCountMax; q++ )
381 badge_widget.LoadImageFile( q,
"set:dayz_gui image:icon" + badge_name + q );
383 m_BadgesWidgets.Set( key, badge_widget );
384 badge_widget.Show(
false );
385 m_BadgesWidgetDisplay.Set( key,
false );
387 m_AnyBadgeVisible =
false;
388 m_BadgeNotifierDivider.Show(
false);
394 m_GameStatusIconsPanel.Show(enabled);
400 m_HudPanelWidget.GetScreenSize(
x,
y );
401 m_HudPanelWidget.Update();
406 override void Show(
bool show )
408 m_HudPanelWidget.Show( show );
413 m_FadeTimerWalkieTalkie.Stop();
414 m_FadeTimerWalkieTalkieText.Stop();
415 m_WalkieTalkie.Show( show );
420 m_WalkieTalkie.Show(
true);
421 m_FadeTimerWalkieTalkie.Stop();
422 m_FadeTimerWalkieTalkieText.Stop();
423 m_FadeTimerWalkieTalkie.FadeOut( m_WalkieTalkie.FindAnyWidget(
"Icon") , fadeOutSeconds );
424 m_FadeTimerWalkieTalkieText.FadeOut( m_WalkieTalkie.FindAnyWidget(
"Text") , fadeOutSeconds );
430 Class.
CastTo(txt, m_WalkieTalkie.FindAnyWidget(
"Text"));
437 m_CursorIcon.Show(
false);
440 m_CursorIcon.LoadImageFile( 0, icon );
441 m_CursorIcon.Show(
true);
447 m_CursorWidget.Show(
true );
452 m_CursorWidget.Show(
false );
458 m_CursorIcon.FindAnyWidget( type ).GetParent().GetSize(
x,
y );
459 m_CursorIcon.FindAnyWidget( type ).GetParent().
SetSize(
x * percentage,
y * percentage );
464 m_CursorIcon.FindAnyWidget( type ).GetParent().SetPos(
x,
y );
469 m_CursorIcon.FindAnyWidget( type ).GetParent().SetSize(
x,
y );
476 m_PermanentCrossHair.Show(show);
493 string arrow_name =
"ArrowUp";
496 arrow_name =
"ArrowDown";
500 for (
int x = 1;
x < 4;
x++ )
512 string widget_name = m_StatesWidgetNames.Get( key ) + arrow_name +
Math.
Clamp( tendency, 1, 3 );
526 w.SetImage(
Math.
Clamp( status - 1, 0, 4 ) );
527 float alpha = w.GetAlpha();
532 w.SetColor(
ARGB( alpha * 255, 220, 220, 0 ) );
533 m_TendencyStatusCritical.Remove( w );
536 w.SetColor(
ARGB( alpha * 255, 220, 0, 0 ) );
537 m_TendencyStatusCritical.Remove( w );
540 if ( !m_TendencyStatusCritical.Contains( w ) )
542 m_TendencyStatusCritical.Insert( w,
ARGB( alpha * 255, 220, 0, 0 ) );
546 w.SetColor(
ARGB( alpha * 255, 220, 220, 220 ) );
547 m_TendencyStatusCritical.Remove( w );
555 ImageWidget w = ImageWidget.Cast(
m_Notifiers.FindAnyWidget(
String(
"Icon" + m_StatesWidgetNames.Get( key ) ) ) );
559 float alpha = w.GetAlpha();
563 temp_top.Show(
true );
564 temp_bot.Show(
false );
568 temp_top.Show(
false );
569 temp_bot.Show(
true );
575 w.SetColor(
ARGB( alpha * 255, 220, 220, 0 ) );
576 m_TendencyStatusCritical.Remove( w );
581 w.SetColor(
ARGB( alpha * 255, 220, 0, 0 ) );
582 m_TendencyStatusCritical.Remove( w );
586 if ( !m_TendencyStatusCritical.Contains( w ) )
588 m_TendencyStatusCritical.Insert( w,
ARGB( alpha * 255, 220, 0, 0 ) );
593 w.SetColor(
ARGB( alpha * 255, 0, 206, 209 ) );
594 m_TendencyStatusCritical.Remove( w );
598 w.SetColor(
ARGB( alpha * 255, 30, 144, 220 ) );
599 m_TendencyStatusCritical.Remove( w );
603 if ( !m_TendencyStatusCritical.Contains( w ) )
605 m_TendencyStatusCritical.Insert( w,
ARGB( alpha * 255, 30, 144, 220 ) );
610 w.SetColor(
ARGB( alpha * 255, 220, 220, 220 ) );
611 m_TendencyStatusCritical.Remove( w );
621 m_BadgesWidgetDisplay.Set( key, value );
622 m_AnyBadgeVisible =
false;
623 for (
int i = 0; i < m_BadgesWidgetDisplay.Count(); i++ )
625 int badge_key = m_BadgesWidgetDisplay.GetKey( i );
626 int badge_value = m_BadgesWidgetDisplay.Get( badge_key );
627 string badge_name = m_BadgesWidgetNames.Get( badge_key );
629 ImageWidget badge_widget
630 Class.
CastTo(badge_widget, m_Badges.FindAnyWidget( badge_name ) );
633 if ( badge_value > 0 )
635 badge_widget.SetImage(badge_value - 1);
637 badge_widget.Show(
true );
638 m_AnyBadgeVisible =
true;
641 bleed_count.Show(
true );
642 bleed_count.SetText( m_BadgesWidgetDisplay.Get( badge_key ).ToString() );
649 bleed_count.Show(
false );
651 badge_widget.Show(
false );
661 m_IsTemperatureVisible =
true;
664 temp_top.SetText( temp );
665 temp_bot.SetText( temp );
666 m_TemperatureTimer = 0;
671 m_IsTemperatureVisible =
false;
674 temp_top.SetText(
"" );
675 temp_bot.SetText(
"" );
676 m_TemperatureTimer = 0;
694 m_IsStaminaVisible = show;
703 ImageWidget stomach = ImageWidget.Cast( m_Badges.FindAnyWidget(
"Stomach" ) );
704 stomach.LoadImageFile( 0,
"set:dayz_gui image:iconStomach" + state );
711 float percentage = 1;
714 percentage = range / max;
719 m_Stamina.SetCurrent(( value / range ) * 100);
728 m_StaminaBackground.SetSize(1 - percentage, sy);
731 if (!
GetGame().IsMultiplayer())
740 float h1 = player.GetHealth(
"",
"");
741 float b1 = player.GetHealth(
"",
"Blood");
760 m_ZeroingKeyPressed =
true;
768 if ( !
Class.
CastTo(car, player.GetDrivingVehicle()) )
773 m_StanceStand.Show(!is_walking);
774 m_StanceStandWalk.Show(is_walking);
775 m_StanceCrouch.Show(
false);
776 m_StanceProne.Show(
false);
777 m_StanceCar.Show(
false );
781 m_StanceStand.Show(
false);
782 m_StanceStandWalk.Show(
false);
783 m_StanceCrouch.Show(
true);
784 m_StanceProne.Show(
false);
785 m_StanceCar.Show(
false );
789 m_StanceStand.Show(
false);
790 m_StanceStandWalk.Show(
false);
791 m_StanceCrouch.Show(
false);
792 m_StanceProne.Show(
true);
793 m_StanceCar.Show(
false );
798 m_StanceStand.Show(
false);
799 m_StanceCrouch.Show(
false);
800 m_StanceProne.Show(
false);
801 m_StanceCar.Show(
true );
811 int presence_level = player.GetNoisePresenceInAI();
812 m_PresenceLevel0.Show(
false );
813 m_PresenceLevel1.Show(
false );
814 m_PresenceLevel2.Show(
false );
815 m_PresenceLevel3.Show(
false );
816 m_PresenceLevel4.Show(
false );
818 if ( presence_level > 0 )
820 m_PresenceLevel0.Show(
true );
822 if ( presence_level > 1 )
824 m_PresenceLevel1.Show(
true );
826 if ( presence_level > 2 )
828 m_PresenceLevel2.Show(
true );
830 if ( presence_level > 3 )
832 m_PresenceLevel3.Show(
true );
834 if ( presence_level > 4 )
836 m_PresenceLevel4.Show(
true );
841 int m_VehicleGearCount = -1;
855 if (m_CurrentVehicle)
857 m_InVehicleAsDriver =
true;
858 m_VehicleGearCount = m_CurrentVehicle.GetGearsCount();
859 m_VehicleOilLight.Show(m_VehicleHasOil);
861 float rpm_value_red = m_CurrentVehicle.EngineGetRPMRedline() / m_CurrentVehicle.EngineGetRPMMax();
862 m_VehicleRPMDial.SetMaskProgress(rpm_value_red);
863 m_VehicleRPMRedline.SetMaskProgress(1 - rpm_value_red);
865 m_HudPanelWidget.FindAnyWidget(
"PlayerPanel").Show(
false);
866 m_Presence.Show(
false);
867 m_StancePanel.Show(
false);
869 m_VehiclePanel.Show(
true);
877 m_HudPanelWidget.FindAnyWidget(
"PlayerPanel").Show(
true);
878 m_Presence.Show(
true);
879 m_StancePanel.Show(
true);
880 m_VehiclePanel.Show(
false);
882 m_InVehicleAsDriver =
false;
883 m_CurrentVehicle = null;
884 m_VehicleGearCount = -1;
889 if (m_CurrentVehicle && !
GetGame().GetUIManager().GetMenu())
891 m_VehiclePanel.Show(
true);
892 float rpm_value = m_CurrentVehicle.EngineGetRPM() / m_CurrentVehicle.EngineGetRPMMax();
893 float rpm_value_red = m_CurrentVehicle.EngineGetRPMRedline() / m_CurrentVehicle.EngineGetRPMMax();
894 float speed_value = m_CurrentVehicle.GetSpeedometerAbsolute() / 200;
896 m_VehicleRPMPointer.SetRotation(0, 0, rpm_value * 270 - 130,
true);
897 m_VehicleSpeedPointer.SetRotation(0, 0, speed_value * 260 - 130,
true);
898 m_VehicleSpeedValue.SetText(
Math.
AbsInt(m_CurrentVehicle.GetSpeedometer()).ToString());
900 int engineHealthLevel = m_CurrentVehicle.GetHealthLevel(
"Engine");
901 int fuelTankHealthLevel = m_CurrentVehicle.GetHealthLevel(
"FuelTank");
902 bool newHealth =
false;
905 if (m_CurrentVehicle.HasEngineZoneReceivedHit())
907 if (m_TimeSinceLastEngineLightChange > 0.35)
909 m_VehicleEngineLight.Show(!m_VehicleEngineLight.IsVisible());
919 m_VehicleEngineLight.SetAlpha(1);
920 m_TimeSinceLastEngineLightChange = 0;
923 m_TimeSinceLastEngineLightChange += timeslice;
929 m_VehicleEngineLight.SetAlpha(1);
930 m_VehicleEngineLight.Show(
true);
934 m_VehicleEngineLight.Show(
false);
941 m_VehicleFuelLight.SetAlpha(1);
942 m_VehicleFuelLight.Show(
true);
947 m_VehicleFuelLight.SetAlpha(1);
948 m_VehicleFuelLight.Show(
true);
954 m_VehicleTemperatureIndicator.Show(
true);
955 if (m_CurrentVehicle.HasRadiator())
957 int radiatorHealthLevel = m_CurrentVehicle.GetRadiator().GetHealthLevel(
"");
961 m_VehicleTemperatureLight.SetAlpha(1);
962 m_VehicleTemperatureLight.Show(
true);
967 m_VehicleTemperatureLight.SetAlpha(1);
968 m_VehicleTemperatureLight.Show(
true);
974 m_VehicleTemperatureLight.SetAlpha(1);
975 m_VehicleTemperatureLight.Show(
true);
980 m_VehicleTemperatureIndicator.Show(
false);
983 m_VehicleHandBrakeLight.Show(m_CurrentVehicle.IsHandbrakeActive());
984 m_VehicleWheelLight.Show(m_CurrentVehicle.WheelIsAnyLocked());
987 int engagedGear = -1;
993 engagedGear = m_CurrentVehicle.GetGear();
994 prevGear = engagedGear - 1;
995 nextGear = engagedGear + 1;
997 if (engagedGear == CarGear.NEUTRAL)
999 prevGear = CarGear.REVERSE;
1001 else if (engagedGear == CarGear.REVERSE)
1004 nextGear = CarGear.NEUTRAL;
1007 m_VehicleCurrentGearValue.SetText(m_VehicleGearTable.Get(engagedGear));
1008 m_VehicleNextGearValue.Show(nextGear < m_VehicleGearCount);
1010 m_VehicleNextGearValue.SetText(m_VehicleGearTable.Get(nextGear));
1011 m_VehiclePrevGearValue.SetText(m_VehicleGearTable.Get(prevGear));
1015 engagedGear = m_CurrentVehicle.GearboxGetMode();
1016 prevGear = engagedGear - 1;
1017 nextGear = engagedGear + 1;
1019 m_VehicleCurrentGearValue.SetText(m_VehicleGearTableAuto.Get(engagedGear));
1022 m_VehicleNextGearValue.SetText(m_VehicleGearTableAuto.Get(nextGear));
1023 m_VehiclePrevGearValue.SetText(m_VehicleGearTableAuto.Get(prevGear));
1027 GetDayZGame().GetBacklit().RefreshVehicleLayout(engagedGear, newHealth);
1029 m_VehicleFuelPointer.SetRotation( 0, 0, m_CurrentVehicle.GetFluidFraction(
CarFluid.FUEL ) * 260 - 130,
true );
1030 m_VehicleTemperaturePointer.SetRotation( 0, 0, -1 * m_CurrentVehicle.GetFluidFraction(
CarFluid.COOLANT ) * 260 + 130,
true );
1033 if (m_VehicleDamageZonesHitTimer > 1)
1035 m_VehicleDamageZoneHitEngineState =
false;
1036 m_VehicleDamageZonesHitTimer = 0;
1039 m_VehicleDamageZonesHitTimer += timeslice;
1043 m_VehiclePanel.Show(
false);
1072 m_IsQuickbarVisible = !m_QuickbarHideUI && !m_QuickbarHidePlayer &&
m_QuickbarState;
1078 m_IsHudVisible = ( !m_HudHidePlayer && !m_HudHideUI &&
m_HudState ) || m_HudInventory;
1081 m_Badges.Show( m_IsHudVisible );
1083 m_BadgeNotifierDivider.Show( m_IsHudVisible && m_AnyBadgeVisible );
1084 #ifdef PLATFORM_CONSOLE
1085 m_SpecializatonPanel.Show(m_HudInventory);
1087 m_SpecializatonPanel.Show(
false);
1093 #ifdef PLATFORM_CONSOLE
1110 m_QuickbarHideUI = !show;
1116 m_QuickbarHidePlayer = !show;
1122 m_HudHidePlayer = !show;
1131 m_HudHideUI = !show;
1140 m_HudInventory = show;
1146 m_HeatBufferPlus.Show( show );
1152 m_QuickbarState = show;
1154 m_QuickbarHidePlayer =
false;
1161 m_HudHidePlayer =
false;
1183 case EConnectivityStatLevel.OFF:
1184 m_HighPingA.Show(
false);
1185 m_HighPingB.Show(
false);
1187 case EConnectivityStatLevel.LEVEL1:
1188 m_HighPingA.Show(
true);
1189 m_HighPingB.Show(
false);
1191 case EConnectivityStatLevel.LEVEL2:
1192 m_HighPingA.Show(
false);
1193 m_HighPingB.Show(
true);
1201 case EConnectivityStatLevel.OFF:
1202 m_LowServerPerfA.Show(
false);
1203 m_LowServerPerfB.Show(
false);
1205 case EConnectivityStatLevel.LEVEL1:
1206 m_LowServerPerfA.Show(
true);
1207 m_LowServerPerfB.Show(
false);
1209 case EConnectivityStatLevel.LEVEL2:
1210 m_LowServerPerfA.Show(
false);
1211 m_LowServerPerfB.Show(
true);
1219 case EConnectivityStatLevel.OFF:
1220 m_ConnectionLost.Show(
false);
1222 case EConnectivityStatLevel.LEVEL1:
1223 m_ConnectionLost.Show(
true);
1232 Widget child = m_LeftHudPanelWidget.GetChildren();
1235 if (child.GetName() ==
"ChatFrameWidget")
1237 child = child.GetSibling();
1241 child.Show(visible);
1242 child = child.GetSibling();
1248 if ((!m_QuickbarState || m_QuickbarHidePlayer || m_QuickbarHideUI) && !itemChanged)
1256 MissionGameplay
mission = MissionGameplay.Cast(
GetGame().GetMission());
1260 inventory =
mission.GetInventory();
1265 inventory.RefreshQuickbar();
1290 bool blood_type_visible = player.HasBloodTypeVisible();
1292 if( blood_type_visible )
1296 m_BloodPosType.SetText(
"+" );
1298 m_BloodPosType.SetText(
"-" );
1303 m_BloodPosType.SetText(
"" );
1317 vector target_player = player.GetPosition();
1320 target_player[1] = target_player[1] + 1.2;
1331 if( results.Count() > 0 )
1333 if( results.Get( 0 ).
obj == player )
1335 m_CurrentTaggedPlayer =
PlayerBase.Cast( player );
1343 m_CurrentTaggedPlayer = null;
1355 if ( m_CurrentTaggedPlayer && m_CurrentTaggedPlayer.GetIdentity() )
1360 m_PlayerTagText =
TextWidget.Cast( m_PlayerTag.FindAnyWidget(
"TagText" ) );
1362 m_PlayerSpineIndex = m_CurrentTaggedPlayer.GetBoneIndex(
"Spine2" );
1363 vector player_pos = m_CurrentTaggedPlayer.GetBonePositionWS( m_PlayerSpineIndex );
1366 if ( screen_pos[2] > 0 )
1368 if ( screen_pos[0] > 0 && screen_pos[0] < 1 )
1370 if ( screen_pos[1] > 0 && screen_pos[1] < 1 )
1372 m_PlayerTagText.SetAlpha(
Math.
Clamp( m_PlayerTagText.GetAlpha() + timeslice * 10, 0, 1 ) );
1373 m_PlayerTag.SetPos( 0.55, 0.55 );
1374 m_PlayerTagText.SetText( m_CurrentTaggedPlayer.GetIdentity().GetPlainName() );
1385 float new_alpha =
Math.
Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 );
1386 m_PlayerTagText.SetAlpha(
Math.
Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 ) );
1387 if ( new_alpha == 0 )
1389 m_PlayerTagText.SetText(
"" );
1390 m_CurrentTaggedPlayer = null;
1397 super.Update( timeslice );
1399 m_ActionTargetsCursor.Update();
1403 if ( m_BlinkTime > TENDENCY_BLINK_TIME )
1406 if ( m_TendencyStatusCritical.Count() > 0 )
1408 for (
int i = 0; i < m_TendencyStatusCritical.Count(); ++i )
1411 ImageWidget widget = m_TendencyStatusCritical.GetKey( i );
1412 int alpha = widget.GetAlpha() * 255;
1414 int colorA =
ARGB( alpha, 255, 255, 255 );
1415 int colorB = m_TendencyStatusCritical.Get( widget );
1418 if ( widget.GetColor() == colorA )
1427 widget.SetColor( color );
1435 m_BlinkTime += timeslice;
1438 if( m_IsTemperatureVisible )
1440 m_TemperatureTimer += timeslice;
1441 if( m_TemperatureTimer > m_TemperatureShowTime )
1447 if ( !m_IsStaminaVisible )
1449 m_StaminaTimer += timeslice;
1450 if ( m_StaminaTimer > m_StaminaShowTime )
1457 if ( m_HitDirEffectArray && m_HitDirEffectArray.Count() > 0 )
1478 if (m_HitDirEffectArray == null)
1483 hiteff.
Init(player,hit_direction,intensity_max);
1484 m_HitDirEffectArray.Insert(hiteff);
1489 for (
int i = 0; i < m_HitDirEffectArray.Count(); i++)
1491 m_HitDirEffectArray[i].Update(timeslice);
1497 for (
int i = m_HitDirEffectArray.Count() - 1; i > -1; i--)
1499 if ( m_HitDirEffectArray[i].DurationCheck() )
1501 m_HitDirEffectArray.Remove(i);
1510 int key = m_BadgesWidgetDisplay.GetKeyByValue(val);
1513 Print(
"---------------------");
const int NTFKEY_POISONED
enum eBadgeLevel NTFKEY_THIRSTY
const int NTFKEY_FRACTURE
const int NTFKEY_BLEEDISH
const int NTFKEY_FEVERISH
protected Widget m_QuickbarWidget
protected ref InventoryQuickbar m_Quickbar
protected Widget m_SpecializationIcon
CarAutomaticGearboxMode
Enumerated automatic gearbox modes. (native, do not change or extend)
CarFluid
Type of vehicle's fluid. (native, do not change or extend)
CarGearboxType
Enumerated gearbox types. (native, do not change or extend)
ref array< ref NotifierBase > m_Notifiers
protected ref map< PlayerBase, int > m_BloodType
protected float m_Stamina
static string GetBloodTypeName(int bloodtype, out string type, out bool positive)
proto native vector GetCurrentCameraDirection()
proto native DayZPlayer GetPlayer()
proto native UIManager GetUIManager()
proto native vector GetCurrentCameraPosition()
proto native WorkspaceWidget GetWorkspace()
proto native vector GetScreenPosRelative(vector world_pos)
Transforms position in world to position in screen in percentage (0.0 - 1.0) as x,...
override bool IsVitalRadiator()
static float GetStaminaMax()
Super root of all classes in Enforce script.
static ref array< Man > m_PlayerBaseList
static proto bool RaycastRVProxy(notnull RaycastRVParams in, out notnull array< ref RaycastRVResult > results, array< Object > excluded=null)
void Init(DayZPlayer player, float hit_direction, float intensity_max)
Called manually after object spawn.
override void DisplayBadge(int key, int value)
protected ImageWidget m_VehicleSpeedPointer
protected Widget m_PresenceLevel4
protected ref WidgetFadeTimer m_FadeTimerCrosshair
protected Widget m_SpecializatonPanel
protected bool m_IsQuickbarVisible
void SetLeftStatsVisibility(bool visible)
eg. stamina bar...
protected ImageWidget m_CursorIcon
protected Widget m_QuickbarWidget
override void SetCursorIconOffset(string type, float x, float y)
override void ShowVehicleInfo()
protected TextWidget m_VehicleSpeedValue
protected bool m_HudInventory
override void ShowQuickbarUI(bool show)
override void Update(float timeslice)
PlayerBase m_CurrentTaggedPlayer
protected Widget m_HitIndicatorRight
protected Widget m_VehiclePanel
protected ImageWidget m_LowServerPerfA
override void ShowWalkieTalkie(bool show)
protected Widget m_ActionTarget
protected ref Timer m_HideTimer
protected ImageWidget m_ConnectionLost
protected ref InventoryQuickbar m_Quickbar
protected ImageWidget m_VehicleWheelLight
protected bool m_IsStaminaVisible
override void OnResizeScreen()
protected ImageWidget m_VehicleEngineLight
protected Widget m_BadgeNotifierDivider
protected float m_StaminaTimer
protected ref WidgetFadeTimer m_FadeTimerWalkieTalkieText
override void SetTemperature(string temp)
protected Widget m_SpecializationIcon
protected Widget m_StanceStandWalk
protected ActionTargetsCursor m_ActionTargetsCursor
float m_TimeSinceLastEngineLightChange
protected Widget m_ActionQuantityBox
protected bool m_IsHudVisible
void CleanupHitDirEffects()
protected CarScript m_CurrentVehicle
protected ImageWidget m_LowServerPerfB
protected ref map< int, string > m_VehicleGearTable
override void Init(Widget hud_panel_widget)
void UpdateHitDirEffects(float timeslice)
protected Widget m_StanceStand
protected Widget m_ActionWidget
void RefreshHudVisibility()
protected bool m_IsTemperatureVisible
protected Widget m_HitIndicatorUp
Widget GetHudPanelWidget()
void DisplayTendencyNormal(int key, int tendency, int status)
protected Widget m_StanceCrouch
protected ImageWidget m_PermanentCrossHair
protected TextWidget m_VehicleCurrentGearValue
protected TextWidget m_VehicleNextGearValue
protected TextWidget m_ActionButtonText
protected bool m_QuickbarHideUI
override void DisplayPresence()
protected float m_VehicleDamageZonesHitTimer
protected Widget m_PresenceLevel3
protected bool m_HudState
protected ImageWidget m_HighPingB
protected Widget m_ActionIconFrame
override void ShowHudInventory(bool show)
override void RefreshQuickbar(bool itemChanged=false)
protected ImageWidget m_VehicleTemperaturePointer
protected float m_TemperatureTimer
override void ShowQuickbarPlayer(bool show)
override void SetCursorIconSize(string type, float x, float y)
void ShowPlayerTag(float timeslice)
protected ImageWidget m_ActionIcon
protected bool m_QuickbarHidePlayer
protected bool m_AnyBadgeVisible
protected Widget m_StanceProne
void DisplayTendencyTemp(int key, int tendency, int status)
protected Widget m_RadialProgressBar1
override void ShowQuickBar(bool show)
global setting; is quickbar visibility allowed?
protected Widget m_LeftHudPanelWidget
void UpdateSpecialtyMeter(float x, float y)
protected bool m_InVehicleAsDriver
protected ref WidgetFadeTimer m_FadeTimerActionCursor
protected TextWidget m_ActionQuantityBoxText
protected Widget m_CursorWidget
protected bool m_HudHidePlayer
override void DisplayNotifier(int key, int tendency, int status)
protected ref map< int, string > m_VehicleGearTableAuto
protected Widget m_ActionItemQuantityWrapper protected ImageWidget m_ActionHealthMark
void OnConnectionIconsSettingsChanged(bool enabled)
override void SetWalkieTalkieText(string text)
protected ref map< int, int > m_BadgesWidgetDisplay
protected Widget m_PresenceLevel1
override void Show(bool show)
override void ShowHudPlayer(bool show)
override void SetStaminaBarVisibility(bool show)
protected ProgressBarWidget m_ActionQuantityBar
protected bool m_QuickbarState
protected Widget m_WalkieTalkie
override void ShowHudUI(bool show)
protected Widget m_ActionMultipleItemsFrame
protected ImageWidget m_VehicleTemperatureLight
override void HideVehicleInfo()
protected Widget m_HitIndicatorDown
InventoryQuickbar GetQuickbar()
protected TextWidget m_VehiclePrevGearValue
protected Widget m_HitIndicatorLeft
protected ImageWidget m_VehicleRPMRedline
protected float m_BlinkTime
TextWidget m_PlayerTagText
override void ShowCursor()
override void SpawnHitDirEffect(DayZPlayer player, float hit_direction, float intensity_max)
protected Widget m_StaminaBackground
protected Widget m_RadialProgressBar
void RefreshQuickbarVisibility()
protected ImageWidget m_VehicleBatteryLight
protected Widget m_HudPanelWidget
void SetStomachState(int state)
protected ref WidgetFadeTimer m_FadeTimerWeaponStats
protected ImageWidget m_VehicleRPMDial
override void HideCursor()
override void ShowHud(bool show)
override void SetCursorIconScale(string type, float percentage)
protected ref WidgetFadeTimer m_FadeTimerMagazineName
protected TextWidget m_BloodType
protected ImageWidget m_VehicleFuelLight
protected Widget m_Notifiers
protected ImageWidget m_VehicleHandBrakeLight
protected ref map< int, ImageWidget > m_BadgesWidgets
protected Widget m_VehicleTemperatureIndicator
protected bool m_VehicleDamageZoneHitEngineState
protected Widget m_MouseContinuousAction
protected ref WidgetFadeTimer m_FadeTimerWeaponName
protected Widget m_PresenceLevel2
override void SetConnectivityStatIcon(EConnectivityStatType type, EConnectivityStatLevel level)
protected ref map< int, ImageWidget > m_StatesWidgets
protected ProgressBarWidget m_Stamina
override void ToggleHeatBufferPlusSign(bool show)
protected Widget m_StanceCar
void RefreshVehicleHud(float timeslice)
protected Widget m_PresenceLevel0
protected Widget m_Presence
protected ref map< int, string > m_StatesWidgetNames
protected Widget m_RadialProgressBarCrossHair
override void SetStamina(int value, int range)
ref array< ref HitDirectionEffectBase > m_HitDirEffectArray
protected TextWidget m_BloodPosType
protected Widget m_HitIndicatorSingle
void InitBadgesAndNotifiers()
protected ref Timer myTimer
protected ref map< ImageWidget, int > m_TendencyStatusCritical
protected ref WidgetFadeTimer m_FadeTimerZeroingOld
protected ImageWidget m_VehicleRPMPointer
override void ShowWalkieTalkie(int fadeOutSeconds)
protected bool m_ZeroingKeyPressed
protected TextWidget m_ActionDesc
protected ImageWidget m_VehicleOilLight
override void UpdateBloodName()
protected ref map< int, string > m_BadgesWidgetNames
protected ImageWidget m_HeatBufferPlus
protected ref WidgetFadeTimer m_FadeTimerWalkieTalkie
protected Widget m_StancePanel
protected Widget m_MouseSingleAction
protected Widget m_GameStatusIconsPanel
override void DisplayStance(int stance)
bool IsHideQuickbarPlayer()
protected ImageWidget m_VehicleFuelPointer
protected TextWidget m_ActionItemDesc
override void SetCursorIcon(string icon)
protected ImageWidget m_HighPingA
void SetPermanentCrossHair(bool show)
protected Widget m_Badges
protected ref WidgetFadeTimer m_FadeTimerQuickbar
protected bool m_HudHideUI
void SetStaminaBarVisibility(bool show)
proto native Transport GetTransport()
void SetSize(int x, int y)
static int GetItemHealthColor(int pHealthLevel)
bool sorted
used only if groundOnly = false
UIScriptedMenu FindMenu(int id)
Returns menu with specific ID if it is open (see MenuID)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Object obj
Object inside of box.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
proto native CGame GetGame()
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 "...
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'.
static proto int AbsInt(int i)
Returns absolute value.
proto native int Length()
Returns length of string.
int ARGB(int a, int r, int g, int b)