class CallQueueSource
Part of Tools
All members, including inherited
CallQueue Class provide "lazy" calls - when we don't want to execute function immediately but later during frame update (used mainly in UI)
usage:
g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(this, "Refresh"); // calls "Refresh" function on "this" with no arguments
g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(this, "Show", new Param1<bool>(true)); // calls "Show" function on "this" with one bool argument
g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(this, "SetPos", new Param2<float, float>(0.2, 0.5)); // calls "SetPos" function on "this" with two float argumentsConstructors 1
void CallQueue()References m_processing
Members 1
private bool m_processingMethods 3
void Tick()System function, don't call it
References CallQueueContext.Call(), array.Count(), array.Get()
Show 3 more
, CallQueueContext.IsValid(), array.Remove(), and m_processingCreates new call request, add it on queue and execute during frame update (depends on call category)
obj- target object on which function will be executed
fn_name- name of function (on object "obj") which will be executed
params- function arguments see Param for usage, default NULL (no arguments)
WarningWhen object "obj" is deleted prior call execution, don't forget to remove calls for this object with RemoveCalls
void RemoveCalls(Class obj)Removes all queued calls for object (call this function when object is going to be deleted)
obj- object for which you want remove all "lazy" calls
References array.Count(), array.Get(), CallQueueContext.Invalidate()