- Edited
I can't figure out why the timer node won't start
I can't figure out why the timer node won't start
Probably because Game.opoints in not greater or equal than 5
Try to put a print statement into that if block to see if it gets executed at all.
Key I have done that, it is executing
Did you also put a print statement inside _on_Timer_timeout() ?
One potential problem is you're starting Timer too frequently. _physics_process() runs 60 times per second. If Game.opoints reaches 5 and remains >= 5, then you're starting Timer 60 times per second. If Timer's wait_time is greater than 1/60 of a second, Timer will be restarted before it can timeout.
That problem could be prevented by checking that Timer.time_left <= 0.0 before starting it.
I use a different method for spawning enemies. In _ready(), I start a Timer that has wait_time = 1.0 and one_shot = false, so that it repeats once per second. In its timeout handler, I check other conditions to determine whether to spawn an enemy or do nothing.