28 super.Init(input, type, layout_root, user_override);
30 m_WidgetArray.ShuffleArray();
32 m_BloodDropsFrame = m_LayoutRoot.FindAnyWidgetById(EffectWidgetsTypes.BLEEDING_LAYER);
59 ErrorEx(
"" +
this +
" is already initialized, further registration not possible!");
61 Debug.
Log(
"ERROR: " +
this +
" is already initialized, further registration not possible!");
70 if (par.param1 ==
true)
83 BleedingIndicator indicator =
new BleedingIndicator(bit,severity,
this);
101 switch (flow_modifier)
133 BleedingIndicator bib;
137 bib.Update(timeSlice);
138 if ( bib.GetEndNow() )
154 override void Update(
float timeSlice = 0,
Param p = null,
int handle = -1)
161 Param4<bool,int,vector,bool> par;
165 Param1<bool> parShow;
169 bool state = par.param1;
193 m_WidgetArray.ShuffleArray();
202 while (w && w != m_LayoutRoot &&
m_Visible == state && w.IsVisibleHierarchy() != state)
243 ErrorEx(
"No defined data for the selected severity!");
250 Widget frameParent = m_LayoutRoot.FindAnyWidget(
"PoisitioningFrames");
258 Widget frame = frameParent.GetChildren();
262 frame = frame.GetSibling();
276 if (index >= arrayCount)
288 float x,
y,x_size,y_size;
289 frame.GetScreenPos(
x,
y);
290 frame.GetScreenSize(x_size,y_size);
static const int SEQUENCE_STEPS
static const float SEQUENCE_DROP_AVERAGE_HIGH
static const float SEQUENCE_DROP_AVERAGE_MEDIUM
static const int INDICATOR_SEVERITY_MEDIUM
static const float SEQUENCE_DROP_AVERAGE_LOW
static const int INDICATOR_SEVERITY_LOW
static const int INDICATOR_SEVERITY_HIGH
proto native Mission GetMission()
Super root of all classes in Enforce script.
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
override bool DataInitialized()
ref map< int, ref BleedingIndicator > m_RegisteredInstances
override void Init(array< ref Widget > input, int type, Widget layout_root, int user_override=-1)
override void ForceStop()
stops and re-sets indicators and images even out of sequence. Should still be tied to the 'player' up...
ref array< int > m_CleanupQueue
ImageWidget GetNextDropImage()
override void RegisterData(Param p)
ref array< Widget > m_PositioningFramesArray
void CleanupBleedingIndicators()
void SpawnBleedingIndicator(int source_ID, vector position)
array< float > GetProbabilities(int severity)
override void Update(float timeSlice=0, Param p=null, int handle=-1)
vector GenerateSequenceRandomPosition()
ref map< int, ref array< float > > m_ProbabilityMap
void BuildProbabilityData(int severity, float frequency)
int CalculateSeverity(float flow_modifier)
override void UpdateVisibility(bool state)
ref array< int > m_RunningIndicators
void GameplayEffectsDataBleeding(array< ref Widget > input, int type, int user_override=-1)
void BuildPositioningData()
override bool HasDefinedHandle()
int m_LastPositionFrameUsed
void StopBleedingIndicator(int source_ID, bool instant=false)
void UpdateBleedingIndicators(float timeSlice)
void RegisterBleedingIndicatorInstance(int bit, float flow_modifier)
Manages all bleeding indicators and their updates.
GameplayEffectWidgets_base GetEffectWidgets()
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
static const float BLEEDING_SOURCE_FLOW_MODIFIER_LOW
static const float BLEEDING_SOURCE_FLOW_MODIFIER_HIGH
static const float BLEEDING_SOURCE_FLOW_MODIFIER_MEDIUM
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static float Poisson(float mean, int occurences)
occurences values above '12' will cause Factorial to overflow int.
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].