mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
28 lines
1.1 KiB
Plaintext
28 lines
1.1 KiB
Plaintext
/**
|
|
* testSlowProcess
|
|
* This process is an example of a simple update loop process that is slow.
|
|
* The update loop here sleeps inside to provide an example, but if you had
|
|
* a computationally intensive loop process that is simply slow, you can use
|
|
* scheck() inside the loop to force it to yield periodically according to
|
|
* the sleep_interval var. By default, scheck will cause a loop to sleep every
|
|
* 2 ticks.
|
|
*/
|
|
|
|
/datum/controller/process/testSlowProcess/setup()
|
|
name = "Slow Process"
|
|
schedule_interval = 30 // every 3 seconds
|
|
|
|
/datum/controller/process/testSlowProcess/doWork()
|
|
// set background = 1 will cause loop constructs to sleep periodically,
|
|
// whenever the BYOND scheduler deems it productive to do so.
|
|
// This behavior is not always sufficient, nor is it always consistent.
|
|
// Rather than leaving it up to the BYOND scheduler, we can control it
|
|
// ourselves and leave nothing to the black box.
|
|
set background = 1
|
|
|
|
for(var/i=1,i<30,i++)
|
|
// Just to pretend we're doing something here
|
|
sleep(rand(3, 5))
|
|
|
|
// Forces this loop to yield(sleep) periodically.
|
|
scheck() |