You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
845 B

extends MajorityJudgmentAbstractJudgmentsProvider
class_name MajorityJudgmentChatCommandJudgmentsProvider
# Command examples
# ----------------
#
# A0 B2 c0 D1
#
func process_chat_command(author_identifier:String, chat_command:String):
var candidate_index := 0
var grade_index := 0
var regex = RegEx.new()
regex.compile("(?<candidate>[a-zA-Z]{1})(?<grade>[0-9]{1})")
var results = regex.search_all(chat_command)
if results:
for result in results:
var candidate_string : String = result.get_string('candidate')
var grade_string : String = result.get_string('grade')
grade_index = str2var(grade_string)
candidate_string = candidate_string.to_upper()
candidate_index = ord(candidate_string) - ord("A")
emit_signal(
"judgment_emitted",
author_identifier,
candidate_index,
grade_index
)