Cogito, ergo sum
Difference between revisions of "Timing"
Line 36: | Line 36: | ||
Clears a previously set timer. | Clears a previously set timer. | ||
* <code>inTimerFunc</code> - function name. | * <code>inTimerFunc</code> - function name. | ||
− | * <code>inObj</code> - object whose function will called.. | + | * <code>inObj</code> - object whose function will be called. |
+ | |||
+ | === ClearAllTimers === | ||
+ | <uscript> | ||
+ | native final function ClearAllTimers( | ||
+ | optional Object inObj | ||
+ | );</uscript> | ||
+ | * <code>inObj</code> - object whose function will be called. | ||
+ | |||
+ | === PauseTimer === | ||
+ | <uscript> | ||
+ | native final function PauseTimer( | ||
+ | bool bPause, | ||
+ | optional Name inTimerFunc='Timer', | ||
+ | optional Object inObj | ||
+ | );</uscript> | ||
+ | * <code>param</code> | ||
+ | * <code>inTimerFunc</code> - function name. | ||
+ | * <code>inObj</code> - object whose function will be called. | ||
=== IsTimerActive === | === IsTimerActive === | ||
Line 47: | Line 65: | ||
Checks is specified timer is active. | Checks is specified timer is active. | ||
* <code>inTimerFunc</code> - function name. | * <code>inTimerFunc</code> - function name. | ||
− | * <code>inObj</code> - object whose function will called | + | * <code>inObj</code> - object whose function will be called. |
=== GetTimerCount === | === GetTimerCount === | ||
Line 59: | Line 77: | ||
Returns -1.f if the timer is not currently active. See <code>GetTimerRate</code> below for explanation. | Returns -1.f if the timer is not currently active. See <code>GetTimerRate</code> below for explanation. | ||
* <code>inTimerFunc</code> - function name. | * <code>inTimerFunc</code> - function name. | ||
− | * <code>inObj</code> - object whose function will called | + | * <code>inObj</code> - object whose function will be called. |
=== GetTimerRate === | === GetTimerRate === | ||
Line 72: | Line 90: | ||
In other words, "count" starts at 0, increases, and when it reaches "rate", timer is fired. | In other words, "count" starts at 0, increases, and when it reaches "rate", timer is fired. | ||
* <code>inTimerFunc</code> - function name. | * <code>inTimerFunc</code> - function name. | ||
− | * <code>inObj</code> - | + | * <code>inObj</code> - object whose function will be called. |
+ | |||
+ | === ModifyTimerTimeDilation === | ||
+ | <uscript> | ||
+ | native final function ModifyTimerTimeDilation( | ||
+ | const name TimerName, | ||
+ | const float InTimerTimeDilation, | ||
+ | optional Object inObj | ||
+ | );</uscript> | ||
+ | This will search the Timers on this actor and set the passed in TimerTimeDilation | ||
+ | * <code>inTimerFunc</code> - function name. | ||
+ | * <code>InTimerTimeDilation</code> new time dilation for this timer function. | ||
+ | * <code>inObj</code> - object whose function will be called. | ||
+ | |||
+ | === ResetTimerTimeDilation === | ||
+ | <uscript> | ||
+ | native final function ResetTimerTimeDilation( | ||
+ | const name TimerName, | ||
+ | optional Object inObj | ||
+ | );</uscript> | ||
+ | This will search the Timers on this actor and reset the TimerTimeDilation to 1.0f | ||
+ | * <code>inTimerFunc</code> - function name. | ||
+ | * <code>inObj</code> - object whose function will be called. | ||
== How to make seconds real == | == How to make seconds real == |
Revision as of 11:56, 31 August 2011
This article is a stub. You can help Unreal Wiki by expanding it. |
Timing is a family of functions using which you can schedule other functions to be called asynchronously at a interval. Only SetTimer
exists in UT2004. Like in JavaScript, despite asynchronous nature of SetTimer, UnrealScript is still single-threaded. It means that you don't have to worry about thread-safety. Race conditions are still possible though.
Contents
Functions
SetTimer
native final function SetTimer( float inRate, optional bool inbLoop, // not optional in UT2004 optional Name inTimerFunc='Timer', // doesn't exist in UT2004 optional Object inObj // doesn't exist in UT2004 );
Sets a timer to call the given function at a set interval. Defaults to calling the 'Timer' event if no function is specified. If inRate is set to 0.f it will effectively disable the previous timer.
inRate
- time interval, in gameplay seconds. IfinRate <= 0.0
, it'll reset the timer.inbLoop
- if false, it'll fire only once. Default to false.inTimerFunc
- function name.inObj
- object whose function will called. Defaults toself
. Note that timer is still registered onself
object, not oninObj
. Which means, for instance, it's pointless to write something likeSetTimer(1.0,,, OtherObj); Destroy();
ClearTimer
native final function ClearTimer( optional Name inTimerFunc='Timer', optional Object inObj );
Clears a previously set timer.
inTimerFunc
- function name.inObj
- object whose function will be called.
ClearAllTimers
native final function ClearAllTimers( optional Object inObj );
inObj
- object whose function will be called.
PauseTimer
native final function PauseTimer( bool bPause, optional Name inTimerFunc='Timer', optional Object inObj );
param
inTimerFunc
- function name.inObj
- object whose function will be called.
IsTimerActive
native final function bool IsTimerActive( optional Name inTimerFunc='Timer', optional Object inObj );
Checks is specified timer is active.
inTimerFunc
- function name.inObj
- object whose function will be called.
GetTimerCount
native final function float GetTimerCount( optional Name inTimerFunc='Timer', optional Object inObj );
Gets the current count for the specified timer, defaults to 'Timer' if no function is specified. Returns -1.f if the timer is not currently active. See GetTimerRate
below for explanation.
inTimerFunc
- function name.inObj
- object whose function will be called.
GetTimerRate
native final function float GetTimerRate( optional name TimerFuncName = 'Timer', optional Object inObj );
Gets the current rate for the specified timer. GetTimerRate('SomeTimer') - GetTimerCount('SomeTimer')
is the time remaining before 'SomeTimer' is called. In other words, "count" starts at 0, increases, and when it reaches "rate", timer is fired.
inTimerFunc
- function name.inObj
- object whose function will be called.
ModifyTimerTimeDilation
native final function ModifyTimerTimeDilation( const name TimerName, const float InTimerTimeDilation, optional Object inObj );
This will search the Timers on this actor and set the passed in TimerTimeDilation
inTimerFunc
- function name.InTimerTimeDilation
new time dilation for this timer function.inObj
- object whose function will be called.
ResetTimerTimeDilation
native final function ResetTimerTimeDilation( const name TimerName, optional Object inObj );
This will search the Timers on this actor and reset the TimerTimeDilation to 1.0f
inTimerFunc
- function name.inObj
- object whose function will be called.
How to make seconds real
Multiply rate by WorldInfo.TimeDilation
. Of course, this method isn't absolutely reliable, as TimeDilation may change before timer fires.