DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ RefreshVehicleHud()

override void MotorbikeHud::RefreshVehicleHud ( float timeslice)
inlineprotected

engine

fuel tank

temperature

general hit timer reset

См. определение в файле MotorBikeHud.c строка 103

104 {
105 float rpm_value = m_CurrentVehicle.EngineGetRPM() / m_CurrentVehicle.EngineGetRPMMax();
106 float rpm_value_red = m_CurrentVehicle.EngineGetRPMRedline() / m_CurrentVehicle.EngineGetRPMMax();
107 float speed_value = m_CurrentVehicle.GetSpeedometerAbsolute() / 200;
108
109 m_VehicleRPMPointer.SetRotation(0, 0, rpm_value * 270 - 130, true);
110 m_VehicleSpeedPointer.SetRotation(0, 0, speed_value * 260 - 130, true);
111 m_VehicleSpeedValue.SetText(Math.AbsInt(m_CurrentVehicle.GetSpeedometer()).ToString());
112
113 int engineHealthLevel = m_CurrentVehicle.GetHealthLevel("Engine");
114 int fuelTankHealthLevel = m_CurrentVehicle.GetHealthLevel("FuelTank");
115 bool newHealth = false;
116
118 if (m_CurrentVehicle.HasEngineZoneReceivedHit())
119 {
121 {
123 if (engineHealthLevel <= GameConstants.STATE_WORN)
124 {
125 m_VehicleEngineLight.SetColor(Colors.WHITE);
126 }
127 else
128 {
129 m_VehicleEngineLight.SetColor(ItemManager.GetItemHealthColor(engineHealthLevel));
130 }
131
132 m_VehicleEngineLight.SetAlpha(1);
134 }
135
137 newHealth = true;
138 }
139 else if (engineHealthLevel > GameConstants.STATE_WORN)
140 {
141 m_VehicleEngineLight.SetColor(ItemManager.GetItemHealthColor(engineHealthLevel));
142 m_VehicleEngineLight.SetAlpha(1);
143 m_VehicleEngineLight.Show(true);
144 }
145 else
146 {
147 m_VehicleEngineLight.Show(false);
148 }
149
151 if (fuelTankHealthLevel <= GameConstants.STATE_WORN)
152 {
153 m_VehicleFuelLight.SetColor(Colors.WHITE);
154 m_VehicleFuelLight.SetAlpha(1);
155 m_VehicleFuelLight.Show(true);
156 }
157 else if (fuelTankHealthLevel > GameConstants.STATE_WORN)
158 {
159 m_VehicleFuelLight.SetColor(ItemManager.GetItemHealthColor(fuelTankHealthLevel));
160 m_VehicleFuelLight.SetAlpha(1);
161 m_VehicleFuelLight.Show(true);
162 }
163
165 if (m_CurrentVehicle.IsVitalRadiator())
166 {
168 if (m_CurrentVehicle.HasRadiator())
169 {
170 int radiatorHealthLevel = m_CurrentVehicle.GetRadiator().GetHealthLevel("");
171 if (radiatorHealthLevel <= GameConstants.STATE_WORN)
172 {
173 m_VehicleTemperatureLight.SetColor(Colors.WHITE);
174 m_VehicleTemperatureLight.SetAlpha(1);
175 m_VehicleTemperatureLight.Show(true);
176 }
177 else if (radiatorHealthLevel > GameConstants.STATE_WORN)
178 {
179 m_VehicleTemperatureLight.SetColor(ItemManager.GetItemHealthColor(radiatorHealthLevel));
180 m_VehicleTemperatureLight.SetAlpha(1);
181 m_VehicleTemperatureLight.Show(true);
182 }
183 }
184 else
185 {
186 m_VehicleTemperatureLight.SetColor(Colors.COLOR_RUINED);
187 m_VehicleTemperatureLight.SetAlpha(1);
188 m_VehicleTemperatureLight.Show(true);
189 }
190 }
191 else
192 {
194 }
195
196 m_VehicleHandBrakeLight.Show(false); // no kickstand while on bike
197 m_VehicleWheelLight.Show(m_CurrentVehicle.WheelIsAnyLocked());
198
199 UpdateGear();
200
201 // refresh backlit
202 GetDayZGame().GetBacklit().RefreshVehicleLayout(m_EngagedGear, newHealth);
203
204 m_VehicleFuelPointer.SetRotation( 0, 0, m_CurrentVehicle.GetFluidFraction( MotorbikeFluid.FUEL ) * 260 - 130, true );
205 //m_VehicleTemperaturePointer.SetRotation( 0, 0, -1 * m_CurrentVehicle.GetFluidFraction( MotorbikeFluid.COOLANT ) * 260 + 130, true );
206
209 {
212 }
213
214 m_VehicleDamageZonesHitTimer += timeslice;
215 }
DayZGame GetDayZGame()
Определения DayZGame.c:4076
MotorbikeFluid
Type of vehicle's fluid. (native, do not change or extend)
Определения Motorbike.c:14
ImageWidget m_VehicleTemperatureLight
Определения MotorBikeHud.c:10
TextWidget m_VehicleSpeedValue
Определения MotorBikeHud.c:14
void UpdateGear()
Определения MotorBikeHud.c:217
float m_VehicleDamageZonesHitTimer
Определения MotorBikeHud.c:23
ImageWidget m_VehicleFuelLight
Определения MotorBikeHud.c:12
ImageWidget m_VehicleWheelLight
Определения MotorBikeHud.c:20
ImageWidget m_VehicleHandBrakeLight
Определения MotorBikeHud.c:19
ImageWidget m_VehicleRPMPointer
Определения MotorBikeHud.c:4
int m_EngagedGear
Определения MotorBikeHud.c:30
bool m_VehicleDamageZoneHitEngineState
Определения MotorBikeHud.c:22
Widget m_VehicleTemperatureIndicator
Определения MotorBikeHud.c:8
ImageWidget m_VehicleSpeedPointer
Определения MotorBikeHud.c:7
float m_TimeSinceLastEngineLightChange
Определения MotorBikeHud.c:27
ImageWidget m_VehicleEngineLight
Определения MotorBikeHud.c:17
ImageWidget m_VehicleFuelPointer
Определения MotorBikeHud.c:11
MotorbikeScript m_CurrentVehicle
Определения MotorBikeHud.c:25
@ Colors
Определения EnWorld.c:88

Перекрестные ссылки Math::AbsInt(), Colors::COLOR_RUINED, GetDayZGame(), ItemManager::GetItemHealthColor(), m_CurrentVehicle, m_EngagedGear, m_TimeSinceLastEngineLightChange, m_VehicleDamageZoneHitEngineState, m_VehicleDamageZonesHitTimer, m_VehicleEngineLight, m_VehicleFuelLight, m_VehicleFuelPointer, m_VehicleHandBrakeLight, m_VehicleRPMPointer, m_VehicleSpeedPointer, m_VehicleSpeedValue, m_VehicleTemperatureIndicator, m_VehicleTemperatureLight, m_VehicleWheelLight, GameConstants::STATE_WORN, UpdateGear() и Colors::WHITE.