DIFF

class GameplayEffectWidgetsSource

GameplayEffectWidgets GameplayEffectWidgets_base Managed

All members, including inherited

grouped gameplay effect widgets and their handling

Constructors 2

void ~GameplayEffectWidgets()
References map.Count(), map.GetElement(), Widget.Unlink()
Show 1 more, m_Layouts

Constants 5

protected const int WIDGETSET_BREATH = 100
Referenced by InitWidgetSets()
const float BREATH_HDR_MIN = 0.005

dusk?

const float BREATH_HDR_MAX = 1.0

dark?

const float BREATH_COLOR_MULT_MIN = 0.5
const float BREATH_COLOR_MULT_MAX = 0.8

Members 17

protected ref Widget m_Root

dummy parent node

protected ref map<int,ref Widget> m_Layouts
protected ref set<ref Widget> m_UniqueLayouts
protected ref set<int> m_RunningEffectsPrevious
protected ref array<int> m_UpdatingEffects
protected ref array<ref Widget> m_UpdatedWidgetsCheck

to make sure widgets are not updated over and over (case of multiple IDs sharing same widget set)

protected ref array<int> m_UpdatedWidgetSetsCheck

to make sure sets are not updated over and over (case of multiple IDs sharing same widget set)

protected ref map<int,typename> m_IDToTypeMap
protected float m_TimeProgBreath
protected float m_BreathMultStamina
protected float m_BreathResidue
protected int m_BreathColor
protected float m_BreathAlphaVal
protected float m_FlashbangCoverAlphaVal

Methods 31

protected void Init()
protected void PairIDToTypes()

Links types to unique handler types, if needed. Vanilla stuff was already handled in the generic update, left that as it was. (naming!)

References map.Insert(), and m_IDToTypeMap
Referenced by Init()
protected void InitLayouts()
Referenced by Init()
protected void InitWidgetSets()
Referenced by Init()
protected void RegisterLayouts(string path, array<int> types)

Registers new layout and ties effect IDs to it

NoteOrder of layout creation matters, they get layered on top of each other. Within a single layout, widget priorities govern the widget order.
Referenced by InitLayouts()
protected typename TranslateIDToType(int typeID)
References map.Get(), and m_IDToTypeMap
Referenced by InitWidgetSet()
override void RegisterGameplayEffectData(int id, Param p)
References DataInitialized(), map.Get(), RegisterData()
Show 1 more, m_WidgetDataMap
protected void InitWidgetSet(int type, bool updating = false, int user_id_override = -1)

InitWidgetSet

type
int ID of effect widget type
updating
bool Marks widgets for 'PlayerBase.EOnFrame' updating
user_id_override
int UserID of a widget to be used instead (allows multiple types to use single widget)
NoteAll child widgets MUST be of the same type if special functionality is required (ImageWidget etc.)
InitWidgetSet(EffectWidgetsTypes.MASK_BREATH,true,BREATH);
Referenced by InitWidgetSets()
bool CreateHandledClass(typename handled_type, array<ref Widget> input, int type, int user_override)
Referenced by InitWidgetSet()
array<int> CompileEffectListing()

returns all vanilla effects, nested in a vanilla layout. If using different layouts for custom effects, please register and link separately

References array.Insert()
Referenced by InitLayouts()
override void AddActiveEffects(array<int> effects)
override void RemoveActiveEffects(array<int> effects)
override bool IsAnyEffectRunning()
Referenced by StopAllEffects()
override void AddSuspendRequest(int request_id)
override void RemoveSuspendRequest(int request_id)
References set.Find(), set.Remove(), UpdateVisibility()
Show 1 more, m_SuspendRequests
override void ClearSuspendRequests()
override int GetSuspendRequestCount()
protected void CalculateValues(int type = -1, float timeSlice = 0, Param p = null, int handle = -1)

Only one calculation per unique WidgetSet

Referenced by UpdateWidgets()
protected void ProcessWidgetUpdate(Widget w, int type, float timeSlice = 0, Param p = null, int handle = -1)
Referenced by UpdateWidgets()
protected void CalculateBreathEffect(float timeSlice = 0, int type = -1, Param p = null)
Referenced by CalculateValues()
protected void UpdateBreathEffect(ImageWidget w)
Referenced by ProcessWidgetUpdate()
protected void CalculateOccluderEffect(int type, float timeSlice, Param p, int handle)
Referenced by CalculateValues()
protected void UpdateOccluderEffect(ImageWidget w, int type, float timeSlice, Param p, int handle)
Referenced by ProcessWidgetUpdate()
protected void CalculateFlashbangEffect(int type, float timeSlice, Param p, int handle)
Referenced by CalculateValues()
protected void UpdateFlashbangEffect(ImageWidget w)
Referenced by ProcessWidgetUpdate()
protected void HandleWidgetRoot(float timeSlice = 0, Param p = null, int handle = -1)
References Class.Cast(), Math.Clamp(), Widget.SetAlpha()
Show 2 more, m_Root, and Param1.param1
Referenced by UpdateWidgets()
override void Update(float timeSlice)

Generic update, called on frame from the player

override void OnVoiceEvent(float breathing_resistance01)