Timer
A countdown timer.
Timer.swift:31class Timer
The Timer
node is a countdown timer and is the simplest way to handle time-based logic in the engine. When a timer reaches the end of its waitTime
, it will emit the [signal timeout] signal.
After a timer enters the tree, it can be manually started with start(timeSec:)
. A timer node is also started automatically if autostart
is true
.
Without requiring much code, a timer node can be added and configured in the editor. The [signal timeout] signal it emits can also be connected through the Node dock in the editor:
This object emits the following signals:
Superclasses
class Node
Base class for all scene objects.
Citizens in SwiftGodot
Conformances
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Equatable
A type that can be compared for value equality.
protocol Hashable
A type that can be hashed into a
Hasher
to produce an integer hash value.protocol Identifiable<ID>
A class of types whose instances hold the value of an entity with stable identity.
protocol VariantRepresentable
Types that conform to VariantRepresentable can be stored directly in
Variant
with no conversion. These include all of the Variant types from Godot (for exampleGString
,Rect
,Plane
), Godot objects (those that subclass SwiftGodot.Object) as well as the built-in Swift types UInt8, Int64 and Double.protocol VariantStorable
Types that conform to VariantStorable can be stored in a Variant and can be extracted back out of a Variant.
Types
Type members
Instance members
var autostart: Bool
If
true
, the timer will start immediately when it enters the scene tree.var oneShot: Bool
If
true
, the timer will stop after reaching the end. Otherwise, as by default, the timer will automatically restart.var paused: Bool
If
true
, the timer is paused. A paused timer does not process until this property is set back tofalse
, even whenstart(timeSec:)
is called.var processCallback: Timer.TimerProcessCallback
Specifies when the timer is updated during the main loop (see
TimerProcessCallback
).var timeLeft: Double
The timer’s remaining time in seconds. This is always
0
if the timer is stopped.var timeout: SimpleSignal
Emitted when the timer reaches the end.
var waitTime: Double
The time required for the timer to end, in seconds. This property can also be set every time
start(timeSec:)
is called.func isStopped(
) -> Bool Returns
true
if the timer is stopped or has not started.func start(timeSec: Double
) Starts the timer, if it was not started already. Fails if the timer is not inside the tree. If
timeSec
is greater than0
, this value is used for thewaitTime
.func stop(
) Stops the timer.