160 {
162 DbgUI.BeginCleanupScope();
163 DbgUI.Begin("Bleeding Sources", 50, 50);
164
165 int pow = 0;
166 bool anyBleedingSourceActive = false;
167
169 {
170 int bit = Math.Pow(2, pow);
171 pow++;
173 {
176 string slot_name = InventorySlots.GetSlotName(bsz.
GetInvLocation());
177 float timeRemaining = -1;
178
179 #ifdef DIAG_DEVELOPER
181 timeRemaining = bsz.
GetMaxTime() + bsi.m_DiagTimeStart -
g_Game.GetTickTime();
182 timeRemaining = Math.Round(timeRemaining);
183 #endif
184
185 DbgUI.Text(
string.Format(
"zone: %1 | closest inv. slot: %2 | time remaining: %3",
name, slot_name, timeRemaining.
ToString()));
186 anyBleedingSourceActive = true;
187 }
188 }
189
190 if (!anyBleedingSourceActive)
191 {
192 DbgUI.Text("No bleeding sources are active.");
193 }
194 else
195 {
196 DbgUI.Text("");
197 DbgUI.Text("Note: BleedingSourcesManagerServer only updates active sources every 3s, displayed times are client estimates.");
198 }
199
200 DbgUI.End();
201 DbgUI.EndCleanupScope();
202 }
void BleedingSource(PlayerBase player, int bit, string bone, vector orientation, vector offset, int max_time, float flow_modifier, string particle_name)
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
BleedingSourceZone GetBleedingSourceMeta(int bit)
string GetSelectionNameFromBit(int bit)
ref map< int, ref BleedingSource > m_BleedingSources
proto string ToString(bool simple=true)