Interview Manager ![code/modules/interview/interview_manager.dm 9](git.png)
Handles all interviews in the duration of a round, includes the primary functionality for handling the interview queue.
Vars | |
approved_ckeys | Ckeys which are allowed to bypass the time-based allowlist |
---|---|
closed_interviews | All closed interviews |
cooldown_ckeys | Ckeys which are currently in the cooldown system, they will be unable to create new interviews |
interview_queue | The queue of interviews to be processed (submitted interviews) |
open_interviews | The interviews that are currently "open", those that are not submitted as well as those that are waiting review |
Procs | |
client_login | Used in the new client pipeline to catch when clients are reconnecting and need to have their reference re-assigned to the 'owner' variable of an interview |
client_logout | Used in the destroy client pipeline to catch when clients are disconnecting and need to have their reference nulled on the 'owner' variable of an interview |
close_interview | Closes an interview, removing it from the queued interviews as well as adding it to the closed interviews list. |
dequeue | Dequeues the first interview from the interview queue, and updates the queue positions of any relevant interviews that follow it. |
dequeue_specific | Dequeues an interview from the interview queue if present, and updates the queue positions of any relevant interviews that follow it. |
interview_by_id | Attempts to return an interview for a provided ID, will return null if no matching interview is found |
interview_for_client | Attempts to return an interview for a given client, using an existing interview if found, otherwise a new interview is created; if the user is on cooldown then it will return null. |
release_from_cooldown | Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied. |
Var Details
approved_ckeys ![code/modules/interview/interview_manager.dm 17](git.png)
Ckeys which are allowed to bypass the time-based allowlist
closed_interviews ![code/modules/interview/interview_manager.dm 15](git.png)
All closed interviews
cooldown_ckeys ![code/modules/interview/interview_manager.dm 19](git.png)
Ckeys which are currently in the cooldown system, they will be unable to create new interviews
interview_queue ![code/modules/interview/interview_manager.dm 13](git.png)
The queue of interviews to be processed (submitted interviews)
open_interviews ![code/modules/interview/interview_manager.dm 11](git.png)
The interviews that are currently "open", those that are not submitted as well as those that are waiting review
Proc Details
client_login
Used in the new client pipeline to catch when clients are reconnecting and need to have their reference re-assigned to the 'owner' variable of an interview
Arguments:
- C - The client who is logging in
client_logout
Used in the destroy client pipeline to catch when clients are disconnecting and need to have their reference nulled on the 'owner' variable of an interview
Arguments:
- C - The client who is logging out
close_interview
Closes an interview, removing it from the queued interviews as well as adding it to the closed interviews list.
Arguments:
- to_close - The interview to dequeue
dequeue
Dequeues the first interview from the interview queue, and updates the queue positions of any relevant interviews that follow it.
dequeue_specific
Dequeues an interview from the interview queue if present, and updates the queue positions of any relevant interviews that follow it.
Arguments:
- to_dequeue - The interview to dequeue
interview_by_id
Attempts to return an interview for a provided ID, will return null if no matching interview is found
Arguments:
- id - The ID of the interview to find
interview_for_client
Attempts to return an interview for a given client, using an existing interview if found, otherwise a new interview is created; if the user is on cooldown then it will return null.
Arguments:
- C - The client to get the interview for
release_from_cooldown
Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied.
Arguments:
- ckey - The ckey to remove from the cooldown list