Skip to content

Commit 18fbfd6

Browse files
Implemented set_time_left in Timer node. If new time_left is bigger than wait_time, sets wait_time value
1 parent 88b9932 commit 18fbfd6

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

scene/main/timer.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ double Timer::get_time_left() const {
158158
return time_left > 0 ? time_left : 0;
159159
}
160160

161+
void Timer::set_time_left(double p_time_left) {
162+
time_left = p_time_left > wait_time ? wait_time : p_time_left;
163+
}
164+
161165
void Timer::set_timer_process_callback(TimerProcessCallback p_callback) {
162166
if (timer_process_callback == p_callback) {
163167
return;
@@ -228,6 +232,7 @@ void Timer::_bind_methods() {
228232
ClassDB::bind_method(D_METHOD("is_stopped"), &Timer::is_stopped);
229233

230234
ClassDB::bind_method(D_METHOD("get_time_left"), &Timer::get_time_left);
235+
ClassDB::bind_method(D_METHOD("set_time_left"), &Timer::set_time_left);
231236

232237
ClassDB::bind_method(D_METHOD("set_timer_process_callback", "callback"), &Timer::set_timer_process_callback);
233238
ClassDB::bind_method(D_METHOD("get_timer_process_callback"), &Timer::get_timer_process_callback);
@@ -240,7 +245,7 @@ void Timer::_bind_methods() {
240245
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "autostart"), "set_autostart", "has_autostart");
241246
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "paused", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "set_paused", "is_paused");
242247
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "ignore_time_scale"), "set_ignore_time_scale", "is_ignoring_time_scale");
243-
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "time_left", PROPERTY_HINT_NONE, "suffix:s", PROPERTY_USAGE_NONE), "", "get_time_left");
248+
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "time_left", PROPERTY_HINT_NONE, "suffix:s", PROPERTY_USAGE_NONE), "set_time_left", "get_time_left");
244249

245250
BIND_ENUM_CONSTANT(TIMER_PROCESS_PHYSICS);
246251
BIND_ENUM_CONSTANT(TIMER_PROCESS_IDLE);

scene/main/timer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ class Timer : public Node {
7575
bool is_stopped() const;
7676

7777
double get_time_left() const;
78+
void set_time_left(double p_time_left);
7879

7980
PackedStringArray get_configuration_warnings() const override;
8081

0 commit comments

Comments
 (0)